romanofski/programslice

Scopes and Graphs

Closed this issue · 1 comments

Currently the problem is that graphs are not scope aware. For example, the binsearch.py testdata would run into a KeyError when accessing the scope attribute with the assignment in line 1. I think we need a better scope representation during graph creation.

This becomes more important, if we need to slice over graph boundaries (e.g. function calls). Currently the graph uses an attribute to store references from edges to other graphs, eg.:

>>> self.graph.references
{<Edge func2 at #6@8>: [<Graph func2>]}

This feels quite hacking. We need a better solution for this.

Closing this, since I think with the latest quality improvement branch this is much of an issue.