In this repo, I will build my own language targeting WebAssembly.
- Lang. Manual: A language manual of which the compiler to develope.
- Introduction: A introduction to the flow of a typical compiler.
- Parser: Organize the language in a computer-understandable structure.
- Intermediate Representation: LLVM: A bridge b/w parser and assembly code.
- Optimization 1: SSA: The optimization of optimization.
- Optimization 2: CSE: A simple application of SSA.
- Optimization 3: Const Propagation:
A reference Rust implementation is available at the sub-repo.
Test cases are available at the tests
folder.
If you want to develop your own compiler,
you no longer need to design test cases from scratch.