ohm

A library and language for building parsers, interpreters, compilers, etc.