извлечь определение класса из файла, используя dcg в прологе

Может ли кто-нибудь помочь мне создать грамматику пролога простого определения класса. Это пример правила 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;
        }
} 


person user3816019    schedule 26.03.2015    source источник
comment
Чем этот вопрос отличается от недавнего вопроса, который вы размещено в SO?   -  person Wouter Beek    schedule 26.03.2015
comment
@WouterBeek дал отличный ответ на этот вопрос в предоставленной им ссылке. Что с этим не так? У вас есть дополнительные проблемы? Если да, то нужно четко спросить.   -  person lurker    schedule 26.03.2015