- 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.
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 https://github.com/kulibali/kiuatan.git cd kiuatan make && make test
To use Kiuatan in a project you will need to add
kiuatan/kiuatan to your
PONYPATH environment variable.
See the calc example for a sample of how to define and use a grammar for Kiuatan.