Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #68362
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Subject | Re: PEP/GSoC idea: built-in parser generator module for Python? |
| Date | 2014-03-14 15:48 -0400 |
| References | <CABaZ=CGbOw7ymp1Uis7ACYCMW9U1iuXuYnEfi2Rc_W-zTZ1rAA@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.8153.1394826538.18130.python-list@python.org> (permalink) |
On 3/14/2014 2:51 PM, Peter Mawhorter wrote: > First of all, hi everyone, I'm new to this list. Welcome. > I'm a grad student who's worked on and off with Python on various > projects for 8ish years now. I recently wanted to construct a parser > for another programing language in Python and was dissapointed that > Python doesn't have a built-in module for building parsers, which > seems like a common-enough task. There are plenty of different > 3rd-party parsing libraries available, specialized in lots of > different ways (see e.g., [1]). I happened to pick one that seemed > suitable for my needs but didn't turn out to support the recursive > structures that I needed to parse. Rather than pick a different one I > just built my own parser generator module, and used that to build my > parser: problem solved. > > It would have been much nicer if there were a fully-featured builtin > parser generator module in Python, however, and the purpose of this > email is to test the waters a bit: is this something that other people > in the Python community would be interested in? I imagine the route to > providing a built-in parser generator module would be to first canvass > the community to figure out what third-party libraries they use, and > then contact the developers of some of the top libraries to see if > they'd be happy integrating as a built-in module. At that point > someone would need to work to integrate the chosen third-party library > as a built-in module (ideally with its developers). I think the idea has been raised before, but I am not sure which list (this one, pydev, or python-ideas). My first reaction, as a core developer, is that the stdlib is, if anything, too large. It is already not as well-maintained as we would like. My second is that parser generation is an application, not a library. A parser generator is used by running it with an input specification, not by importing it and using specific functions and classes. > From what I've looked at PyParsing and PLY seem to be standout parser > generators for Python, PyParsing has a bit more Pythonic syntax from > what I've seen. One important issue would be speed though: an > implementation mostly written in C for low-level parsing tasks would > probably be much preferrable to one written in pure Python, since a > builtin module should be geared towards efficiency, but I don't > actually know exactly how that would work (I've both extended and > embedded Python with/in C before, but I'm not sure how that kind of > project relates to writing a built-in module in C). Something written in Python can be run with any implementation of Python. Something written in C tends to be tied to CPython, > Sorry if this is a bit rambly, but I'm interested in feedback from the > community on this idea: is a builtin parser generator module > desirable? If so, would integrating PyParsing as a builtin module be a > good solution? What 3rd-party parsing module do you think would serve > best for this purpose? > [1] http://nedbatchelder.com/text/python-parsers.html Perhaps something like this should be in the wiki, if not already. -- Terry Jan Reedy
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: PEP/GSoC idea: built-in parser generator module for Python? Terry Reedy <tjreedy@udel.edu> - 2014-03-14 15:48 -0400
csiph-web