Refactoring to support the bytecode interpreter
A simple reference bytecode interpreter which reads in pyc files and evaluates them
Removed consts and names from the EvalState because they are accessible from the CodeObject
Implemented various binary operators, stack manipulation, basic storing names
Comparison operator and jumps
Refactor binary operators and add more comparison operators, fix behaviour of pop jump if false
Fixed bug in dup opcodes, added unary operators, refactored load const
Added List type
.gitignore
updated .gitignore
Added rule for interpreter to Makefile
Initial support for function objects and function calls
Fixed bug in function call where arguments are in reverse order; added simple dumpStack
implemented JUMP_FORWARD
Fixed bug in primitive print which added extraneous quote marks around strings
fixed bug in POP_JUMP_IF_FALSE which did not set the program counter correctly
Refactored code so that compiler and interpreter are libraries
Added basic REPL to the interpreter
Unified the compiler and interpreter main program
Fixed integer type to be Integer instead of Int32