micropython

Graph

(0) -100 -60 +60 +100 +300 tip
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.
Removed various RSVP instructions, introducing generated code for LoadBoolean
Added an ordered list of modules whose code can then be executed in order, thus
Added more support for LoadAttr and LoadAttrIndex in the RSVP implementation.
Added raw table generation, at least for object tables.
Remove trace statement.
Fix class table preparation.
Added a class table which should provide run-time support for class
Introduced the active_value attribute in order to track instructions which
Added tests of attribute binding and comparisons.
Changed context definition when storing attributes in order to better support
Attempted to define the RSVP instructions more thoroughly.
Added tables to the initialiser, although these will ultimately be positioned in
Changed local_usage to include parameters (ie. all_locals).
Changed the treatment of boolean status (for tests and conditional jumps) such
Made the test work with the current code generator.
Changed temporary storage management to use a set of allocated positions.
Removed LoadResult from the temporary storage compatible instructions.
Fixed CheckFrame production, employing the proper argument count.
Added frame size estimation based on the number of arguments used and parameter
Added notes about handling default parameter values at run-time.
Moved parts of the documentation into the docs directory.
Added some support for lambda.
Made LoadResult a suitable temporary storage access replacement.
Made module and class attribute storage forbidden via attribute access on
Introduced a separate StoreException instruction.
Made methods to handle assignment expression values.
Moved various methods around in the Translation class.
Simplified temporary storage access instructions (using one instruction, not a
Removed the value stack mechanisms.
Changed the code generator to reject unsupported AST nodes.
Fix exception handler inspection.
Attempted to improve invocations by adopting explicitly populated frames.
Added exception handler variable definition support to the inspection process.
Added missing module attribute test files.
Fixed CheckSelf generation (using only the first argument of an invocation).
Added support for the detection of module attribute assignment.
Added internal stack operations to instructions in order to support stack
Added some more notes about invocations.
Renamed the node attribute to astnode in order to avoid attribute naming
Moved Label into the common module.
Added partial support for converting generated code into a "raw" format,
Added parent attributes to instances of various classes, since certain
(0) -100 -60 +60 +100 +300 tip