On Sat, 4 Mar 2000, Tim Peters wrote: > I like Moshe's suggestion fine, except with an abstract base class named > Nanny with a virtual method named check_ast. Nannies should (of course) > derive from that. Why? The C++ you're programming damaged your common sense cycles? > > Since parsing is expensive, we probably want to share the parse tree. > > What parse tree? Python's parser module produces an AST not nearly "A > enough" for reasonably productive nanny writing. As a note, selfnanny uses the parser module AST. > GregS & BillT have > improved on that, but it's not in the std distrib. Other "problems" include > the lack of original source lines in the trees, The parser module has source lines. > and lack of column-number info. Yes, that sucks. > Note that by the time Python has produced a parse tree, all evidence of the > very thing tabnanny is looking for has been removed. That's why she used > the tokenize module to begin with. Well, it's one of the few nannies which would be in that position. > God knows tokenize is too funky to use too when life gets harder (check out > checkappend.py's tokeneater state machine for a preliminary taste of that). Why doesn't checkappend.py uses the parser module? > Grabbing the GregS/BillT enhancement is probably the most > practical thing we could build on right now You got some pointers? > (but tabnanny will have to remain a special case). tim-will-always-be-a-special-case-in-our-hearts-ly y'rs, Z. -- Moshe Zadka <mzadka@geocities.com>. http://www.oreilly.com/news/prescod_0300.html
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4