The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%TestML 0.1.0

Plan = 2

Label = '$BlockLabel - Pegex::Tree'
parse_to_tree(*grammar, *input).yaml.clean == *tree
Label = '$BlockLabel - Pegex::Tree::Wrap'
parse_to_tree_wrap(*grammar, *input).yaml.clean == *wrap
Label = '$BlockLabel - TestAST'
parse_to_tree_test(*grammar, *input).yaml.clean == *ast

=== Part of Pegex Grammar
--- grammar
\# This is the Pegex grammar for Pegex grammars!
grammar: ( <comment>* <rule_definition> )+ <comment>*
rule_definition: /<WS>*/ <rule_name> /<COLON><WS>*/ <rule_line>
rule_name: /(<ALPHA><WORD>*)/
comment: /<HASH><line><EOL>/
line: /<ANY>*/
rule_line: /(<line>)<EOL>/

--- input
\# This is the Pegex grammar for Pegex grammars!
grammar: ( <comment>* <rule_definition> )+ <comment>*
rule_definition: /<WS>*/ <rule_name> /<COLON><WS>*/ <rule_line>
--- tree
- - - []
    - - grammar
      - ( <comment>* <rule_definition> )+ <comment>*
  - - []
    - - rule_definition
      - /<WS>*/ <rule_name> /<COLON><WS>*/ <rule_line>
- []
--- wrap
grammar:
- - - []
    - rule_definition:
      - rule_name: grammar
      - rule_line: ( <comment>* <rule_definition> )+ <comment>*
  - - []
    - rule_definition:
      - rule_name: rule_definition
      - rule_line: /<WS>*/ <rule_name> /<COLON><WS>*/ <rule_line>
- []