Skip to content
A typed parser generator embedded in Rust code for Parsing Expression Grammar
Branch: master
Clone or download
Pull request Compare This branch is 144 commits behind ptal:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


ptal on Travis CI

Please consult the Oak manual.


  • 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 rustbook:

git clone
cd rustbook
cargo build

Once built, go inside oak/doc and execute rustbook build. The manual is generated inside a local folder named _book.

Build the code documentation

You should be interested by the runtime documentation which is the one useful for users.

cd oak/runtime
cargo doc

The documentation is available in oak/runtime/target/doc.

If you want the developer documentation of the Oak compiler, go to the root of the project and launch:

cd oak
rustdoc --no-defaults --passes "collapse-docs" --passes "unindent-comments" --output=target/dev-doc src/liboak/

The documentation will be available inside oak/target/dev-doc.

You can’t perform that action at this time.