diff options
Diffstat (limited to 'runtime/Perl5/examples/id/id.pl')
-rw-r--r-- | runtime/Perl5/examples/id/id.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/runtime/Perl5/examples/id/id.pl b/runtime/Perl5/examples/id/id.pl new file mode 100644 index 0000000..a31deb4 --- /dev/null +++ b/runtime/Perl5/examples/id/id.pl @@ -0,0 +1,25 @@ +#!/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"; +} |