asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T import argparse from .pgen import ParserGenerator def main(): parser = argparse.ArgumentParser(description="Parser generator main program.") parser.add_argument( "grammar", type=str, help="The file with the grammar definition in EBNF format" ) parser.add_argument("tokens", type=str, help="The file with the token definitions") parser.add_argument( "graminit_h", type=argparse.FileType("w"), help="The path to write the grammar's non-terminals as #defines", ) parser.add_argument( "graminit_c", type=argparse.FileType("w"), help="The path to write the grammar as initialized data", ) parser.add_argument("--verbose", "-v", action="count") parser.add_argument( "--graph", type=argparse.FileType("w"), action="store", metavar="GRAPH_OUTPUT_FILE", help="Dumps a DOT representation of the generated automata in a file", ) args = parser.parse_args() p = ParserGenerator( args.grammar, args.tokens, verbose=args.verbose, graph_file=args.graph ) grammar = p.make_grammar() grammar.produce_graminit_h(args.graminit_h.write) grammar.produce_graminit_c(args.graminit_c.write) if __name__ == "__main__": main()