A Bytecode VM for Arithmetic: The Parser
In this series of posts, we write a bytecode compiler and a virtual machine for arithmetic in Haskell. We explore the following topics:
Parsing arithmetic expressions to Abstract Syntax Trees (ASTs).
Compiling ASTs to bytecode.
Interpreting ASTs.
Efficiently executing bytecode in a virtual machine (VM).
Disassembling bytecode and decompiling opcodes for debugging and testing.
Unit testing and property-based testing for our compiler and VM.
Benchmarking our code to see how the different passes pe...
Read more at abhinavsarkar.net