任何人都可以帮助我生成简单类定义的prolog语法。 这是我写的一个示例dcg规则。
:- use_module(library(pio)).
%classrule(Z) -->class,letter(X),letters(L),{name(Z,[X|L])}.
classrule(Z) -->"class ",classname(X),"{",{name(Z,X)}.
classname([X|L])-->letter(X),letters(L).
letters([X|L])-->letter(X),!,letters(L).
class-->"class".
letters([])-->[].
letter(X)-->[X], {alpha(X)}.
alpha(X) :- X > 64, X < 91.
alpha(X) :- X > 96, X < 123.
输入:
class component {
attributes
Real V, I, R;
constraints
V = I * R;
constructors component(V1, I1, R1) {
V = V1; I = I1; R = R1;
}
}
&#13;