[antlr-interest] cant find tokenRefBangTrack
Terence Parr
parrt at cs.usfca.edu
Mon Feb 18 12:21:59 PST 2008
latest build emits a better error message I believe.
Ter
On Feb 18, 2008, at 11:16 AM, Brent Yates wrote:
> I have seen this before when mixing rewrite and !^ styles. I
> believe that if you remove the !'s it will work fine. Also, it may
> be a little clearer if you write the rule like this (unverified):
>
> if_stmt : (IF LPAREN cond=expr RPAREN stmt=statement -> ^(IF
> $cond $stmt) )
> (ELSE elsestmt = statement -> ^( IFELSE $cond
> $stmt $elsestmt ) )?
> ;
>
> Brent Yates
>
> On Feb 18, 2008 1:49 PM, Ian Moor <iwm at doc.ic.ac.uk> wrote:
> I am constructing a grammar for a very small subset of C and
> the section for the if statement, which is similar to the example in
> the book
> generates an internal error :
>
> error(10): internal error: Pico.g :
> java.lang.IllegalArgumentException: Can't find template
> tokenRefBangTrack.st
>
> the code is
> if_stmt : IF LPAREN! cond=expr RPAREN! stmt=statement
> ( ( (ELSE) => ELSE) elsestmt = statement ->
> ^( IFELSE $cond $stmt $elsestmt )
> | /* empty no else */ ->
> ^( IF $cond $stmt )
>
> ) ;
>
> Without the rewrite rules the grammar compiles.
> Is there another way to do this ?
> Ian W Moor Department of Computing,
> iwm at doc.ic.ac.uk Imperial College.
> 180 Queensgate
> London SW7 2AZ UK.
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080218/04304073/attachment.html
More information about the antlr-interest
mailing list