[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