Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Kiuatan ("horse" or "pony" in Chinook Jargon) is a library for building and running parsers in the Pony programming language.

  • Kiuatan uses Parsing Expression Grammar semantics, which means:
  • Choices are ordered, i.e. the parser will always try to parse alternatives in the order they are declared.
    • Sequences are greedy, i.e. the parser will not backtrack from the end of a sequence.
    • You can use positive and negative lookahead that does not advance the match position to constrain greedy sequences.
    • Parsers do not backtrack from successful choices.
  • Kiuatan parsers are "packrat" parsers; they memoize intermediate results, resulting in linear-time parsing.
  • Parsers use Mederios et al's algorithm to handle unlimited left-recursion.

Obtaining Kiuatan


The easiest way to incorporate Kiuatan into your Pony project is to use Pony Corral. Once you have it installed, cd to your project's directory and type:

corral add github kulibali/kiuatan

This will add the library to your project. You can then build your project with something like:

corral fetch
corral run -- ponyc .


You can clone and build Kiuatan directly from GitHub:

git clone
cd kiuatan
make && make test

To use Kiuatan in a project you will need to add kiuatan/kiuatan to your PONYPATH environment variable.


Documentation is here.


See the calc example for a sample of how to define and use a grammar for Kiuatan.

You can’t perform that action at this time.