5 def extract_code_objects(co
):
7 for const
in co
.co_consts
:
8 if type(const
) == types
.CodeType
:
13 if not (a
.co_name
== "?" or a
.co_name
.startswith('<lambda')):
14 assert a
.co_name
== b
.co_name
, (a
, b
)
15 if a
.co_stacksize
!= b
.co_stacksize
:
16 print "stack mismatch %s: %d vs. %d" % (a
.co_name
,
19 if a
.co_stacksize
> b
.co_stacksize
:
29 buf
= open(file).read()
31 co1
= compile(buf
, file, "exec")
35 co2
= compiler
.compile(buf
, file, "exec")
36 co1l
= extract_code_objects(co1
)
37 co2l
= extract_code_objects(co2
)
38 for a
, b
in zip(co1l
, co2l
):
41 if __name__
== "__main__":