343:6be1700e4902
|
2010-06-14 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved the namespace lookup logic into NamespaceDict; this permits scope usage
analysis and conflict detection.
Renamed the ambiguous 'module' attribute to 'astnode' on various classes.
Moved the AtLeast class into micropython.common.
Added various test cases around scope conflicts. |
|
|
TO_DO.txt micropython/ast.py micropython/common.py micropython/data.py micropython/inspect.py micropython/trans.py tests/failure/shadow_globals_builtins_conflict.py tests/failure/shadow_globals_builtins_conflict_implicit.py tests/failure/shadow_locals_globals_if.py
|
|
342:c7c2119483cf
|
2010-06-13 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed exception attribute initialisation for translation errors.
Reintroduced the _scope attribute on AST nodes in order to support supposedly
harmless changes in scope (such as the "importing" of a built-in or global into
a local scope where the name is redefined subsequently).
Reorganised the tests according to the above shadowing policy change.
Introduced tentative slicing support plus built-in functions that rely on
slicing. |
|
|
TO_DO.txt lib/builtins.py micropython/ast.py micropython/common.py micropython/inspect.py micropython/trans.py tests/failure/shadow_class_global.py tests/failure/shadow_class_global_reassign.py tests/failure/shadow_globals_builtins.py tests/failure/shadow_locals_globals.py ...
|
|
341:334af78f7931
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed inspection of global usage after declarations in locals.
Added list comprehension inspection to avoid scope errors. |
|
|
micropython/inspect.py
|
|
340:3851a63280ff
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed overwriting of exception source details. |
|
|
micropython/common.py
|
|
339:b8c6ae738723
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Simplified exception raising so that the current node and unit name are added to
raised exceptions automatically.
Improved line number reporting in exceptions.
Removed the previous _scope annotations on AST nodes, handling scope conflicts
in the inspection process.
Added the note_scope and used_in_scope methods and the scope_usage attribute to
namespaces in order to track any external scope usage recorded for names.
Changed various tests to not employ name shadowing.
Added various tests which should exhibit failure due to name shadowing.
Fixed the xrange test which previously used name shadowing. |
|
|
micropython/ast.py micropython/common.py micropython/data.py micropython/inspect.py micropython/trans.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 ...
|
|
338:475fd98986d9
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the listiterator.next method to raise an exception instance.
Added a tuple.__iter__ implementation.
Removed "__init__" from the names_always_used list, introducing it into the
attribute coverage mechanism.
Fixed unknown name detection in the translation code.
Fixed an example where globals were used before being defined. |
|
|
lib/builtins.py micropython/__init__.py micropython/trans.py tests/op_add_default.py
|
|
337:d2231267c557
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the fragment occupied size upon extending a list. |
|
|
rsvplib.py
|
|
336:171279c4c97a
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed memory allocation for list fragments. |
|
|
lib/builtins.py rsvp.py rsvplib.py
|
|
335:1bb8c2609f1e
334:662e6ce9a750 333:676798ee996f
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged branches, added a separate test of xrange and lists. |
|
|
lib/builtins.py tests/xrange.py tests/xrange_list.py
|
|
334:662e6ce9a750
331:5dadd4e4a171
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed scope handling where names are imported into namespaces.
Added a simple iter built-in function.
Made the xrange test use the iteration protocol. |
|
|
lib/builtins.py micropython/inspect.py micropython/trans.py tests/xrange.py
|
|