234:77038806cb40
|
2009-06-01 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved context verification back into the invocation code, as opposed to residing
in the function body code. This is required because keyword arguments need to
operate on adjusted frames, and such adjustments must therefore occur because
keyword arguments are stored in their invocation frames.
Renamed CheckClassContext to the more general CheckClass instruction.
Made AdjustFrame operate on invocation frames again.
Introduced explicit tests for class invocation since instantiators require an
extra slot for each new instance.
Fixed the "if" statement to employ conversion of expression results to boolean
values.
Split and improved test programs. |
|
|
docs/invocation.txt micropython/ast.py micropython/opt.py micropython/rsvp.py micropython/trans.py rsvp.py tests/attributes_instance_bind_initialiser.py tests/cond_if.py tests/lambda.py tests/lambda_defaults.py ...
|
|
233:8abc113da24c
|
2009-06-01 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed StoreCallable using a new DataObject method which replaces the address of
the callable.
Made a cmd module to handle common compilation and processing activities.
Renamed MakeObject to MakeInstance.
Changed FillDefaults to use the current value as a reference to the container
holding the defaults.
Removed the extra temporary storage slot previously used when adjusting frames.
Changed lambda functions to use a context parameter, changing the image to not
reserve space for defaults immediately after the header of such functions.
Added notes about the issues with positioning keyword arguments.
Expanded and improved the tests. |
|
|
docs/concepts.txt docs/exceptions.txt docs/invocation.txt micropython/__init__.py micropython/ast.py micropython/cmd.py micropython/data.py micropython/inspect.py micropython/opt.py micropython/program.py ...
|
|
232:2ede6db71ceb
|
2009-05-31 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the structure of "if" statement code.
Fixed comparison method definitions for equality and inequality.
Added optimisation where exception handlers are pushed and popped without any
code defined between these operations.
Reviewed exception handling including that employed around operators,
introducing PopHandler and ClearException instructions in order to properly
maintain exception state.
Added RSVP support for some integer comparisons.
Split the compare2 test program into separate tests.
Added some exception-related documentation. |
|
|
docs/exceptions.txt micropython/ast.py micropython/common.py micropython/opt.py micropython/rsvp.py micropython/trans.py rsvp.py tests/compare.py tests/compare2.py tests/compare_equality.py ...
|
|
231:b8fea0931697
|
2009-05-30 |
Paul Boddie |
changeset
files
shortlog
graph
|
Split the descendant of the old classes test into two more specific tests of
attribute binding and methods/callables. |
|
|
tests/attributes_instance_bind_initialiser.py tests/attributes_instance_bind_method.py
|
|
230:892b13f1cba4
|
2009-05-30 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed instantiator invocation reserving a frame slot regardless of whether the
target is known in advance. In the instantiator, the first frame slot is then
overwritten with the new instance, and the RecoverFrame instruction is no longer
required. Instead, a new JumpInFrame instruction maintains the existing locals,
jumping to the initialiser method for the class.
Updated various tests, renaming and enhancing the classes test. |
|
|
docs/invocation.txt micropython/ast.py micropython/data.py micropython/rsvp.py micropython/trans.py rsvp.py tests/attributes_instance_bind_method.py tests/call_method.py tests/call_method_ref.py tests/call_method_ref_internal.py ...
|
|
229:a179262ea7c4
|
2009-05-29 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed RecoverFrame to actually recover the locals as the invocation frame,
rather than just discard the locals.
Changed AdjustFrame to work on the locals.
Switched the order of the above instructions in instantiator functions.
Made various tests compatible with the simple testing framework. |
|
|
micropython/ast.py rsvp.py tests/call_func.py tests/call_func_default.py tests/call_func_default_keyword.py tests/call_func_default_non_constant.py tests/call_func_default_redefine.py tests/call_func_extra.py tests/call_func_keyword.py tests/call_func_star_parameter_unpack.py ...
|
|
228:db7d77ceddda
|
2009-05-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved some functionality from test.py into the rsvp and micropython modules.
Moved test program code into more specific tests, adding support for automated
testing into some programs, and adding a test method to the RSVPMachine class. |
|
|
micropython/__init__.py rsvp.py test.py tests/attributes4.py tests/attributes_class.py tests/attributes_class_bind_function.py tests/attributes_class_bind_function_inherited.py tests/attributes_class_bind_function_inherited_internal.py tests/attributes_class_bind_function_inherited_via_self.py tests/attributes_class_bind_function_internal.py ...
|
|
227:8c504f98e45f
|
2009-05-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the interface to functions and instantiators to expose the body block
(after argument checking) instead of an explicit location. |
|
|
micropython/data.py micropython/rsvp.py
|
|
226:44279e9276d6
|
2009-05-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Removed the LoadAttrIndexContext instruction.
Made LoadFunction usable for various optimisations.
Split various tests into smaller, more specific versions. |
|
|
micropython/ast.py micropython/opt.py micropython/rsvp.py micropython/trans.py rsvp.py tests/attributes2.py tests/attributes3.py tests/attributes_class_bind_function_inherited_internal.py tests/attributes_class_bind_function_inherited_via_self.py tests/attributes_class_bind_function_internal.py ...
|
|
225:be4035baf424
|
2009-05-24 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed direct invocation locations by recording the body block on each function. |
|
|
micropython/ast.py micropython/data.py
|
|