asm- translation from intermediate representation (IR) to assemblybc- compilation from MITScript to bytecodedocs- project documentationex- example folder (staff-provided)gc- garbage collectionir- translation from bytecode to IRparser/bc- bytecode parserparser/ms- MITScript source parserref- simple reference implementation for interpreter (from assignment 2)tests- tests for parsing, execution, and memory usagevm- VM execution of bytecode instructionsx64asm- third-party x86 asm library
make ms-print- makes the MITScript pretty printer (parser/ms/ms-print)make bc-print- makes the bytecode pretty printer (parser/bc/bc-print)make bc-parser- makes the MITScript compilation to bytecode pretty printer (mitscriptc)make interpreter- makes the whole interpreter (which includes a flag allowing you to either read in MITScript or bytecode) (mitscript)make ref- makes the reference interpreter implementation (ref/mitscript)make test- runs all correctness tests (intests/vm)make test-parser- runs all parser tests (intests/parser)make test-mem- runs heap memory usage tests (intests/gc)make test-perf- runs performance tests by averaging 5 runs (intests/perf)
make by default makes the whole interpreter, producing the mitscript binary.