%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>
- []