orezc
The main repository for the orez programming language (a toy langauge for now obviously)
Yes I've looked into the rust compiler, if you are curious from where the crate layout is
Future Goals
- Compile to JVM bytecode (for jvm interpretation)
- Add opt passes into the compiler (Not only make use of llvm's) (this could include replacing code patterns with pre designed language features)
Building
For optimal performance build with
$ cargo build --release
Windows
- To build, make sure you have the nightly toolchain of rust installed and the VS build tools.
- Follow the rust guide for more references.
- An install of llvm is needed. The project is currently based on LLVM 13.0.0, but this might change in the future.
- For more information on how to build llvm follow the LLVM getting started guide
- The LLVM Windows installer will not provide the tools needed for building.
Linux
- Install rust via rustup or your package manager.
- Follow the rust guide for more references.
- Install LLVM via your package manager. (Yes on linux this is enough. The prebuilt binaries are providing everything)
Running
To run the compiler use following command:
For running with cargo:
$ cargo run -- -i <input_file> [debug] [-l]
For running a built binary use:
$ ./orezc.exe -i <input_file> [debug] [-l]
All options surrounded with [] are optional