Core Erlang compiler implemented in Rust
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
compiler
interpreter
pattern-compiler
test_data
tools
util
.gitignore
Cargo.toml
README.md update readme with image Sep 3, 2018
example_cfg.png

README.md

core_erlang

Core Erlang compiler implemented in Rust

Currently compiles a Core Erlang to a (relatively) low level IR.

Current area of work: Writing LIR interpreter to ease correctness checking

Example CFG

Current features:

  • Parses .core file to parse tree
  • Converts parse tree into hierarchical HIR (High-level IR)
  • Resolves scoping, converts to SSA form
  • Performs lambda lifting on closures
  • Flattens HIR into flat LIR (Low-level IR)
  • Performs basic constant propagation
  • Produces DOT graph from LIR
  • Executes (parts of, for now) LIR in reference interpreter