Based on the Cerise capability machine (paper)
-
Make sure you have rust installed. We recommend installing it via rustup, and make sure you also install
cargo. -
In the root of the project, run
cargo build --release. -
Then to run the project, run
./target/release/cerisemu[.exe] [args] -
Alternatively, you can run the project directly by running
cargo run --release -- [args]
cerisemu --helpshould give you an idea of the possible commands.cerisemu compilewill compile an assembly file into the internal representation. Make sure to check the help withcerisemu compile --help.cerisemu emulatewill emulate a capability machine. Again, make sure to check the help withcerisemu emulate --help. If the--compileflag is not used, the input file must be valid ron file containing a Program, a ProgramConfig, or a MachineConfig.
Run cargo run --release -- emulate -i config/os.ron --backtrace.
src/contains all the sources of the project.src/main.rscontains the CLI definitions.src/lib.rsis the main library file and is used by the CLI to run either emulation or compilation.src/compiler/contains all sources related to compilation.src/emulator/contains all sources related to emulation.
tests/contains all our unit/integration tests.
asm/contains our uncompiled assembly files.bin/contains compiled programs.config/contains MachineConfigs that can be emulated directly.