diff options
Diffstat (limited to 'tests/snippets/peg')
-rw-r--r-- | tests/snippets/peg/test_basic.txt | 17 | ||||
-rw-r--r-- | tests/snippets/peg/test_modified_strings.txt | 21 | ||||
-rw-r--r-- | tests/snippets/peg/test_operators.txt | 29 |
3 files changed, 67 insertions, 0 deletions
diff --git a/tests/snippets/peg/test_basic.txt b/tests/snippets/peg/test_basic.txt new file mode 100644 index 0000000..13a9bb4 --- /dev/null +++ b/tests/snippets/peg/test_basic.txt @@ -0,0 +1,17 @@ +---input--- +rule<-("terminal"/nonterminal/[cls])* + +---tokens--- +'rule' Name.Class +'<-' Operator +'(' Punctuation +'"terminal"' Literal.String.Double +'/' Operator +'nonterminal' Name.Class +'/' Operator +'[' Punctuation +'cls' Literal.String +']' Punctuation +')' Punctuation +'*' Operator +'\n' Text.Whitespace diff --git a/tests/snippets/peg/test_modified_strings.txt b/tests/snippets/peg/test_modified_strings.txt new file mode 100644 index 0000000..f411226 --- /dev/null +++ b/tests/snippets/peg/test_modified_strings.txt @@ -0,0 +1,21 @@ +# see for example: +# - http://textx.github.io/Arpeggio/ +# - https://nim-lang.org/docs/pegs.html +# - https://github.com/erikrose/parsimonious +# can't handle parsimonious-style regex while ~ is a cut operator + +---input--- +~"regex" i"insensitive" "multimod"ilx ("not modified") + +---tokens--- +'~' Operator +'"regex"' Literal.String.Double +' ' Text +'i"insensitive"' Literal.String.Double +' ' Text +'"multimod"ilx' Literal.String.Double +' ' Text +'(' Punctuation +'"not modified"' Literal.String.Double +')' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/peg/test_operators.txt b/tests/snippets/peg/test_operators.txt new file mode 100644 index 0000000..35aee32 --- /dev/null +++ b/tests/snippets/peg/test_operators.txt @@ -0,0 +1,29 @@ +# see for example: +# - https://github.com/gvanrossum/pegen +# - https://nim-lang.org/docs/pegs.html + +---input--- +rule = 'a' | 'b' +rule: 'a' ~ 'b' + +---tokens--- +'rule' Name.Class +' ' Text +'=' Operator +' ' Text +"'a'" Literal.String.Single +' ' Text +'|' Operator +' ' Text +"'b'" Literal.String.Single +'\n' Text.Whitespace + +'rule' Name.Class +':' Operator +' ' Text +"'a'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +"'b'" Literal.String.Single +'\n' Text.Whitespace |