import sys import ply.yacc as yacc from Cparser import Cparser from TypeChecker import NodeVisitor if __name__ == "__main__": try: filename = sys.argv[1] if len(sys.argv) > 1 else "example.txt" input_file = open(filename, "r") except IOError: print("Cannot open {0} file".format(filename)) sys.exit(0) Cparser = Cparser() parser = yacc.yacc(module=Cparser) text = input_file.read() ast = parser.parse(text, lexer=Cparser.scanner) # ~ print(ast) visitor = NodeVisitor() print(visitor.generic_visit(ast))
import sys from Mparser import parser from scanner import lexer as scanner from TreePrinter import TreePrinter from TypeChecker import NodeVisitor if __name__ == '__main__': try: filename = sys.argv[1] if len(sys.argv) > 1 else "example3.m" file = open(filename, "r") except IOError: print("Cannot open {0} file".format(filename)) sys.exit(0) text = file.read() ast = parser.parse(text, lexer=scanner) visitor = NodeVisitor() visitor.visit(ast)
import sys import ply.yacc as yacc from Cparser import Cparser from TypeChecker import NodeVisitor if __name__ == '__main__': try: filename = sys.argv[1] if len(sys.argv) > 1 else "example.txt" input_file = open(filename, "r") except IOError: print("Cannot open {0} file".format(filename)) sys.exit(0) Cparser = Cparser() parser = yacc.yacc(module=Cparser) text = input_file.read() ast = parser.parse(text, lexer=Cparser.scanner) #~ print(ast) visitor = NodeVisitor() visitor.generic_visit(ast)