xref: /aosp_15_r20/external/antlr/runtime/Perl5/README (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger RobotANTLR::Runtime
2*16467b97STreehugger Robot
3*16467b97STreehugger RobotThis is the Perl 5 runtime for ANTLR.  It is currently under early
4*16467b97STreehugger Robotdevelopment.  Most parts are not working yet, and some of those that are need
5*16467b97STreehugger Robotto catch up with the current development version.  The good news is that some
6*16467b97STreehugger Robotparts are working, as illustrated by the examples.  You'd probably want to
7*16467b97STreehugger Robottake a look at examples/expr/.
8*16467b97STreehugger Robot
9*16467b97STreehugger Robot
10*16467b97STreehugger RobotKNOWN ISSUES
11*16467b97STreehugger Robot============
12*16467b97STreehugger Robot
13*16467b97STreehugger Robot* Perl's syntax clashes with ANTLR's StringTemplate ('%') and variable ('$')
14*16467b97STreehugger Robotsyntax.  Expect error messages like the following.
15*16467b97STreehugger Robot
16*16467b97STreehugger Roboterror(146): Expr.g:10:10: invalid StringTemplate % shorthand syntax: '%memory'
17*16467b97STreehugger Roboterror(114): Expr.g:18:9: attribute is not a token, parameter, or return value: memory
18*16467b97STreehugger Roboterror(114): Expr.g:36:9: attribute is not a token, parameter, or return value: v
19*16467b97STreehugger Robot
20*16467b97STreehugger RobotCurrently, it's best to check the syntax of the generated code, like so:
21*16467b97STreehugger Robot
22*16467b97STreehugger Robot$ perl -c ExprLexer.pm
23*16467b97STreehugger RobotExprLexer.pm syntax OK
24*16467b97STreehugger Robot
25*16467b97STreehugger Robot$ perl -c ExprParser.pm
26*16467b97STreehugger RobotExprParser.pm syntax OK
27*16467b97STreehugger Robot
28*16467b97STreehugger RobotOr use the lexer/parser in an example.
29