
Hi. By all accounts, Python has many strong and flexible ways to deal with parsing of semi-structured data. Applications range from csv- and configuration-files over log- and report-data to all kinds of semi-structured formats. As far as I can see the standard library however either provides highly specialized modules (e.g. configparser, csv, json) or drives you off into very generic approaches (e.g. re) for you to implement the rest or use external modules. I started looking into RPython some time ago and found the included parser-module highly useful. It provides an (again extended) EBNF-parser with capable visitors to get parse-trees out of a simple BN-syntax. Is it worth the discussion to get our own EBNF-module into the standard library, so people who otherwise rely on pure regular expressions can build capable parsers with little effort? External modules (like simpleparser) and even internal modules like the ones mentioned above may even benefit from that. Regards Lukas

Lukas Lueg, 23.03.2012 17:50:
There are a number of capable parser packages for Python, including pyparsing and some lex/yacc like parsers. I don't think the parser you mentioned above beats them in turns of wide spread application, but that would usually be a good sign for something being worth adding to the stdlib. Also note that there are certain requirements for a new stdlib package, including the donation by the author and the availability of an active maintainer for it as part of the stdlib. Stefan

Lukas Lueg, 23.03.2012 17:50:
There are a number of capable parser packages for Python, including pyparsing and some lex/yacc like parsers. I don't think the parser you mentioned above beats them in turns of wide spread application, but that would usually be a good sign for something being worth adding to the stdlib. Also note that there are certain requirements for a new stdlib package, including the donation by the author and the availability of an active maintainer for it as part of the stdlib. Stefan
participants (3)
-
Guido van Rossum
-
Lukas Lueg
-
Stefan Behnel