Perl 6 Perl 6 #42

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
        }
      }
    ]
  }
}
Copyright © 2008 Patrick Michaud