Skip to content

πŸ… A domain-specific language for trustworthy JIT implementation

Notifications You must be signed in to change notification settings

PLSysSec/icarus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5211fd6 Β· Feb 11, 2025
Nov 11, 2022
Feb 10, 2025
Feb 10, 2025
Feb 11, 2025
May 27, 2022
Feb 10, 2025
Oct 20, 2022
Oct 22, 2022
Feb 26, 2022
Oct 20, 2022
Jan 29, 2024
Feb 10, 2025
Mar 3, 2023
Jul 21, 2021

Repository files navigation

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 is available in your PATH.
  3. Install the dotnet CLI.
  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 <name>

will compile notes/<name>.cachet, producing out/<name>.h, out/<name>.inc, and out/<name>.bpl.

After compiling, samples can be verified with ./scripts/verify.sh.

./scripts/verify.sh <name>

will run the Corral verifier on out/<name>.bpl. Note we're using a small fork of Corral, vendored in this repository under vendor/corral.

You can do both with a single command by running ./scripts/compile-and-verify.sh <name>.

About

πŸ… A domain-specific language for trustworthy JIT implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published