[antlr-interest] How to read line/col from testLiteralsTable() ?
    Daniel Zuberbuehler 
    dzubi at users.sourceforge.net
       
    Mon Oct  3 13:38:36 PDT 2005
    
    
  
Hi Alexey
> You can try other solutions:
> 1. Lexer takes line/column from input state. Unfortunately,
> LexerSharedInputState doesn't have observers for these fields.
> But you can make your own subclass of LexerSharedInputState
> and pass it to Lexer in constructor.
I didn't realized that I could set my own LexerSharedInputState. This surely 
is the cleanest solution for my problem
> 2. If you know tokens where literals are tested,
> you can set testLiterals = false and make token action
> where inputState field are accessed:
>
> ID :
>   ( LETTER | UNDERSCORE )
>   ( LETTER | UNDERSCORE | DIGIT )*
>   {
>
>     int line = inputState.line;
>     int column = inputState.column;
>     _ttype = testLiteralsTable( _ttype );
>   }
> ;
>
Wow, you're great! You just showed me the solution for another problem I had!
Thanks a lot for your help!
Cheers, Daniel
    
    
More information about the antlr-interest
mailing list