Parsing
Once a grammar is defined, PCT can automatically build a parser from the grammar.
$ ./parrot abc.pbc --target=parse > 3+4 "parse" => PMC 'ABC::Grammar' => "3+4\n" @ 0 { <statement_list> => PMC 'ABC::Grammar' => "3+4\n" @ 0 { <statement> => ResizablePMCArray (size:1) [ <expression> => PMC 'ABC::Grammar' => "3+4" @ 0 { <expr> => PMC 'PGE::Match' => "+" @ 1 { <type> => "infix:+" [0] => PMC 'ABC::Grammar' => "3" @ 0 <integer> => PMC 'ABC::Grammar' => "3" @ 0 [1] => PMC 'ABC::Grammar' => "4" @ 2 <integer> => PMC 'ABC::Grammar' => "4" @ 2 } } ] } }