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
}
}
]
}
}