summaryrefslogtreecommitdiffstats
path: root/tests/snippets/peg
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 11:33:32 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 11:33:32 +0000
commit1f403ad2197fc7442409f434ee574f3e6b46fb73 (patch)
tree0299c6dd11d5edfa918a29b6456bc1875f1d288c /tests/snippets/peg
parentInitial commit. (diff)
downloadpygments-1f403ad2197fc7442409f434ee574f3e6b46fb73.tar.xz
pygments-1f403ad2197fc7442409f434ee574f3e6b46fb73.zip
Adding upstream version 2.14.0+dfsg.upstream/2.14.0+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/snippets/peg')
-rw-r--r--tests/snippets/peg/test_basic.txt17
-rw-r--r--tests/snippets/peg/test_modified_strings.txt21
-rw-r--r--tests/snippets/peg/test_operators.txt29
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