TinyVM
https://github.com/mkhan45/tinyvm
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