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)