Anthony Baxter <[EMAIL PROTECTED]> wrote:
> Could someone involved give a short email laying out what concrete (no 
> pun intended) advantages this new compiler gives us?

One advantage is that it decreases the coupling between the parser
and the backend of the compiler. For example, it should be possible
to replace the parser without modifying a lot of the compiler.
Also, the concrete syntax tree (CST) generated by Python's parser is
not a convenient data structure to deal with. Anyone who's used the
'parser' module probably experienced the pain:

    >>> parser.ast2list(parser.suite('a = 1'))
    [257, [266, [267, [268, [269, [320, [298, [299, [300, [301,
    [303, [304, [305, [306, [307, [308, [309, [310, [311, [1,
    'a']]]]]]]]]]]]]]], [22, '='], [320, [298, [299, [300, [301, [303,
    [304, [305, [306, [307, [308, [309, [310, [311, [2,
    '1']]]]]]]]]]]]]]]]], [4, '']]], [0, '']]

> Does it just allow us to do new and interesting manipulations of
> the code during compilation?

Well, that's a pretty big deal, IMHO. For example, adding
pychecker-like functionality should be straight forward now. I also
hope some of the namespace optimizations get explored (e.g. PEP
267).

> Cleaner, easier to maintain, or the like?

At this point, the old and new compiler are pretty similar in terms
of complexity. However, the new compiler is a much better base to
build upon.

  Neil

_______________________________________________
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

Reply via email to