Esempio n. 1
0
        if reading[-3:] != '.pi':
            raise Exception('Invalid file format')
            break
        else:
            correct = reading
            correctFile = open(correct, 'r')
            curr = correctFile.read()
            correctFile.close()
            if parser.parse(curr) == 'SUCCESS':
                print("SUCCESSFULLY COMPILED!")
                print("---BEGINNING EXECUTION---")  # a.out

                # start virtual machine
                MainMemory.instantiate()
                dirs = symbolTable.buildForVM()
                virtualMachine = VM.instantiate(quadruple.quads, dirs[0],
                                                dirs[1])

                # start main memory
                virtualMachine.execute()

            # resetting tables and classes for running more programs
            MainMemory.instantiate().reset()
            virtualMachine = VM.get()
            virtualMachine.reset()
            symbolTable.reset()
            quadruple.reset()
            resetGlobals()

    except EOFError:
        print("INCORRECT")
    if not reading: continue