At 12:56 AM 7/25/2008 +1000, Thomas Lee wrote:
I'm making some good progress with the AST optimizer, and now the
main thing standing in my way is lnotab. Currently lnotab expects
bytecode sequencing to be roughly in-sync with the order of the
source file and a few things that the optimizer does (e.g. swapping
the bodies of an if/else after removing negation such that "if not
X: A; else: B" becomes "if X: B; else A") breaks this assumption.
This will result in either an assertion failure or incorrect line
numbers being reported.
It seems that lnotab is used in relatively few places in the source
code at the moment, but if I'm going to make a change to how lnotab
works I want to do so in a way that's going to allow me to move
forward while keeping everybody happy.
I'm away for a few days so I probably won't be able to get back to
anybody until either Sunday or Monday, but I'd appreciate it if
anybody in the know can weigh in on this.
I'd personally love it if the lnotab were capable of handling line
numbers from different files as well as out-of-order lines. (For
function inlining, among other more esoteric things.)
_______________________________________________
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