def main(): argparser = argparse.ArgumentParser( description='Generate an AST DOT file.') argparser.add_argument('fname', help='Pascal source file') args = argparser.parse_args() fname = args.fname text = open(fname, 'r').readlines() lexer = Lexer(text, ["main"]) #print(lexer) #for section in lexer.sections: # print(section) # if isinstance(section, SectionLexer): # for operation in section.operations: # print(operation.tokens) parser = Parser(lexer) tree = parser.parse() #for child in tree.children: # print(child) # for cnt in child.content: # print(cnt) semantic = SemanticAnalyzer.analyze(tree) #viz = ASTVisualizer(parser) #content = viz.gendot() #print(content) status = Interpreter([]).interpret(tree) print(status)
def main(): argparser = argparse.ArgumentParser( description='Generate an AST DOT file.') argparser.add_argument('fname', help='Pascal source file') args = argparser.parse_args() fname = args.fname text = open(fname, 'r').read() lexer = Lexer(text) parser = Parser(lexer) tree = parser.parse() semantic = SemanticAnalyzer.analyze(tree) viz = ASTVisualizer(parser) #content = viz.gendot() interp = Interpreter([]) status = interp.interpret(tree) print(interp.memory.stack.current_frame.frame_name) print(status)
from interpreter.interpreter.interpreter import Interpreter import argparse parser = argparse.ArgumentParser(description='Execute .c file') parser.add_argument('-f', '--file', help='File with C code') parser.add_argument('-c', '--code', help='Code of C code') args = parser.parse_args() if not args.file and not args.code: argparse.ArgumentParser().error('You must choose one argument [-f or -c]') elif args.file and args.code: argparse.ArgumentParser().error( 'You can choose only one argument [-f or -c]') code = '' if args.file: with open(args.file, 'r') as file: code = file.read() else: code = args.code Interpreter.run(code)
def interpret(self, text): from interpreter.interpreter.interpreter import Interpreter return Interpreter.run(text)
def interpret(self, text): return Interpreter.run(text)
from interpreter.interpreter.interpreter import Interpreter import argparse import sys import socket code = '' try: file = open('Interpreter/input.txt', 'r') code = file.read() except IOError: print("could not read from input") try: interpreter = Interpreter() interpreter.run(code) except Exception as e: HOST = "localhost" PORT = 5000 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) sock.sendall(bytes('ERROR: ' + str(e), 'utf-8')) sock.close()