Skip to content

Instantly share code, notes, and snippets.

@ingydotnet
Created September 20, 2011 12:16
Show Gist options
  • Save ingydotnet/1228956 to your computer and use it in GitHub Desktop.
Save ingydotnet/1228956 to your computer and use it in GitHub Desktop.
ingy@thinkingy:~/src/pegex-pgx$ perl -MXXX -MPegex -e 'XXX pegex("pegex.pgx")->parse("pegex.pgx")'
---
grammar:
- rule_definition:
- rule_name: grammar
- rule_group:
all_group:
- rule_part:
- rule_item:
bracketed_group:
- ''
- rule_group:
all_group:
- rule_part:
- rule_item:
rule_reference:
- .
- comment
- '*'
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_definition
- ''
- +
- rule_part:
- rule_item:
rule_reference:
- .
- comment
- '*'
- rule_definition:
- rule_name: rule_definition
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '~'
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_name
- ''
- rule_part:
- rule_item:
regular_expression: <BLANK>*<COLON>~
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_group
- ''
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_ending
- ''
- rule_definition:
- rule_name: rule_group
- rule_group:
any_group:
- rule_part:
- rule_item:
rule_reference:
- ''
- any_group
- ''
-
-
- rule_part:
- rule_item:
rule_reference:
- ''
- all_group
- ''
- rule_definition:
- rule_name: all_group
- rule_group:
all_group:
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_part
- ''
-
- rule_item:
regular_expression: '~'
- rule_definition:
- rule_name: any_group
- rule_group:
all_group:
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_part
- ''
- rule_part:
- rule_item:
bracketed_group:
- ''
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '~<PIPE>~'
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_part
- ''
- +
- rule_definition:
- rule_name: rule_part
- rule_group:
all_group:
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_item
- ''
- rule_part:
- rule_item:
bracketed_group:
- ''
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '~<WS><STAR><STAR><WS>~'
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_item
- ''
- '?'
- rule_definition:
- rule_name: rule_item
- rule_group:
any_group:
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_reference
- ''
-
-
- rule_part:
- rule_item:
rule_reference:
- ''
- regular_expression
- ''
-
- rule_part:
- rule_item:
rule_reference:
- ''
- bracketed_group
- ''
-
- rule_part:
- rule_item:
rule_reference:
- ''
- error_message
- ''
- rule_definition:
- rule_name: rule_reference
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: (<rule_modifier>?)<LANGLE><rule_name><RANGLE>(<rule_quantifier>?)
- rule_definition:
- rule_name: regular_expression
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '<SLASH>([^<SLASH><DOS>]*)<SLASH>'
- rule_definition:
- rule_name: bracketed_group
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: (<DOT>?)<LSQUARE>~
- rule_part:
- rule_item:
rule_reference:
- ''
- rule_group
- ''
- rule_part:
- rule_item:
regular_expression: '~<RSQUARE>(<rule_quantifier>?)'
- rule_definition:
- rule_name: error_message
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '<GRAVE>([^<GRAVE><DOS>]*)<GRAVE>'
- rule_definition:
- rule_name: rule_modifier
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '[<BANG><EQUAL><DASH><DOT>]'
- rule_definition:
- rule_name: rule_quantifier
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '[<STAR><PLUS><QMARK>]'
- rule_definition:
- rule_name: rule_name
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: (<ALPHA><WORD>*)
- rule_definition:
- rule_name: rule_ending
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '~?(?:<BREAK>~|<SEMI>~|<EOS>)'
- rule_definition:
- rule_name: comment
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: (?:<blank_line>|<comment_line>)
- rule_definition:
- rule_name: blank_line
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '<BLANK>*<EOL>'
- rule_definition:
- rule_name: comment_line
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '<HASH><line>'
- rule_definition:
- rule_name: line
- rule_group:
all_group:
- rule_part:
- rule_item:
regular_expression: '<ANY>*<EOL>'
...
at -e line 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment