Skip to content

JIT compiler for MITScript, specified in the dynamic languages class 6.S081

Notifications You must be signed in to change notification settings

kimberli/mitscript

Repository files navigation

MITScript Interpreter

Overview of Directories

  • asm - translation from intermediate representation (IR) to assembly
  • bc - compilation from MITScript to bytecode
  • docs - project documentation
  • ex - example folder (staff-provided)
  • gc - garbage collection
  • ir - translation from bytecode to IR
  • parser/bc - bytecode parser
  • parser/ms - MITScript source parser
  • ref - simple reference implementation for interpreter (from assignment 2)
  • tests - tests for parsing, execution, and memory usage
  • vm - VM execution of bytecode instructions
  • x64asm - third-party x86 asm library

Building the Project

  • 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 (in tests/vm)
  • make test-parser - runs all parser tests (in tests/parser)
  • make test-mem - runs heap memory usage tests (in tests/gc)
  • make test-perf - runs performance tests by averaging 5 runs (in tests/perf)

make by default makes the whole interpreter, producing the mitscript binary.

About

JIT compiler for MITScript, specified in the dynamic languages class 6.S081

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published