Beispiel #1
0
def parse():
    from inputstream import InputStream
    stream = InputStream()  # reads from stdin
    try:
        exp(stream)
        if stream.end_of_file():
            print("parse successful")
        else:
            raise SyntaxError("bad syntax at {}".format(stream.pointer()))
    except Exception as e:
        print("error: " + str(e))
Beispiel #2
0
def parse():
    from inputstream import InputStream
    stream = InputStream()  # reads from stdin
    try:
        stmt_list(stream)  # call the parser function for start symbol
        if stream.end_of_file():
            print("parse successful")
        else:
            raise SyntaxError("bad syntax at {}".format(stream.pointer()))
    except Exception as e:
        print("error: " + str(e))
Beispiel #3
0
def parse():
    global count
    count = 0
    from inputstream import InputStream
    stream = InputStream()  # reads from stdin
    try:
        stmtlist(stream)  # call the parser function for start symbol
        if stream.end_of_file():
            print("found {} variable reference{}".format(
                count, "" if count == 1 else "s"))
        else:
            raise SyntaxError("bad syntax at {}".format(stream.pointer()))
    except Exception as e:
        print("error: " + str(e))
            self.visit(node.block)


import sys
import datetime

source_path = ''
if len(sys.argv) >= 2:  # Running from the command line with path argument
    source_path = sys.argv[1]
    source_code = open(source_path).read()

    start_time = datetime.datetime.now()

    print('\nRunning: {} at {}\n'.format(source_path, start_time))

    interpreter = Interpreter(Parser(Tokenizer(InputStream(source_code))))
    interpreter.interpret()

    print('\nFinished in {}.\n'.format(datetime.datetime.now() - start_time))
    exit()

# interpreter = Interpreter(Parser(Tokenizer(InputStream('variable set 5 brake variable is equal to 5 then print 5 break'))))
# interpreter.interpret()

import speech_recognition as sr

# obtain audio from the microphone
recognizer = sr.Recognizer()
with sr.Microphone() as source:
    code = ' '
    while code is not None:








import sys
import datetime

source_path = ''
if len(sys.argv) >= 2:  # Running from the command line with path argument
    source_path = sys.argv[1]
    source_code = open(source_path).read()

    start_time = datetime.datetime.now()

    print('Running: {} at {}\n'.format(source_path, start_time))

    interpreter = Interpreter(Parser(Tokenizer(InputStream(source_code))))
    interpreter.interpret()

    print('\nFinished in {} s\n'.format(datetime.datetime.now() - start_time))
    exit()



interpreter = Interpreter(Parser(Tokenizer(InputStream(open('scripts/test2.ted').read()))))
interpreter.interpret()
            return left > right
        elif operator == GREATER_EQUAL_THAN:
            return left >= right
        elif operator == NOT_EQUAL:
            return left != right
        elif operator == OR:
            return left or right
        elif operator == AND:
            return left and right
        else:
            self.error(node)

    def visit_BranchNode(self, node):
        if self.visit(node.condition):
            self.visit(node.left)
        else:
            self.visit(node.right)

    def visit_NoOperationNode(self, node):
        pass

    def visit_WhileLoopNode(self, node):
        while self.visit(node.condition):
            self.visit(node.block)


input_stream = InputStream('\n' + open('scripts/test3.ted').read() + '\n')
token_stream = Tokenizer(input_stream)

interpreter = Interpreter(Parser(token_stream))
interpreter.interpret()