On 2/8/06, Thomas Wouters <[EMAIL PROTECTED]> wrote: > On Wed, Feb 08, 2006 at 01:39:34PM -0800, Brett Cannon wrote: > > On 2/8/06, Joao Macaiba <[EMAIL PROTECTED]> wrote: > > > > 1. For a newbie in the Python core development, what is the best PEP to > > > begin with ? > > > Wild guess? 308, but that still requires changing the grammar and > > editing the AST compiler. 328 will need playing with the import code > > which is known to be hairy. 343 has the same needs as 308, but I bet > > would be more complicated. > > Joao brought up an interesting point on #python on freenode, though... Is > there any documentation regarding the AST code? I started fiddling with it > just to get to know it, adding some weird syntax just for the hell of it, > and I *think* I understand how the AST is supposed to work. I haven't gotten > around to actually coding it, though (just like I haven't gotten around to > PEP 13 ;) so maybe I have it all wrong. A short description of the > principles and design choices would be nice, maybe with a paragraph on how > to add new syntax constructs. How tightly should the AST follow the grammar, > for instance? >
There is a Python/compile.txt that was originally started by Jeremy that I subsequently picked up and heavily fleshed out at the last PyCon sprint. It didn't get checked in during the merge because Jeremy was not sure where to put it. But I just checked it in since I realized I can delete it once PEP 339 is updated. It is slightly out of date, though, because of the lack of info on the arena API. > (I pointed Joao to the augmented assignment patch for 2.0, which doesn't say > anything about the AST but should be helpful hints in his quest to > understand Python's internals. Lord knows that's how I learned it... By the > time he groks it all, hopefully someone can help him with the AST parts ;) > Probably best way to read it is to follow how an 'if' statement gets compiled. That's how I picked it up. -Brett _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com