slip - Small LIsP compiler project
- install cmake, make, ninja, g++/clang++
cargo install llvmenv
llvmenv init
llvmenv build-entry 11.0.0
set -x LLVM_SYS_110_PREFIX (llvmenv prefix)
$ cargo run test.slip
$ cargo run test.slip --llvmir
<program> ::= (<multispace>* <expression> <multispace>*)*
<expression> ::= <atom> | <list>
<list> ::= "(" <multispace>* <expression> (<multispace>+ <expression>)* <multispace>* ")" | "(" <multispace>* ")"
<atom> ::= <identifier> | <constant>
<constant> ::= <number> | <string>