예제 #1
0
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))
예제 #2
0
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)
예제 #3
0
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)