Proofs
A proof is a series of claims that lead to a conclusion. Some proofs are conditional, which means that the claims can only be made under certain conditions. Click on a statement to see the proof
- expression state at time 57 = "call_build_args"
- Class Map at time 57 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 58 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- stack at time 58 = [ ]
- Variables Map at time 58 = [ entry p: (Python reference 0), [ ] ]
- parent stack at time 58 = [ ]
- arguments stack at time 58 = [ ]
- Value Stack at time 58 = [ ]
- the line at time 58 = 9
- the tab at time 58 = 0
- Control Map at time 58 = [ entry 0: (pair ("class", "Person")), [ ] ]
then stack at time 59 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- Function Variables Map at time 58 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 59 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- the expression at time 58 =
p.age_in_months()
- line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6
then the line at time 59 = 7
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- the expression at time 58 =
p.age_in_months()
- line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6
then the tab at time 59 = 2
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
then expression state at time 59 = "not_expr"
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- Python Object Store at time 58 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 59 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 58 = "call_build_args"
- Parameters List at time 58 = [ ]
- the expression at time 58 =
p.age_in_months()
- line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6
then Control Map at time 59 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 58 = "call_build_args"
- Class Map at time 58 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 59 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
return self.age * 12
, then statement at line 7, tab 2 = return __mul__(self.age, 12)
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then the expression at time 60 = __mul__(self.age, 12)
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then expression state at time 60 = "begin_expr"
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then the line at time 60 = 7
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then the tab at time 60 = 2
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then Value Stack at time 60 = [ ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then parent stack at time 60 = [ ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
then arguments stack at time 60 = [ ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
- Variables Map at time 59 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 60 = [ entry self: (Python reference 0), [ ] ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
- stack at time 59 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 60 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
- Python Object Store at time 59 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 60 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- expression state at time 59 = "not_expr"
- Control Map at time 59 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 60 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- the line at time 59 = 7
- the tab at time 59 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- Class Map at time 59 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 60 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 60 = "begin_expr"
- the expression at time 60 =
__mul__(self.age, 12)
- Value Stack at time 60 = [ ]
then Value Stack at time 61 = [ [ ], [ ] ]
- expression state at time 60 = "begin_expr"
- the expression at time 60 =
__mul__(self.age, 12)
- parent stack at time 60 = [ ]
then parent stack at time 61 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 60 = "begin_expr"
- the expression at time 60 =
__mul__(self.age, 12)
- arguments stack at time 60 = [ ]
then arguments stack at time 61 = [ [ self.age
, [ 12, [ ] ] ], [ ] ]
- expression state at time 60 = "begin_expr"
- the expression at time 60 =
__mul__(self.age, 12)
then expression state at time 61 = "iterate_args"
- expression state at time 60 = "begin_expr"
- the expression at time 60 =
__mul__(self.age, 12)
then the expression at time 61 = __mul__(self.age, 12)
- expression state at time 60 = "begin_expr"
- Variables Map at time 60 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 61 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 60 = "begin_expr"
- the line at time 60 = 7
then the line at time 61 = 7
- expression state at time 60 = "begin_expr"
- the tab at time 60 = 2
then the tab at time 61 = 2
- expression state at time 60 = "begin_expr"
- stack at time 60 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 61 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 60 = "begin_expr"
- Python Object Store at time 60 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 61 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 60 = "begin_expr"
- Control Map at time 60 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 61 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 60 = "begin_expr"
- Class Map at time 60 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 61 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 61 = "iterate_args"
- arguments stack at time 61 = [ [
self.age
, [ 12, [ ] ] ], [ ] ]
then the expression at time 62 = self.age
- expression state at time 61 = "iterate_args"
- arguments stack at time 61 = [ [
self.age
, [ 12, [ ] ] ], [ ] ]
then arguments stack at time 62 = [ [ 12, [ ] ], [ ] ]
- expression state at time 61 = "iterate_args"
- arguments stack at time 61 = [ [
self.age
, [ 12, [ ] ] ], [ ] ]
then expression state at time 62 = "begin_expr"
- expression state at time 61 = "iterate_args"
- arguments stack at time 61 = [ [
self.age
, [ 12, [ ] ] ], [ ] ] - parent stack at time 61 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 62 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 61 = "iterate_args"
- Value Stack at time 61 = [ [ ], [ ] ]
then Value Stack at time 62 = [ [ ], [ ] ]
- expression state at time 61 = "iterate_args"
- the line at time 61 = 7
then the line at time 62 = 7
- expression state at time 61 = "iterate_args"
- the tab at time 61 = 2
then the tab at time 62 = 2
- expression state at time 61 = "iterate_args"
- stack at time 61 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 62 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 61 = "iterate_args"
- Python Object Store at time 61 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 62 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 61 = "iterate_args"
- Control Map at time 61 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 62 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 61 = "iterate_args"
- Variables Map at time 61 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 62 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 61 = "iterate_args"
- Class Map at time 61 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 62 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 62 = "begin_expr"
- the expression at time 62 =
self.age
- Value Stack at time 62 = [ [ ], [ ] ]
then Value Stack at time 63 = [ [ ], [ [ ], [ ] ] ]
- expression state at time 62 = "begin_expr"
- the expression at time 62 =
self.age
- parent stack at time 62 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 63 = [ self.age
, [ __mul__(self.age, 12)
, [ ] ] ]
- expression state at time 62 = "begin_expr"
- the expression at time 62 =
self.age
- arguments stack at time 62 = [ [ 12, [ ] ], [ ] ]
then arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
- expression state at time 62 = "begin_expr"
- the expression at time 62 =
self.age
then expression state at time 63 = "iterate_args"
- expression state at time 62 = "begin_expr"
- the expression at time 62 =
self.age
then the expression at time 63 = self.age
- expression state at time 62 = "begin_expr"
- Variables Map at time 62 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 63 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 62 = "begin_expr"
- the line at time 62 = 7
then the line at time 63 = 7
- expression state at time 62 = "begin_expr"
- the tab at time 62 = 2
then the tab at time 63 = 2
- expression state at time 62 = "begin_expr"
- stack at time 62 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 63 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 62 = "begin_expr"
- Python Object Store at time 62 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 63 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 62 = "begin_expr"
- Control Map at time 62 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 63 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 62 = "begin_expr"
- Class Map at time 62 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 63 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 63 = "iterate_args"
- arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
then the expression at time 64 = self
- expression state at time 63 = "iterate_args"
- arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
then arguments stack at time 64 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- expression state at time 63 = "iterate_args"
- arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
then expression state at time 64 = "begin_expr"
- expression state at time 63 = "iterate_args"
- arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
- parent stack at time 63 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then parent stack at time 64 = [ self.age
, [ __mul__(self.age, 12)
, [ ] ] ]
- expression state at time 63 = "iterate_args"
- Value Stack at time 63 = [ [ ], [ [ ], [ ] ] ]
then Value Stack at time 64 = [ [ ], [ [ ], [ ] ] ]
- expression state at time 63 = "iterate_args"
- the line at time 63 = 7
then the line at time 64 = 7
- expression state at time 63 = "iterate_args"
- the tab at time 63 = 2
then the tab at time 64 = 2
- expression state at time 63 = "iterate_args"
- stack at time 63 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 64 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 63 = "iterate_args"
- Python Object Store at time 63 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 64 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 63 = "iterate_args"
- Control Map at time 63 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 64 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 63 = "iterate_args"
- Variables Map at time 63 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 63 = "iterate_args"
- Class Map at time 63 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 64 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 64 = "begin_expr"
- Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 65 = [ entry self: (Python reference 0), [ ] ]
- the expression at time 64 = self
- expression state at time 64 = "begin_expr"
- self is a variable
- parent stack at time 64 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then expression state at time 65 = "return"
- the expression at time 64 = self
- expression state at time 64 = "begin_expr"
- self is a variable
- Value Stack at time 64 = [ [ ], [ [ ], [ ] ] ]
then Value Stack at time 65 = [ [ ], [ [ ], [ ] ] ]
- the expression at time 64 = self
- expression state at time 64 = "begin_expr"
- self is a variable
- arguments stack at time 64 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
then arguments stack at time 65 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- expression state at time 64 = "begin_expr"
- the expression at time 64 = self
- self is a variable
- Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]
then Return Value at time 65 = Python reference 0
- expression state at time 64 = "begin_expr"
- the expression at time 64 = self
- self is a variable
- parent stack at time 64 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then parent stack at time 65 = [ self.age
, [ __mul__(self.age, 12)
, [ ] ] ]
- expression state at time 64 = "begin_expr"
- the line at time 64 = 7
then the line at time 65 = 7
- expression state at time 64 = "begin_expr"
- the tab at time 64 = 2
then the tab at time 65 = 2
- expression state at time 64 = "begin_expr"
- stack at time 64 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 65 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 64 = "begin_expr"
- Python Object Store at time 64 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 65 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 64 = "begin_expr"
- Control Map at time 64 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 65 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 64 = "begin_expr"
- Class Map at time 64 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 65 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 65 = "return"
- Value Stack at time 65 = [ [ ], [ [ ], [ ] ] ]
- Return Value at time 65 = Python reference 0
then Value Stack at time 66 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
- expression state at time 65 = "return"
- Variables Map at time 65 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 66 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 65 = "return"
- the line at time 65 = 7
then the line at time 66 = 7
- expression state at time 65 = "return"
- the tab at time 65 = 2
then the tab at time 66 = 2
- expression state at time 65 = "return"
- arguments stack at time 65 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
then arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- expression state at time 65 = "return"
- parent stack at time 65 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then parent stack at time 66 = [ self.age
, [ __mul__(self.age, 12)
, [ ] ] ]
- expression state at time 65 = "return"
- stack at time 65 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 66 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 65 = "return"
- Class Map at time 65 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 66 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 65 = "return"
- Python Object Store at time 65 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 66 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 65 = "return"
- Control Map at time 65 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 66 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]