26 lines
685 B
Perl
26 lines
685 B
Perl
#!/usr/bin/perl
|
|
|
|
use blib;
|
|
|
|
use English qw( -no_match_vars );
|
|
use ANTLR::Runtime::ANTLRStringStream;
|
|
use IDLexer;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
my $input = ANTLR::Runtime::ANTLRStringStream->new({ input => "Hello World!\n42\n" });
|
|
my $lexer = IDLexer->new({ input => $input });
|
|
|
|
while (1) {
|
|
my $token = $lexer->next_token();
|
|
last if $token->get_type() == IDLexer->EOF;
|
|
|
|
print "text: ", $token->get_text(), "\n";
|
|
print "type: ", $token->get_type(), "\n";
|
|
print "pos: ", $token->get_line(), ':', $token->get_char_position_in_line(), "\n";
|
|
print "channel: ", $token->get_channel(), "\n";
|
|
print "token index: ", $token->get_token_index(), "\n";
|
|
print "\n";
|
|
}
|