[antlr-interest] How to read line/col from testLiteralsTable() ?
dzubi at users.sourceforge.net
Mon Oct 3 04:24:53 PDT 2005
too bad I've got no feedback for my problem. However I've found a solution, I
just call super.makeToken() myself and query the instantiated token for it's
line/column values. I belief this should have no sideeffects, but it seems
not very elegant to me to instantiate a token just to access the line/col
values. So if anyone knows a direct way to access these values, I'd
appreciate to hear from you.
On Friday 30 September 2005 23:21, Daniel Zuberbuehler wrote:
> I want to call a method every time the lexer matches a token in the literal
> table. So I override the testLiteralsTable() method. I first call
> super.testLiteralsTable() and check, if it was a match. If so, I call my
> But for that method call, I need the line and col value of the keyword.
> Unfourtunately I see in the source of the generated lexer that makeToken()
> is called after testLiteralsTable(), so I can't query the token for those
> values. I also can't read the tokenStartColumn/tokenStartLine fields of the
> inputstate, as those are protected, and the CharScanner offers no methods
> to access those fields.
> Is there any way to get those values? Or do you see a better approach?
> Thanks and cheers,
> Daniel Zuberbühler
More information about the antlr-interest