A library that generates parsers for arbitrary languages based on a supplied language syntax definition