def main(input_filename, output_filename): from mgr.read import read_grammar grammar = read_grammar(input_filename) parser = make_lr_parser(grammar) if not output_filename.endswith('.py'): raise ValueError(output_filename) with open(output_filename, 'w') as f: f.write(parser)
# USAGE: python3 -m mgr.dump my_grammar_file.mgr import sys from mgr.read import read_grammar if __name__ == '__main__': g = read_grammar(sys.argv[1]) print('PROPERTIES:') print(g.properties) print('RULES:') for nt in sorted(g.rules): for r,a in sorted(g.rules[nt]): print(' ', nt, '->', (r, a))