https://github.com/plsyssec/icarus
🏅 A domain-specific language for trustworthy JIT implementation
https://github.com/plsyssec/icarus
Last synced: 3 months ago
JSON representation
🏅 A domain-specific language for trustworthy JIT implementation
- Host: GitHub
- URL: https://github.com/plsyssec/icarus
- Owner: PLSysSec
- Created: 2021-07-13T22:00:28.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-11T19:17:00.000Z (over 1 year ago)
- Last Synced: 2025-03-02T01:44:05.232Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 5.94 MB
- Stars: 6
- Watchers: 11
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ~~Cachet~~ Icarus
_Note: renaming is still in progress._
## Syntax highlighting
A syntax highlighting plugin for Vim/Neovim can be found in the `contrib/vim/` directory. It is
updated as the language evolves.
## Prerequisites
1. Clone this repository with the `-r` (recursive) flag, or run `git submodule init` / `git
submodule update` to initialize submodules after cloning.
2. Make sure the `sponge` command from [moreutils](https://joeyh.name/code/moreutils/) is
available in your `PATH`.
3. Install the [`dotnet` CLI](https://docs.microsoft.com/en-us/dotnet/core/tools/).
4. Build Boogie with `./scripts/build-boogie.sh`.
5. Build Corral with `./scripts/build-corral.sh`.
## Testing scripts
A helper script is available to compile Cachet source files from the `notes/` directory.
```
./scripts/compile.sh
```
will compile `notes/.cachet`, producing `out/.h`, `out/.inc`, and
`out/.bpl`.
After compiling, samples can be verified with `./scripts/verify.sh`.
```
./scripts/verify.sh
```
will run the Corral verifier on `out/.bpl`. Note we're using a small
[fork](https://github.com/PLSysSec/corral/tree/cachet) of Corral, vendored in this repository under
`vendor/corral`.
You can do both with a single command by running `./scripts/compile-and-verify.sh `.