• Jeremy Hylton's avatar
    Change the graph structure to contain the code generator object for · 314e3fb2
    Jeremy Hylton yazdı
    embedded code objects (e.g. functions) rather than the generated code
    object.  This change means that the compiler generates code for
    everything at the end, rather then generating code for each function
    as it finds it.  Implementation note: _convert_LOAD_CONST in
    pyassem.py must be change to call getCode().
    
    Other changes follow.  Several changes creates extra edges between
    basic blocks to reflect control flow for loops and exceptions.  These
    missing edges had gone unnoticed because they do not affect the
    current compilation process.
    
    pyassem.py:
        Add _enable_debug() and _disable_debug() methods that print
        instructions and blocks to stdout as they are generated.
    
        Add edges between blocks for instructions like SETUP_LOOP,
        FOR_LOOP, etc.
    
        Add pruneNext to get rid of bogus edges remaining after
        unconditional transfer ops (e.g. JUMP_FORWARD)
    
        Change repr of Block to omit block length.
    
    pycodegen.py:
        Make sure a new block is started after FOR_LOOP, etc.
    
        Change assert implementation to use RAISE_VARARGS 1 when there is
        no user-specified failure output.
    
    misc.py:
        Implement __contains__ and copy for Set.
    314e3fb2
Adı
Son kayıt (commit)
Son güncelleme
BeOS Loading commit data...
Demo Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Python Loading commit data...
Tools Loading commit data...
.cvsignore Loading commit data...
.hgtags Loading commit data...
LICENSE Loading commit data...
Makefile.in Loading commit data...
README Loading commit data...
acconfig.h Loading commit data...
config.h.in Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
install-sh Loading commit data...