Need help with oak?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

126 Stars 12 Forks Apache License 2.0 416 Commits 32 Opened issues


A typed parser generator embedded in Rust code for Parsing Expression Grammars

Services available


Need anything else?

Contributors list


ptal on Travis CI

Compiled on the nightly channel of Rust. Use rustup for managing compiler channels. You can download and set up the exact same version of the compiler used with

rustup override add nightly-2018-11-09

Please consult the Oak manual and this grammar for a more complete example.


  • Grammar description as a Rust syntax extension.
  • Generation of both recognizer and parser functions for each rules.
  • Type inference for each parsing expressions. Simplify the AST construction.

Build local documentation

You might want to build the manual or code documentation from the repository because you need it to be synchronized with a specific version of Oak or simply for offline usage. Here how to do it!

Build the manual

You need the utility mdbook:

cargo install mdbook

Once installed, go inside

and execute
mdbook build -o
. The manual is generated inside a local folder named
and directly opened in your browser.

Build the code documentation

As a user of Oak, you will be interested by the runtime documentation.

cd oak/runtime
cargo doc

The documentation is then available in


To build the internal documentation of Oak, you can type this command at the root of the project:

cd oak
rustdoc --document-private-items --output=target/dev-doc src/liboak/

The documentation will be available inside

. It is useful to work on Oak :-)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.