Home

Awesome

Autumn: Extensible Parsing Combinators

DISCLAIMER

This repository was put up for historical records, only.

There is a newer and better version of Autumn, available at https://github.com/norswap/autumn

Documentation

Dig around the Autumn class for documented entry points into the parser. There's also a good example that uses the bundled Java grammar.

For the internals, the ParseState class class has a long explanation of the concepts underlying parse state handling. For writing custom parsing expressions, look at the ParsingExpression class.

Building

make fetchpom
rm -rf deps/jar
mv deps/fetched/jar deps/jar
make build

... will output the class files under the out/dev directory.

Running Tests

make run t=MAIN_CLASS

e.g.,

make run t=com.norswap.autumn.test.languages.JavaTest
make run t=com.norswap.autumn.test.languages.PythonTest

Note that running these will require to download some source code for the test to run over and to edit the test classes to set the proper path to the sources.

We used Guava to test Java and Django to test Python.