DCGs问题转换为标准Prolog子句

时间:2018-11-04 20:51:26

标签: prolog dcg

如何将Prolog DCG转换为标准Prolog子句:

nombres(nom(N),Number,Genero,Traduccion)-->
    [N],
    {
        atom_codes(N, NombreEntero),
        append(Nombre, Terminacion, NombreEntero),
        atom_codes(Nom, Nombre),
        es_nombre(Nom, Genero, Traduc),
        atom_codes(Ter, Terminacion),
        end_name(Ter, Number),
        atom_codes(Traduc, TRaux),
        atom_codes(Ter, TEaux),
        append(TRaux, TEaux, Tra),
        atom_codes(Traduccion, Tra)
    }.

我目前所拥有的是:

nombres(N,Number,Genero,Input,Traduccion):-
    'C'(Input,N,Traduccion),
    atom_codes(N, NombreEntero),
    append(Nombre, Terminacion, NombreEntero),
    atom_codes(Nom, Nombre),
    es_nombre(Nom, Genero, Traduc),
    atom_codes(Ter, Terminacion),
    end_name(Ter, Number),
    atom_codes(Traduc, TRaux),
    atom_codes(Ter, TEaux),
    append(TRaux, TEaux, Tra),
    atom_codes(Traduccion, Tra).

我知道翻译是可能的,但是通过我看过的例子,我无法理解翻译的概念。

0 个答案:

没有答案