I will be restricting further package announcements to the SimpleParse
Users list. The Python and eGenix Lists will only get messages about
major updates to the package. Those interested in more frequent updates
and/or discussion should see the mailing list at:
http://lists.sourceforge.net/lists/listinfo/simpleparse-users
What is SimpleParse (From the WebSite):
SimpleParse is a BSD-licensed Python package providing a simple parser
generator for use with the mxTextTools text-tagging engine. SimpleParse
allows you to generate tagging tables for use with the text-tagging
engine directly from your EBNF grammar.
Features:
New in 2.0.0a4/a3:
* Exposure of "LookAhead" mechanism in mxTextTools (allows you to
spell "is followed by", "is not followed by", or "matches x but doesn't
match y" in SimpleParse EBNF grammars)
* "Error on fail" error-reporting facility, allows you to raise
Parser Syntax Errors when particular productions (or element tokens)
fail to match. This is not an automated system, but does allow for
fairly flexible error reporting. To specify, just add a '!' character
after the element token that must match.
* The beginnings of an example XML-Parser (including DTD parsing)
based on the XML specification's EBNF (this is not a production parser,
merely an example for parsing a complex file format, and is not yet
Unicode capable)
New in 2.0.0a2
* New, refactored and simplified API. Most of the time you only
need to deal with a single class for all your interactions with the
parser system, and one module if you decide to use the provided
post-processing mechanism.
* Compatability API for SimpleParse 1.0 applications
* "Expanded Productions" -- allow you to define productions whose
children are reported as if the enclosing production did not exist
(allows you to use productions for organisational as well as reporting
purposes)
* Rewritten Generators -- the generator interface has been
seperated from the parser interfaces, this makes it possible to write
grammars directly using generator objects if desired, and allows
defining the EBNF grammar using the same tools as generate derived parsers
* Hexidecimal escapes for string and character ranges
* Exposure of callout mechanism in mxTextTools
* With the non-recursive mxTextTools, can process (albeit
inefficiently) recursion-as-repetition grammars
* Non-recursive rewrite of mxTextTools now ~95% of the speed of the
recursive version
General
* Simple-to-use interface, define an EBNF and start parsing
* Fast for small files -- this is primarily a feature of the
underlying TextTools engine, rather than a particular feature of the
parser generator.
* Allows pre-built and external parsing functions, which allows you
to define Python methods to handle tricky parsing tasks
Enjoy yourselves,
Mike
_______________________________________
Mike C. Fletcher
Why, yes. I am looking for a job...
http://members.rogers.com/mcfletch/