[antlr-interest] Geting all tokens from lexer / token stream
Lars von Wedel
lars.vonwedel at gmail.com
Wed May 11 12:30:59 PDT 2011
Hi again,
I came up with this now which made my tests happy:
do
{
tokens.Consume();
} while (tokens.LastToken.Type != MyLexer.EOF);
Afterwards I can go forward with tokens.GetTokens(). Is that how it is
supposed to be used ?
Lars
On Wed, May 11, 2011 at 3:22 PM, Lars von Wedel <lars.vonwedel at gmail.com>wrote:
> Thanks for the answer. However, calling GetTokens() yields an empty list
> for me. This is my code (C#):
>
> var inputStream = new ANTLRStringStream(input);
> var lexer = new MyLexer(inputStream);
> var tokens = new CommonTokenStream(lexer,
> BaseRecognizer.DefaultTokenChannel);
>
> foreach (var token in tokens.GetTokens())
> {
> System.Console.WriteLine(token);
> }
>
> Interestingly, it works, if I inspect the token stream variable in the VS
> debugger.
>
> Lars
>
>
> On Wed, May 11, 2011 at 3:03 PM, Bart Kiers <bkiers at gmail.com> wrote:
>
>> CommonTokenStream inherits getTokens() which returns a List of Tokens.
>> You'll need to cast them to a Token (or something that extends a Token),
>> since it's a non-generics List list:
>>
>> CommonTokenStream tokens = new CommonTokenStream(lexer);
>> for(Object o : tokens.getTokens()) {
>> Token t = (Token)o;
>> System.out.println(t);
>> }
>>
>>
>> Regards,
>>
>> Bart.
>>
>> On Wed, May 11, 2011 at 1:40 PM, Lars von Wedel <lars.vonwedel at gmail.com>wrote:
>>
>>> Hello,
>>>
>>> I am writing an interactive interpreter and I would like to obtain all
>>> tokens from a lexer of token stream to test, whether the input is
>>> complete
>>> or continued on the next line.
>>>
>>> What is the easiest approach to do this ? I tried a CommonTokenStream but
>>> I
>>> am not sure how to tell it to pull all tokens from the lexer.
>>>
>>> Thanks and Regards,
>>> Lars
>>>
>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>>> Unsubscribe:
>>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>>
>>
>>
>
More information about the antlr-interest
mailing list