TinyVM is a small bytecode VM written to better understand interpreters. In just 250 lines of code, it interprets a Turing complete, hand-writeable instruction set in an easily understandable way.

  • Heavily commented; meant to explain stack VMs to developers without related experience
  • Includes a simple compiler to interpret instruction files
  • 50+ stars on github
  • Blog post / in depth explanation