[antlr-interest] Re: Getting correct line information

mzukowski at bco.com mzukowski at bco.com
Wed Feb 13 08:48:15 PST 2002



> -----Original Message-----
> From: braden_mcdaniel [mailto:braden at endoframe.com]
> Sent: Wednesday, February 13, 2002 8:42 AM
> To: antlr-interest at yahoogroups.com
> Subject: [antlr-interest] Re: Getting correct line information
> 
> 
> --- In antlr-interest at y..., mzukowski at b... wrote:
> > Sounds like you need to tweak your scanner so that when it creates
> > Tokens it fills in the line info properly.
> 
> Actually, I am doing that. I instantiate a CommonToken and call
> setLine on it. I have used CommonToken::getLine inside the scanner to
> confirm that the value in the Token is correct. This value doesn't
> appear to have any effect on the line number returned in parser error
> messages.

Then something is wrong with the reportError() method either in your parser
or inherited by it.

> > If you use an ANTLR scanner then you simply need to call newline()
> > whenever you want to increment the line count.
> 
> Meaning I could derive from CharScanner and just override nextToken as
> I do now, but call newline instead of (in addition to?) setting
> this information directly on the Token?

No, that won't behave any differently.  I had assumed that the Token's
getLine() wasn't working properly, which should be how the parser gets it's
line number to report.  But if you are doing that part right then maybe it's
a bug in the code generator or base classes.  Fire up a debugger and find
out.

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



More information about the antlr-interest mailing list