Exemple #1
0
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)
Exemple #2
0
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)
Exemple #4
0
 def interpret(self, text):
     from interpreter.interpreter.interpreter import Interpreter
     return Interpreter.run(text)
Exemple #5
0
 def interpret(self, text):
     return Interpreter.run(text)
Exemple #6
0
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()