Hi,
Productions NumberList and WordList have the same begining. In the version of grammatica I use it was a problem, I don't know if it is already solved. Try to add one common production for those two, something like this:
Result = List;
List = "{" [IDENT ":"] ( WordList | NumberList); // Or just Result = ...
NumberList = NUMBER ("," NUMBER)+ "}";
WordList = Sentence "}";
I can't check it right now, but I hope it works
Regards,
Leszek Doniec
I have been using the development version of grammatica (1.5 alpha 2) and it looks to me like there is a bug in the parser generation.
The attached grammar should do as a test case, by passing to it :
{start a b c}
i get:
net.percederberg.grammatica.parser.ParserLogException: unexpected token "b" <IDENT>, expected "}", on line 1 column: 10
at net.percederberg.grammatica.parser.Parser.reset
(Parser.java:271)
at net.percederberg.grammatica.parser.Parser.parse(Parser.java:303)
...
A workaround for this simple case is to eliminate the Sentence production by inlining it.
Unfortunately I have a grammar file that is much bigger where it is difficult to use such a workaround
without increasing the complexity.
Regards,
Vilmundur Palmason