simpleparse-users Mailing List for SimpleParse (Page 4)
Brought to you by:
mcfletch
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(3) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
(13) |
Aug
(9) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(1) |
2004 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(3) |
Dec
(10) |
2007 |
Jan
(4) |
Feb
(7) |
Mar
(5) |
Apr
(4) |
May
(3) |
Jun
(11) |
Jul
(27) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Karl T. K. <ka...@pr...> - 2002-09-10 15:32:14
|
Hi fellow parsists. I notice that all of the example grammars include whitespaces in the productions explicitly. Is there any simple way to tell SimpleParse that the charset "[ \t\n\r]+" is considered a generic token separator, as is customary with other EBNF tools ? funcall := id, '(', arglist, ')', ';' is most definitely easier to read and reason about than funcall := id, ws, '(', ws, arglist, ws, ')', ws, ';' I tried modifying the resultant tuple returned by generator.buildParser thusly; parser = generator.buildParser(decl).parserbyname('root') parser = ((None,TextTools.AllInSet,TextTools.set(' \r\n\t'),+1),) + parser pprint.pprint( TextTools.tag( input, parser )) but that does not seem to have any effect. Any suggestions/pointers to solutions are most welcome. Kind regards, Karl T |
From: Mike C. F. <mcf...@ro...> - 2002-08-25 20:38:52
|
I have just released version 2.0.0 of the SimpleParse parser-generation system. Version 2.0.0 is a major upgrade from SimpleParse 1.0 include a significant set of new features and a completely rewritten core engine, but it should still be compatible with your 1.0 grammars. http://simpleparse.sourceforge.net/ for optimal operation, I would suggest using Python 2.2.x and mxTextTools 2.1.x, but the package should run (though in some cases with subtle errors, particularly when using mxTextTools 2.0.x) under 1.5.2 and above with mxTextTools 2.0.x and above. About SimpleParse... 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. Unlike most parser generators, SimpleParse generates single-pass parsers (there is no distinct tokenization stage), an approach taken from the predecessor project (mcf.pars) which attempted to create "autonomously parsing regex objects". The resulting parsers are not as generalized as those created by, for instance, the Earley algorithm, but they do tend to be useful for the parsing of computer file formats and the like (as distinct from natural language and similar "hard" parsing problems). See: http://simpleparse.sourceforge.net/ for details and documentation. Have fun, Mike _______________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://members.rogers.com/mcfletch/ |
From: M.-A. L. <ma...@le...> - 2002-08-06 07:40:56
|
Mike C. Fletcher wrote: > I'm planning to mark the package 2.0.0 final when Marc-Andr=E9 releases= =20 > TextTools 2.1.0. That version should solve a character-range problem,=20 > so I can then uncomment certain code in SimpleParse and have the packag= e=20 > complete as far as I want for 2.0.0. >=20 > http://simpleparse.sf.net/ FYI, I will release a 2.1.0beta4 of egenix-mx-base (which contains mxTextTools) this week to make sure that everything is corrected. --=20 Marc-Andre Lemburg CEO eGenix.com Software GmbH _______________________________________________________________________ eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,... Python Consulting: http://www.egenix.com/ Python Software: http://www.egenix.com/files/python/ |
From: Mike C. F. <mcf...@ro...> - 2002-08-06 03:51:19
|
Primary user-visible change is the ability to declare that any item after a given point in a sequential group is required (errorOnFail): s := a,b,!,c,d,e is translated to: s := a,b,c!,d!,e! i.e. this is primarily a convenience mechanism. In addition, I've changed the "precedence" operations for groups, so that: s := a,b,c/d,e,f becomes: s := a,b,(c/d),e,f instead of: s := a,b,(c/(d,e,f)) as happened previously. Other than that, there have been some minor documentation updates. I'm planning to mark the package 2.0.0 final when Marc-André releases TextTools 2.1.0. That version should solve a character-range problem, so I can then uncomment certain code in SimpleParse and have the package complete as far as I want for 2.0.0. http://simpleparse.sf.net/ Enjoy yourselves, Mike _______________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://members.rogers.com/mcfletch/ |
From: Mike C. F. <mcf...@ro...> - 2002-07-23 23:16:07
|
Marc-André pointed out that a number of my tests were rejecting "correct" results from his engine. Turns out there was a documented feature of the engine (returning the "error position" on whole-match failure) that I'd never read about. I've updated the SimpleParse tests to recognise this result as valid, and changed the non-recursive rewrite to support the feature. I've also made the SimpleParse-level test code slightly more robust in the face of changing implementations. Those who downloaded 2.0.0b1 (all none of you ;) ) don't need to upgrade unless they care about the upgraded tests. Sorry about the quick update, but I figure no-one had actually gotten around to updating, so not a lot of harm done. Enjoy yourselves, Mike _______________________________________ Mike C. Fletcher Why, yes, I am looking for a job... http://members.rogers.com/mcfletch/ |
From: Mike C. F. <mcf...@ro...> - 2002-07-23 18:16:16
|
This version modifies the test suite to support the TypeError raised by mxTextTools on Skip-before-buffer. The non-recursive rewrite has also been updated to support this behaviour. No other significant changes since 2.0.0a4. There are no other major features planned for the 2.0.0 release. Only minor tweak of the engine planned is to make the cut (error-on-fail) command work as a stand-alone element in sequential groups, signaling that all subsequent items are to be treated as errors if they fail. I'd expect that 2.0.0 will go final some time before August 1st. http://simpleparse.sf.net/ Enjoy yourselves, Mike _______________________________________ Mike C. Fletcher Why, yes, I am looking for a job... http://members.rogers.com/mcfletch/ |
From: Mike C. F. <mcf...@ro...> - 2002-07-18 08:14:39
|
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/ |