139:29103989ca36
|
2008-09-05 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added the final Return instruction to generated images.
Fixed the For node processing to store assigned values before visiting
assignment nodes.
Changed source processing to not use temporary storage optimisations, since the
conditions for such optimisations are not met in general when processing
assignments.
Adopted a list to hold sources (assignment expression values), since list and
tuple assignment act on a hierarchy of such values.
Added elementary support and tests for list assignment. |
|
|
micropython/__init__.py micropython/ast.py micropython/inspect.py tests/list_assign.py tests/list_assign2.py
|
|
138:4c95794770e6
|
2008-09-04 |
Paul Boddie |
changeset
files
shortlog
graph
|
Made object construction through MakeObject use details of a supplied class,
reserving an extra location for type information.
Changed some LoadAddress usage to LoadConst in order to feed instructions which
require a value, not the type information of an object (which is what
LoadAddress acting on a reference to an object, as opposed to an attribute,
would provide).
Added parameter default details to raw class and function information, although
further default details are required.
Added convenience methods to the RSVPMachine class for inspecting and stepping
through execution of a program.
Changed various RSVP implementations, fixing stack manipulation and returning
from subroutines.
Made the test of lists wider in scope. |
|
|
micropython/ast.py micropython/rsvp.py micropython/table.py rsvp.py test.py tests/list.py
|
|
137:f660fe1aac5c
|
2008-09-01 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added notes about calling initialisers and instantiators, adopting a strategy
where instantiation detected at compile-time is performed using an initialiser
directly, whereas that detected at run-time is done using an instantiator whose
code is now generated in the image.
Added a finalise method to the Importer in order to set attribute locations
before code generation, since some code (use of initialisers) requires details
of a different program unit's locals (although this is actually unnecessary, but
done because Attr instances are employed in the generated code).
Changed class invocation at compile-time to acquire the new object reference
from the frame of an already invoked initialiser just before dropping the frame.
Added some support for raw image encoding of classes and functions.
Changed JumpWithFrame usage to involve the current callable, not the current
value.
Added RecoverFrame and AdjustFrame instructions.
Improved the tests around instantiation. |
|
|
docs/invocation.txt docs/structures.txt lib/builtins.py micropython/__init__.py micropython/ast.py micropython/data.py micropython/rsvp.py micropython/table.py rsvp.py test.py ...
|
|
136:9fdd2c13dbac
|
2008-08-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added another test of method invocation, explicitly testing instance/class
compatibility for supplied contexts. |
|
|
tests/call_method3.py
|
|
135:eb01c567dfeb
|
2008-08-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added descendants (and self) to the collection of attributes for each class,
stored in the object table.
Switched the "validator" stored in the tables to be the attribute index as
opposed to the offset - this might help when eventually trying to encode and
store such data in low memory environments.
Employed a slightly better approach to populating the displacement lists
generated for tables by adding rows in descending order of utilisation (ie.
with most gaps or empty entries last).
Added a simple visualisation function in the test program for viewing raw
table data. |
|
|
micropython/__init__.py micropython/data.py micropython/table.py rsvp.py test.py
|
|
134:12c97a4d751c
|
2008-08-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Proposed the replacement of the class table by special attributes in the object
table.
Fixed the object header representations in the RSVP implementation. |
|
|
docs/structures.txt micropython/__init__.py micropython/ast.py micropython/table.py rsvp.py test.py tests/call_method2.py
|
|
133:ff0d31fbd387
|
2008-08-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed temporary storage and local usage. |
|
|
micropython/ast.py micropython/data.py
|
|
132:dff32649a6d4
|
2008-08-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed context loading conditions to depend on the target instead of a context
of None (since this may occur for identified functions).
Added source instruction tracking in order to provide an optimisation around
intermediate source storage.
Added ExtendFrame for temporary storage allocation.
Added specific classes for the different table and list types.
Provided more RSVP instruction implementations.
Added a callable register to the RSVP implementation. |
|
|
docs/structures.txt micropython/__init__.py micropython/ast.py micropython/rsvp.py micropython/table.py rsvp.py
|
|
131:b62d613c3ca1
|
2008-08-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed known_target optimisation.
Simplified the binary operator method invocation code slightly. |
|
|
micropython/ast.py tests/compare.py tests/compare2.py
|
|
130:8ee002746854
|
2008-08-23 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed temp allocation, hopefully.
Changed usage of _generateTestBoolean to involve a pre-allocated temporary
storage slot. This also helps to resolve issues with logical operations, since
the current value was previously being implicitly used to communicate the result
of such operations.
Split the logical test program into two. |
|
|
micropython/ast.py tests/logical.py tests/logical2.py
|
|