如何将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).
我知道翻译是可能的,但是通过我看过的例子,我无法理解翻译的概念。