240:c93dcf98ca1b
|
2009-06-07 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the code body location initialisation in the code generation activity to
set either a specific location or a symbolic reference to a native function or
class (employing an instantiator).
Fixed the "for" loop iterator storage and exception handling.
Made xrange raise a StopIteration instance, short of adding class detection into
RaiseException.
Made code generation produce instantiators for StopIteration and BaseException,
with the latter also providing attribute/size information in the builtins
module.
Added more integer operations in the RSVP implementation. |
|
|
lib/builtins.py micropython/__init__.py micropython/ast.py micropython/data.py micropython/rsvp.py rsvp.py
|
|
239:db8334eb671f
|
2009-06-07 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added generation of some built-in classes and functions where docstrings are
provided.
Added an implementation of the xrange class.
Added a test of xrange and modified existing tests.
Fixed augmented assignment code generation. |
|
|
lib/builtins.py micropython/__init__.py micropython/ast.py tests/cond_if_else.py tests/for.py tests/xrange.py
|
|
238:424eacd02394
|
2009-06-07 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed RSVP implementations of attribute access instructions, handling empty
object table entries correctly and raising attribute errors under appropriate
circumstances.
Fixed the test for context overriding to handle the different context type
values appropriately. |
|
|
rsvp.py
|
|
237:31c5526286ba
|
2009-06-03 |
Paul Boddie |
changeset
files
shortlog
graph
|
Introduced replaceable and placeholder contexts, replacing the null context
(None) with ReplaceableContext and introducing PlaceholderContext for class
value contexts via a new LoadClass instruction, thus permitting instantiators to
be called with such contexts. |
|
|
docs/concepts.txt micropython/ast.py micropython/data.py micropython/opt.py micropython/program.py micropython/rsvp.py micropython/trans.py rsvp.py
|
|
236:6ba10a65eddd
|
2009-06-02 |
Paul Boddie |
changeset
files
shortlog
graph
|
Introduced a separate globals processing phase, recording all declared global
names before attempting to resolve other names.
Removed the Global class and warning about globals not being declared at the
module level.
Added tests of globals. |
|
|
micropython/inspect.py tests/global_forward_declaration.py tests/global_implicit.py
|
|
235:2197662b8603
|
2009-06-01 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the inspect module to visit the module and class code sections before the
function code bodies, adding also some handling of forward/advance referencing
(where a name may accumulate objects after being marked as referenced).
Added a flag to Translation instances in order to generate ClearException
instructions before Return instructions in exception handlers.
Fixed class inspection to correctly collect all instance attributes (including
those mentioned in base classes).
Added elementary support for generic exceptions. |
|
|
lib/builtins.py micropython/ast.py micropython/data.py micropython/inspect.py rsvp.py tests/exception.py
|
|
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
|
|