On 05/27/2013 07:56 PM, ALAN GAULD wrote:
I can't speak for Jim, but I have used the dis module in the past to
quickly check how python parsed an expression (e.g. not x is y).
Yes, I've done that too. But that's not the bytecodes (at least not what
I understand as bytecodes) that's the dis-assembly listing which is
usually far more useful. And as you say the dis module provides that
without any need for other tools.



Certainly dis.dis() doesn't show the entire file, it shows only a single function. And it doesn't show the const-table, or the local-table. (Whatever they're called in byte-code-speak)

But within the function it's probably got most all of what you would see in a byte code file, barring the hex values of the bytes themselves. Notice it shows you the offsets, so you know how many bytes each instruction takes. And when the instruction is more than one byte long, it shows the operands, in both decimal form and in mnemonic.

When I first got my hands on the (very good) spec for the java byte code file, I wrote a disassembler for it. Seems to me the python one is very analogous to that one.

Note, though that I have never tried to even look at the python one, even with a hex editor. So I could be all wet.


--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to