micropython

Graph

(0) -100 -60 +60 +100 +300 tip
Removed some parts of the structure documentation since the assignment
Fixed default inputs.
Changed inspected context details to more accurately reflect the current policy.
Improved context-related documentation and related tests.
Speculative adjustment to contexts associated with new instances.
Introduced instance templates to the generated raw image.
Fixed raw object positioning for functions with static defaults.
Introduced a DataObject class to provide a nicer representation of the raw
Fixed the output representation of Block instances.
Renamed global_namespace attributes to module in data instances.
Fix unused objects optimisation for Attr instances with no predictable
Moved InspectError usage into the inspect module.
Make unused name and object removal more conservative, avoiding issues of
Insist on Const instances as keys for the constants dictionary, ensuring that
Separated functionality in Importer into distinct Importer and Program classes.
Added some support for constant data.
Moved raw code production into the Importer class.
Moved method name information into the common module.
Added status flags to the Importer, ensuring that certain operations (vacuum and
Upheld the class/function restrictions on removing objects.
Added name accounting.
Moved constant accounting to the Importer class.
Moved optimisations onto instances of the Importer class, using such instances
Add name retrieval method for checking raw output and ensuring that each object
Moved block expansion into the micropython.rsvp module's raw processing
Added methods to convert from blocks to code sequences.
Introduced code blocks in place of labels, potentially leading to increased
Added the raw form of Module objects.
Fixed unary operator frame preparation.
Re-ordered the methods according to corresponding node type.
Introduced immediate usage assessment for AssList/AssTuple, along with separate
Tidied up the optimiser by removing unnecessary translator/translation
Split the attributes2 test into smaller pieces.
Tidied the optimisations, moving the work done in the self access optimisation
Made the constant attribute accessor optimisation explicit.
Moved the Optimiser class into its own module, taking the responsibility for
Moved some documentation to separate files in the docs directory, updating some
Attempt to remove excessive temporary storage usage for the results of
Added some support for augmented assignment.
Apply the simple case immediate assignment optimisation to attribute assignment.
Moved graph definition production to a separate module.
Added notes about related projects.
Added a simple graph function producing Graphviz output.
Added exception conditions for various RSVP instructions using AttributeError
Tidied up the exception code generation to ensure that referenced exceptions are
Changed the frame usage calculations.
Removed the source storage optimisation, since it can effectively be replaced by
Removed the superfluous temporary storage optimisation since it could never work
Added a summary of current optimisations.
Separated the optimisation methods out into a distinct class.
Added the final Return instruction to generated images.
Made object construction through MakeObject use details of a supplied class,
Added notes about calling initialisers and instantiators, adopting a strategy
Added another test of method invocation, explicitly testing instance/class
Added descendants (and self) to the collection of attributes for each class,
Proposed the replacement of the class table by special attributes in the object
Fixed temporary storage and local usage.
Changed context loading conditions to depend on the target instead of a context
Fixed known_target optimisation.
Fixed temp allocation, hopefully.
(0) -100 -60 +60 +100 +300 tip