[antlr-interest] A bug at C# DLLs?
Rodrigo C. L.
tapetedepadaria at gmail.com
Tue Nov 18 05:27:13 PST 2008
Tried that too.
The error is not at definition. I made this simple grammar:
grammar Test;
options {
language=CSharp2;
output=AST;
ASTLabelType=CommonTree;
}
phrase : WORD ( ',' WORD ) -> ^( ',' WORD+ ) ;
WORD : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* ;
WS : ( '\t' | ' ' | '\r' | '\n' | '\u000C' )+ { $channel=HIDDEN; } ;
and the very same error persists at WORD.
Doesn't it happen with anyone else?
I'll try with some older release..
-- Rodrigo C. Lopes
-- Também em r.cerqueira.lopes at gmail.com
2008/11/18 Gavin Lambert <antlr at mirality.co.nz>:
> At 09:08 18/11/2008, Rodrigo C. L. wrote:
>>compilation : specification EOF! ;
>>specification : ( definition )* -> ^( SPECIFICATION definition* );
>>definition : module ';' ;
>>module : 'module' ID '{' specification '}' -> ^(MODULE ID
>>specification) ;
> [...]
>>Antlr.Runtime.Tree.RewriteEmptyStreamException{"token ID"},
>>
>>which is odd, because ID should be 'etal'.
>>
>>I changed the rule module using operators and got
>>NullReferenceException, for the same reason.
>
> I'm not sure why the error message mentions ID, but I suspect the problem is
> actually with the 'definition' rule. It's the only rule in the group that
> doesn't contain any tree construction at all (neither rewrite expressions
> nor tree operators).
>
> I've never been entirely sure what ANTLR does with rules that don't define
> tree construction, but I seem to recall it causing problems at some point.
> So try:
>
> definition : module ';'! ;
>
>
More information about the antlr-interest
mailing list