summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMatthew Sotoudeh <matthew@masot.net>2024-02-19 03:42:42 -0800
committerMatthew Sotoudeh <matthew@masot.net>2024-02-19 03:42:42 -0800
commite133f250761c67b4465181f41909e78c272901d3 (patch)
treefc75f55dd2a3f4dddc589a8c259f887e90ef3a1e /examples
parentffc6388571004b17e3a3dee2511ec99076ee803a (diff)
Parse trees, dangling else, etc.
Diffstat (limited to 'examples')
-rw-r--r--examples/expr.c1
-rw-r--r--examples/simple.c8
-rw-r--r--examples/test.py16
3 files changed, 19 insertions, 6 deletions
diff --git a/examples/expr.c b/examples/expr.c
new file mode 100644
index 0000000..68c68b0
--- /dev/null
+++ b/examples/expr.c
@@ -0,0 +1 @@
+x + 5 == 10
diff --git a/examples/simple.c b/examples/simple.c
index a8110a7..4d3139c 100644
--- a/examples/simple.c
+++ b/examples/simple.c
@@ -1,3 +1,5 @@
-if (x + 5 == 10) {
- x += 2;
-}
+if (1)
+ if (1)
+ 1;
+ else
+ 1;
diff --git a/examples/test.py b/examples/test.py
index bf8c6d2..e5783c5 100644
--- a/examples/test.py
+++ b/examples/test.py
@@ -1,4 +1,14 @@
import earlpy
-p = earlpy.Parser("grammars/expression")
-node = p.parse_string("1 + 1 + 2 + 3")
-print(node.pprint())
+
+if False:
+ p = earlpy.Parser("grammars/expression")
+ node = p.parse_string("1 + 1 + 2 + 3")
+ print(node.pprint())
+elif True:
+ p = earlpy.Parser("grammars/c")
+ node = p.parse_file("examples/simple.c")
+ print(node.pprint())
+else:
+ p = earlpy.Parser("grammars/c")
+ node = p.parse_file("examples/expr.c")
+ print(node.pprint())
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback