xref: /aosp_15_r20/external/antlr/runtime/Cpp/tests/t044trace.g (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robotgrammar t044trace;
2*16467b97STreehugger Robotoptions {
3*16467b97STreehugger Robot  language =Cpp;
4*16467b97STreehugger Robot}
5*16467b97STreehugger Robot
6*16467b97STreehugger Robot@lexer::includes
7*16467b97STreehugger Robot{
8*16467b97STreehugger Robot#include "UserTestTraits.hpp"
9*16467b97STreehugger Robot}
10*16467b97STreehugger Robot@lexer::namespace
11*16467b97STreehugger Robot{ Antlr3Test }
12*16467b97STreehugger Robot
13*16467b97STreehugger Robot@parser::includes {
14*16467b97STreehugger Robot#include "UserTestTraits.hpp"
15*16467b97STreehugger Robot}
16*16467b97STreehugger Robot@parser::namespace
17*16467b97STreehugger Robot{ Antlr3Test }
18*16467b97STreehugger Robot
19*16467b97STreehugger Robot@init {
20*16467b97STreehugger Robot    self._stack = None
21*16467b97STreehugger Robot}
22*16467b97STreehugger Robot
23*16467b97STreehugger Robota: '<' ((INT '+')=>b|c) '>';
24*16467b97STreehugger Robotb: c ('+' c)*;
25*16467b97STreehugger Robotc: INT
26*16467b97STreehugger Robot    {
27*16467b97STreehugger Robot        if self._stack is None:
28*16467b97STreehugger Robot            self._stack = self.getRuleInvocationStack()
29*16467b97STreehugger Robot    }
30*16467b97STreehugger Robot    ;
31*16467b97STreehugger Robot
32*16467b97STreehugger RobotINT: ('0'..'9')+;
33*16467b97STreehugger RobotWS: (' ' | '\n' | '\t')+ {$channel = HIDDEN;};
34