213:5c20f017c8de
|
2007-04-06 |
paulb |
changeset
files
shortlog
graph
|
Introduced sets throughout the code.
Created a simplified package containing essential classes.
Changed the annotation visitor so that nodes are not returned from each visitor
method.
Added a check on the context when invoking subprograms so that the extra Self
node is not inserted into the arguments for non-instance methods or functions. |
|
|
annotate.py simplified.py simplified/__init__.py simplified/ast.py simplified/data.py simplified/program.py simplified/utils.py
|
|
212:c8616d31e76c
|
2007-04-01 |
paulb |
changeset
files
shortlog
graph
|
Made the recording of return types and exceptions on function nodes annotation
operations, fixing a lack of analysis on recursive functions.
Changed the handling of constants so that Constant objects are not loaded as
references - instead, instances are created dynamically.
Changed the __atomic__ attributes in the built-in classes to use the "object"
name already defined, thus avoiding issues with the initialisation order of
built-in classes.
Fixed a docstring in the simplified module. |
|
|
annotate.py lib/builtins.py simplified.py simplify.py
|
|
211:c7030168ba63
|
2007-04-01 |
paulb |
changeset
files
shortlog
graph
|
Made function names a different colour. |
|
|
viewer.py
|
|
210:665ac29a312a
|
2007-03-04 |
paulb |
changeset
files
shortlog
graph
|
Fixed name resolution by enforcing the share_locals attribute.
Added a test exposing incorrect resolution. |
|
|
fixnames.py tests/while2.py
|
|
209:2068510e5d26
|
2007-03-04 |
paulb |
changeset
files
shortlog
graph
|
Silenced trace statements. |
|
|
annotate.py
|
|
208:9c8152cabd96
|
2007-03-04 |
paulb |
changeset
files
shortlog
graph
|
Fixed the range built-in function.
Added a time module.
Added the "lib" directory to the end of the import path.
Added a variable for the location of the "lib" directory to simplified. |
|
|
annotate.py lib/builtins.py lib/time.py simplified.py
|
|
207:319e35c72bb1
|
2007-02-26 |
paulb |
changeset
files
shortlog
graph
|
Fixed the setting of types in the Namespace set_types method, always taking a
copy of anything passed in.
Fixed various places where subprograms were produced or copied, ensuring that
they get registered with their module owners.
Added returns, return_locals and raises to Subprogram nodes so that recursive
calls initially provide empty results and that return types eventually build
up on such nodes.
Moved global/module namespace adjustment to process_node in order to ensure
correct namespaces for re-run invocations.
Removed the "identical instance" behaviour from ProlificMultipleInstanceClass
since star argument lists produced by list methods ended up using the owning
list instance, polluting the contents of such lists. |
|
|
annotate.py simplified.py
|
|
206:397411420aed
|
2007-02-26 |
paulb |
changeset
files
shortlog
graph
|
Added string comparison methods. |
|
|
lib/builtins.py
|
|
205:920eb3dd4591
|
2007-02-26 |
paulb |
changeset
files
shortlog
graph
|
Minor formatting changes. |
|
|
simplify.py
|
|
204:9deeef8dc11a
|
2007-02-25 |
paulb |
changeset
files
shortlog
graph
|
Introduced instance annotations on program nodes in order to support more
complicated class/instance mechanisms, such as the "prolific" multiple instance
class introduced here.
Changed InvokeBlock plus LoadRef to just InvokeRef, adding subprogram copying in
order to avoid specialised copies of methods all sharing the same internal
subprograms.
Fixed the copying of argument attributes on nodes.
Changed list construction to use an internal subprogram, fixing the list
initialiser to be like the standard Python list initialiser.
Added "re-running" of invocations in order to prevent deep recursion which
crashes Python. |
|
|
annotate.py fixnames.py lib/builtins.py simplified.py simplify.py test.py
|
|