diff options
Diffstat (limited to 'examples/check_errors.py')
-rw-r--r-- | examples/check_errors.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/examples/check_errors.py b/examples/check_errors.py new file mode 100644 index 0000000..70f9f13 --- /dev/null +++ b/examples/check_errors.py @@ -0,0 +1,14 @@ +import earlpy +import sys + +p = earlpy.Parser("grammars/c") +node = p.parse_file(sys.argv[1]) +node.print_tree() +def visit(n): + if isinstance(n, earlpy.Token): + return + if n.symbol.name == "ERROR": + print(n.line_numbers(), n.pprint()) + else: + for a in n.contents: visit(a) +visit(node) |