simplify

Graph

(0) +60 +100 tip
Changed operator type mismatch signalling to use plain exceptions.
Attempted to get invocations closer to working correctly.
Attempted to fix attribute access contexts and to provide some support for
Added previously missing dispatching on parameter defaults.
Moved visitor attribute initialisation.
Changed the processing of attributes so that Attribute objects are unwrapped
Moved return values/locals to instances of the Namespace class.
Rearranged definitions.
Fixed the NameOrganiser to correctly identify the scope of names.
Removed LoadGlobal, LoadBuiltin and StoreGlobal, replacing them with LoadAttr
Changed the API of the Annotator and Fixer classes.
Isolated class initialisation from the local namespace.
Added missing subprogram namespace initialisation.
Added tracing of the system state.
Added the original node to function-originating subprograms.
Added more tests.
Changed attribute access to provide attribute type and context information in an
Fixed temporary value manipulation in annotate.
Made the example semantically valid.
Fixed handler attribute visiting in fixnames, along with some incorrectly
Made usage of Conditional nodes more consistent, employing both the body and
Fixed/improved namespace usage in the annotation process.
Added elementary built-in namespace support.
Introduced separate Namespace classes for the annotate and fixnames modules.
Introduced a fixnames module in order to separately define the scope for each
Added elementary support for Return nodes, base classes and tentative support
Fixed tests for annotation.
Introduced None as a name for anonymous subprograms.
Introduced support for the same_frame attribute of Invoke.
Introduced subprograms for If node bodies so that local merging may be more
Changed namespace initialisation and structure storage/retrieval.
Added the beginnings of invocation support.
Made tests usable for annotation purposes.
Added analysis builtins.
Added some global name support: transformation of loads and stores to explicit
Renamed various classes and methods, adjusting the test program appropriately.
Moved common visitor facilities into the simplified module.
Made function subprogram names originate from the AST nodes which defined them.
Changed If and TryExcept replacements to employ subprograms similar to those
Added annotation notes.
Fixed Compare and usage of args (instead of params) in Invoke nodes.
Split up the original test.
Added Compare, simplified And processing slightly.
Added comments and fixed temporary value storage and retrieval in And and Or.
Fixed original node mentions.
Added Subscript node support (including augmented subscript assignment) along
Fixed augmented slice assignments. Added the missing special methods for
Added a link from the original node to any corresponding new node.
Added produces_result to some Invoke nodes, returns_value to some Subprogram
Added Slice support, along with Slice participation in AugAssign node groups.
Added Raise, fixed TryExcept for empty handler specifications.
Added UnaryAdd, UnarySub, Invert.
Added From and Import.
Added AugAssign, introduced index attributes to LoadTemp/StoreTemp/ReleaseTemp.
Added Global, And, Or, Not and made minor fixes.
A simplified AST processor.
(0) +60 +100 tip