PyBison 0.1.8 reviewDownload
PyBison is a Python binding to the Bison (yacc) and Flex (lex) parser-generator utilities. It allows parsers to be quickly and eas
PyBison is a Python binding to the Bison (yacc) and Flex (lex) parser-generator utilities.
It allows parsers to be quickly and easily developed as Python class declarations, and for these parsers to take advantage of the fast and powerful C-based Bison/Flex.
Users write a subclass of a basic Parser object, containing a set of methods and attributes specifying the grammar and lexical analysis rules, and taking callbacks for providing parser input, and receiving parser target events.
Presently, PyBison is only working on Linux (and possibly *BSD-based) systems. However, in time, (or if someone volunteers to help out with probably 2 hours' coding for a small shim layer) it's very possible PyBison will work on Windows as well.
Here are some key features of "PyBison":
Runs at near the speed of C-based parsers, due to direct hooks into bison-generated C code
Full LALR(1) grammar support
Includes a utility to convert your legacy grammar (.y) and scanner (.l) scripts into python modules compatible with PyBison
Easy to understand - the walkthrough and the examples will have you writing your own parsers in minutes
Comfortable and intuitive callback mechanisms
Can export parse tree to XML with a simple method call (New!)
Can reconstitute a parse tree from XML (New!)
Examples include working parsers for the languages:
- ANSI C
- Java (1.4.2)
PyBison 0.1.8 keywords