Aurochs, a parser generator

Aurochs is a PEG parser generator written in Ocaml. The parsing automata is implemented in C and thus can bound to any language. Bindings are provided for Ocaml, C and Java. It can also be used as a stand-alone tool, for instance for automatic syntax hilighting.

Aurochs is a parser generator that uses the parse expression grammar (PEG) or "packrat" approach. It takes a grammar in a BNF-like notation (a .peg file) and produces bytecode (a .nog file) for a stack automaton. This bytecode is later interpreted on the input to parse using a C library. Bindings are given for Ocaml, Java and Exascript. Aurochs can also directly produce C or Ocaml code for parsing.

I wrote Aurochs while working at Exalead . Thanks to Florian Douetteau for letting me develop this useful tool and placing it under an open-source licence. Exalead therefore detains the initial copyright.

Aurochs is currently used:

On this site, for parsing the content in "Unidoc" format,

In Jsure to parse Javascript,

At Exalead to parse queries.

If you are using it, write me. I appreciate feedback.

Aurochs homepage