Subrules
grammar Calc::Grammar; regex TOP { <integer> <addop> <integer> } regex integer { \d+ } regex addop { [ '+' | '-' ] }
Execution:
$ ./calc --target=parse > 3+4 "parse" => PMC 'Calc;Grammar' => "3+4" @ 0 { <integer> => ResizablePMCArray (size:2) [ PMC 'Calc;Grammar' => "3" @ 0, PMC 'Calc;Grammar' => "4" @ 2 ] <addop> => PMC 'Calc;Grammar' => "+" @ 1 }
Note that we now have some structured output