diff options
author | Matthew Sotoudeh <matthew@masot.net> | 2024-02-19 03:42:42 -0800 |
---|---|---|
committer | Matthew Sotoudeh <matthew@masot.net> | 2024-02-19 03:42:42 -0800 |
commit | e133f250761c67b4465181f41909e78c272901d3 (patch) | |
tree | fc75f55dd2a3f4dddc589a8c259f887e90ef3a1e /examples | |
parent | ffc6388571004b17e3a3dee2511ec99076ee803a (diff) |
Parse trees, dangling else, etc.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/expr.c | 1 | ||||
-rw-r--r-- | examples/simple.c | 8 | ||||
-rw-r--r-- | examples/test.py | 16 |
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()) |