93:de8cd27e721d
|
2008-06-16 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added internal stack operations to instructions in order to support stack
avoidance optimisations (where operands are loaded from other places than the
stack).
Replaced Pop with ResetStack.
Added code and code_location attributes to the Importer class; made the test
program's machine function use an Importer instance which provides such
attributes for the initialisation of the RSVPMachine. |
|
|
micropython/__init__.py micropython/ast.py micropython/rsvp.py test.py
|
|
92:ae889a05bc32
|
2008-06-09 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added some more notes about invocations.
Attempted to improve the invocation code, tidying up the argument preparation
somewhat.
Fixed constant registration in the inspection code.
Prevented repeated attribute finalisation in the data classes.
Tidied up the RSVP instructions and attempted to support some more of them. |
|
|
docs/invocation.txt micropython/ast.py micropython/data.py micropython/inspect.py micropython/rsvp.py rsvp.py
|
|
91:dd32f05e3a8c
|
2008-06-07 |
Paul Boddie |
changeset
files
shortlog
graph
|
Renamed the node attribute to astnode in order to avoid attribute naming
conflicts with the compiler.ast classes.
Improved default argument loading by using LoadAddress.
Added some documentation to the inspect module.
Changed the inspection process so that instance attributes are detected in all
methods belonging to a class, not just the __init__ method.
Changed constant definition so that constants are not redefined using new
objects.
Fixed attribute assignment during inspection to respect the presence of class
attributes when considering possible instance attribute assignment.
Added a name function to the micropython.rsvp module in order to simplify
__repr__ methods.
Added more tests. |
|
|
micropython/ast.py micropython/common.py micropython/data.py micropython/inspect.py micropython/rsvp.py tests/attributes.py tests/range.py
|
|
90:b1ef174ec4a2
88:e83bc6d2e3b4
|
2008-05-19 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved Label into the common module.
Fixed code generation for class storage.
Fixed context generation in method invocations.
Added stack pop operation for Discard nodes.
Tidied the instructions, adding get_operand methods for use in RSVPMachine
instances.
Improved instruction coverage in RSVPMachine, employing the instruction
representations used elsewhere.
Added a function which converts the code such that Attr instances become
simplified values of the form (context, reference). |
|
|
micropython/ast.py micropython/common.py micropython/rsvp.py rsvp.py test.py
|
|
89:fed8371e233a
|
2008-05-18 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added partial support for converting generated code into a "raw" format,
although this may not be particularly appropriate at this stage of development. |
|
|
micropython/rsvp.py rsvp.py test.py
|
|
88:e83bc6d2e3b4
89:fed8371e233a 90:b1ef174ec4a2
|
2008-05-18 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added parent attributes to instances of various classes, since certain
situations cause such attributes to be tested. |
|
|
micropython/data.py
|
|
87:dfeec8c15758
|
2008-05-18 |
Paul Boddie |
changeset
files
shortlog
graph
|
Revised the rules around attributes and contexts, based on new observations
documented in the methods.py examples.
Added a context attribute to Attr instances in order to properly simulate the
revised rules.
Added context changing as values are added to namespaces.
Added missing context generation in invocation code generation.
Tidied up the formatted representations of data objects.
Fixed local variable positions.
Tidied up Getattr processing when inspecting modules.
Extended the tests to cover attribute access rules. |
|
|
README.txt micropython/ast.py micropython/data.py micropython/inspect.py micropython/rsvp.py tests/call_method.py tests/methods.py tests/reference/methods.py
|
|
86:12f29a090aa7
|
2008-05-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added notes about the operations performed by various instructions in relation
to the context of loaded data.
Attempted to make invocation code generation slightly more modular.
Attempted to fix argument production with respect to invocations which have an
explicit context as their first argument.
Made Const a subclass of Instance.
Added a context attribute to instructions which should be used when examining
instructions in certain optimisation situations. |
|
|
README.txt micropython/ast.py micropython/data.py micropython/rsvp.py rsvp.py tests/attributes.py tests/call_method.py
|
|
85:5076b9976f4d
|
2008-05-11 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added a Constant superclass for Const, Class, Function and Module.
Fixed binary operator code generation to drop unused right method invocation
frames.
Added unary operator support.
Added usage of the unary and binary operator support for the remaining AST
nodes.
Added support for lambda inspection. |
|
|
micropython/ast.py micropython/data.py micropython/inspect.py tests/lambda.py
|
|
84:e7cd07e72de4
|
2008-05-11 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed rsvp module import of data-related classes.
Moved TableError to the common module. |
|
|
micropython/common.py micropython/rsvp.py micropython/table.py
|
|