Predicados semânticos
Exemplo 1
grammar Seq;
all: sequence* EOF;
sequence: INT number;
numbers: INT*;
INT: [0-9]+;
WS: [ \t\r\n]+ -> skip;
Exemplo 2

Last updated
grammar Seq;
all: sequence* EOF;
sequence: INT number;
numbers: INT*;
INT: [0-9]+;
WS: [ \t\r\n]+ -> skip;

Last updated
grammar Seq;
all: sequence* EOF;
sequence
@init { System.out.print("("); }
@after { System.out.println(")"); }
: INT numbers[$INT.int];
numbers[int count] locals [int c = 0]
: ( {$c < $count}? INT
{$c++, System.out.print(($c == 1 ? "" : " ")+$INT.text):}
)* ;
INT: [0-9]+;
WS: [ \t\r\n]+ -> skip;