[egenix-users] SimpleParse 2.0.0a4 released, mailing list created...

Mike C. Fletcher mcfletch at rogers.com
Thu Jul 18 05:14:04 CEST 2002


I've just released version 2.0.0a4 of SimpleParse.  This includes an 
eXample/eXperimental XML parser (including DTD parser), a mechanism for 
generating SyntaxErrors on the failure of any production/element-token, 
and LookAhead support.

     http://simpleparse.sf.net/

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/





More information about the egenix-users mailing list