aboutsummaryrefslogtreecommitdiff
path: root/runtime/Perl5/examples/zero-one/t-error.pl
blob: 818b3c38c2d34182b198f4195c2735531aecc3d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/perl

use blib;

use English qw( -no_match_vars );
use ANTLR::Runtime::ANTLRStringStream;
use TLexer;

use strict;
use warnings;

my $input = ANTLR::Runtime::ANTLRStringStream->new({ '01X0' });
my $lexer = TLexer->new($input);

while (1) {
    my $token = eval { $lexer->next_token(); };
    if ($EVAL_ERROR) {
        my $exception = $EVAL_ERROR;
        print $exception;
        next;
    }
    last if $token->get_type() == $TLexer::EOF;

    print "type: ", $token->get_type(), "\n";
    print "text: ", $token->get_text(), "\n";
    print "\n";
}