simplify

Graph

(0) -60 +60 +100 tip
Wrapped __class__ attributes up properly, fixing the attribute traversal code
Made a nicer repr output for Instance.
Tidied code layout.
Fixed program validity.
Added annotated types to the repr output.
Made the invocations annotation a list.
Attempted to handle invocation arguments properly, introducing argument
Added tuple initialiser.
Added "full naming", replacing the id(self) usage.
Improved argument mismatch error.
Introduced original nodes in all new simplified nodes.
Added tentative annotation and error handling.
Added support for reporting annotation errors.
Added original node attribute initialisation to structure-related classes.
Introduced original node references into all simplified nodes.
Improved exception handling in annotate.
Introduced lots of convenience functions.
Attempted to make the generated node structure more obvious.
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.
(0) -60 +60 +100 tip