D
David McNab
Hi,
Announcing PyBison, a framework for writing high-performance, full
LALR(1) parsers in Python, which automatically create and hook in to
Bison/Yacc-generated C parser code.
http://www.freenet.org.nz/python/pybison
Same genre as packages like PLY, YAPPS etc.
Users write a Parser class in Python. Upon instantiation of that class,
the parent class loads (or generates) a shared library file containing
the parser-specific C yyparse() code for the parser. The generation
process automatically introspects the user's class, extracting
grammar/lexer definitions from docstrings and attributes, creating .y
and .l files, compiling these and linking these to the shared lib. All
done automagically in the background.
At the price of depending on the presence of a C compiler/linker, Python
development libs/headers, Pyrex, plus bison and flex, PyBison delivers a
parser framework offering the ease and comfort of Python, with the raw
power and (most of) the speed of the raw C parser tools.
Release status: Alpha, version 0.1.1
Distribution includes examples, walkthrough document and API reference.
Bug reports, requests, patches etc, please send to me.
Enjoy
Cheers
David
Announcing PyBison, a framework for writing high-performance, full
LALR(1) parsers in Python, which automatically create and hook in to
Bison/Yacc-generated C parser code.
http://www.freenet.org.nz/python/pybison
Same genre as packages like PLY, YAPPS etc.
Users write a Parser class in Python. Upon instantiation of that class,
the parent class loads (or generates) a shared library file containing
the parser-specific C yyparse() code for the parser. The generation
process automatically introspects the user's class, extracting
grammar/lexer definitions from docstrings and attributes, creating .y
and .l files, compiling these and linking these to the shared lib. All
done automagically in the background.
At the price of depending on the presence of a C compiler/linker, Python
development libs/headers, Pyrex, plus bison and flex, PyBison delivers a
parser framework offering the ease and comfort of Python, with the raw
power and (most of) the speed of the raw C parser tools.
Release status: Alpha, version 0.1.1
Distribution includes examples, walkthrough document and API reference.
Bug reports, requests, patches etc, please send to me.
Enjoy
Cheers
David