Programming Languages Intermediate RepresentatiON
pliron is an extensible compiler IR framework, inspired by MLIR
and written in safe Rust.
Build and Test
-
Install the rust toolchain.
-
cargo buildandcargo testshould build the compiler and run the testsuite. -
To see a simple IR constructed (by the print_simple test), use the following command:
cargo test print_simple -- --show-outputIt should print something like:
builtin.module @bar { block_0_0(): builtin.func @foo: builtin.function <() -> (builtin.integer <si64>)> { entry(): c0 = builtin.constant 0x0: builtin.integer <si64> llvm.return c0 } }
Using the Library
pliron is currently in a nascent stage and not yet useful for
real-world use. In the future it can be used by just adding
a dependence to the crate
in your Rust project.
Documentation
- Some key design decisions are explained in the introductory blog article.
- Code documentation can be found on docs.rs.