95:5e9482ffb9a7
|
2008-06-22 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed CheckSelf generation (using only the first argument of an invocation).
Overhauled stack usage by incorporating stack accesses and results in many
instructions, calculating usage as instructions are added and removed.
Removed ResetStack since the stack should now be a detail in the compilation
process.
Introduced a StackReplace mix-in in order to more correctly model various
instructions. |
|
|
micropython/ast.py micropython/rsvp.py
|
|
94:7b78ddb23be6
|
2008-06-21 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added support for the detection of module attribute assignment.
Added some more tests of module assignment.
Introduced better system path initialisation based on the program being
inspected. |
|
|
docs/rationale.txt micropython/inspect.py test.py tests/failure/imported.py tests/failure/importer.py
|
|
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
|
|