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 66 = "iterate_args"
- arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- parent stack at time 66 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then expression state at time 67 = "call_function_begin"
- expression state at time 66 = "iterate_args"
- arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- parent stack at time 66 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then the expression at time 67 = self.age
- expression state at time 66 = "iterate_args"
- arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- parent stack at time 66 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then parent stack at time 67 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 66 = "iterate_args"
- arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]
- parent stack at time 66 = [
self.age
, [__mul__(self.age, 12)
, [ ] ] ]
then arguments stack at time 67 = [ [ 12, [ ] ], [ ] ]
- expression state at time 66 = "iterate_args"
- Value Stack at time 66 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
then Value Stack at time 67 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
- expression state at time 66 = "iterate_args"
- the line at time 66 = 7
then the line at time 67 = 7
- expression state at time 66 = "iterate_args"
- the tab at time 66 = 2
then the tab at time 67 = 2
- expression state at time 66 = "iterate_args"
- 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")), [ ] ], [ ] ]
then stack at time 67 = [ 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 66 = "iterate_args"
- Python Object Store at time 66 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 67 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 66 = "iterate_args"
- Control Map at time 66 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 67 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 66 = "iterate_args"
- Variables Map at time 66 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 67 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 66 = "iterate_args"
- 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, [ ] ] ] ], [ ] ]
then Class Map at time 67 = [ 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 67 = "call_function_begin"
- the expression at time 67 =
self.age
- Value Stack at time 67 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
- the element at index 0 of stack (Python Object Store at time 67) = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ]
then Return Value at time 68 = 25
- expression state at time 67 = "call_function_begin"
- parent stack at time 67 = [
__mul__(self.age, 12)
, [ ] ] - the expression at time 67 =
self.age
then expression state at time 68 = "return"
- expression state at time 67 = "call_function_begin"
- the expression at time 67 =
self.age
- Python Object Store at time 67 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 68 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 67 = "call_function_begin"
- Value Stack at time 67 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
- the expression at time 67 =
self.age
then Value Stack at time 68 = [ [ ], [ ] ]
- expression state at time 67 = "call_function_begin"
- arguments stack at time 67 = [ [ 12, [ ] ], [ ] ]
then arguments stack at time 68 = [ [ 12, [ ] ], [ ] ]
- expression state at time 67 = "call_function_begin"
- parent stack at time 67 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 68 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 67 = "call_function_begin"
- Control Map at time 67 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 68 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 67 = "call_function_begin"
- Variables Map at time 67 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 68 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 67 = "call_function_begin"
- the line at time 67 = 7
then the line at time 68 = 7
- expression state at time 67 = "call_function_begin"
- the tab at time 67 = 2
then the tab at time 68 = 2
- expression state at time 67 = "call_function_begin"
- stack at time 67 = [ 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 68 = [ 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 67 = "call_function_begin"
- Class Map at time 67 = [ 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 68 = [ 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 68 = "return"
- Value Stack at time 68 = [ [ ], [ ] ]
- Return Value at time 68 = 25
then Value Stack at time 69 = [ [ 25, [ ] ], [ ] ]
- expression state at time 68 = "return"
- Variables Map at time 68 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 69 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 68 = "return"
- the line at time 68 = 7
then the line at time 69 = 7
- expression state at time 68 = "return"
- the tab at time 68 = 2
then the tab at time 69 = 2
- expression state at time 68 = "return"
- arguments stack at time 68 = [ [ 12, [ ] ], [ ] ]
then arguments stack at time 69 = [ [ 12, [ ] ], [ ] ]
- expression state at time 68 = "return"
- parent stack at time 68 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 69 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 68 = "return"
- stack at time 68 = [ 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 69 = [ 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 68 = "return"
- Class Map at time 68 = [ 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 69 = [ 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 68 = "return"
- Python Object Store at time 68 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 69 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 68 = "return"
- Control Map at time 68 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 69 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 69 = "iterate_args"
- arguments stack at time 69 = [ [ 12, [ ] ], [ ] ]
then the expression at time 70 = 12
- expression state at time 69 = "iterate_args"
- arguments stack at time 69 = [ [ 12, [ ] ], [ ] ]
then arguments stack at time 70 = [ [ ], [ ] ]
- expression state at time 69 = "iterate_args"
- arguments stack at time 69 = [ [ 12, [ ] ], [ ] ]
then expression state at time 70 = "begin_expr"
- expression state at time 69 = "iterate_args"
- arguments stack at time 69 = [ [ 12, [ ] ], [ ] ]
- parent stack at time 69 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 70 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 69 = "iterate_args"
- Value Stack at time 69 = [ [ 25, [ ] ], [ ] ]
then Value Stack at time 70 = [ [ 25, [ ] ], [ ] ]
- expression state at time 69 = "iterate_args"
- the line at time 69 = 7
then the line at time 70 = 7
- expression state at time 69 = "iterate_args"
- the tab at time 69 = 2
then the tab at time 70 = 2
- expression state at time 69 = "iterate_args"
- stack at time 69 = [ 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 70 = [ 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 69 = "iterate_args"
- Python Object Store at time 69 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 70 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 69 = "iterate_args"
- Control Map at time 69 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 70 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 69 = "iterate_args"
- Variables Map at time 69 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 70 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 69 = "iterate_args"
- Class Map at time 69 = [ 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 70 = [ 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, [ ] ] ] ], [ ] ]
- the expression at time 70 = 12
- expression state at time 70 = "begin_expr"
- 12 is constant
- parent stack at time 70 = [
__mul__(self.age, 12)
, [ ] ]
then expression state at time 71 = "return"
- the expression at time 70 = 12
- expression state at time 70 = "begin_expr"
- 12 is constant
- Value Stack at time 70 = [ [ 25, [ ] ], [ ] ]
then Value Stack at time 71 = [ [ 25, [ ] ], [ ] ]
- the expression at time 70 = 12
- expression state at time 70 = "begin_expr"
- 12 is constant
- arguments stack at time 70 = [ [ ], [ ] ]
then arguments stack at time 71 = [ [ ], [ ] ]
- expression state at time 70 = "begin_expr"
- the expression at time 70 = 12
- 12 is constant
then Return Value at time 71 = 12
- expression state at time 70 = "begin_expr"
- the expression at time 70 = 12
- 12 is constant
- parent stack at time 70 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 71 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 70 = "begin_expr"
- the line at time 70 = 7
then the line at time 71 = 7
- expression state at time 70 = "begin_expr"
- the tab at time 70 = 2
then the tab at time 71 = 2
- expression state at time 70 = "begin_expr"
- stack at time 70 = [ 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 71 = [ 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 70 = "begin_expr"
- Python Object Store at time 70 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 71 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 70 = "begin_expr"
- Control Map at time 70 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 71 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 70 = "begin_expr"
- Variables Map at time 70 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 71 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 70 = "begin_expr"
- Class Map at time 70 = [ 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 71 = [ 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 71 = "return"
- Value Stack at time 71 = [ [ 25, [ ] ], [ ] ]
- Return Value at time 71 = 12
then Value Stack at time 72 = [ [ 12, [ 25, [ ] ] ], [ ] ]
- expression state at time 71 = "return"
- Variables Map at time 71 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 72 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 71 = "return"
- the line at time 71 = 7
then the line at time 72 = 7
- expression state at time 71 = "return"
- the tab at time 71 = 2
then the tab at time 72 = 2
- expression state at time 71 = "return"
- arguments stack at time 71 = [ [ ], [ ] ]
then arguments stack at time 72 = [ [ ], [ ] ]
- expression state at time 71 = "return"
- parent stack at time 71 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 72 = [ __mul__(self.age, 12)
, [ ] ]
- expression state at time 71 = "return"
- stack at time 71 = [ 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 72 = [ 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 71 = "return"
- Class Map at time 71 = [ 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 72 = [ 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 71 = "return"
- Python Object Store at time 71 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 72 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 71 = "return"
- Control Map at time 71 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 72 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 72 = "iterate_args"
- arguments stack at time 72 = [ [ ], [ ] ]
- parent stack at time 72 = [
__mul__(self.age, 12)
, [ ] ]
then expression state at time 73 = "call_function_begin"
- expression state at time 72 = "iterate_args"
- arguments stack at time 72 = [ [ ], [ ] ]
- parent stack at time 72 = [
__mul__(self.age, 12)
, [ ] ]
then the expression at time 73 = __mul__(self.age, 12)
- expression state at time 72 = "iterate_args"
- arguments stack at time 72 = [ [ ], [ ] ]
- parent stack at time 72 = [
__mul__(self.age, 12)
, [ ] ]
then parent stack at time 73 = [ ]
- expression state at time 72 = "iterate_args"
- arguments stack at time 72 = [ [ ], [ ] ]
- parent stack at time 72 = [
__mul__(self.age, 12)
, [ ] ]
then arguments stack at time 73 = [ ]
- expression state at time 72 = "iterate_args"
- Value Stack at time 72 = [ [ 12, [ 25, [ ] ] ], [ ] ]
then Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]
- expression state at time 72 = "iterate_args"
- the line at time 72 = 7
then the line at time 73 = 7
- expression state at time 72 = "iterate_args"
- the tab at time 72 = 2
then the tab at time 73 = 2
- expression state at time 72 = "iterate_args"
- stack at time 72 = [ 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 73 = [ 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 72 = "iterate_args"
- Python Object Store at time 72 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 73 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 72 = "iterate_args"
- Control Map at time 72 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 73 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 72 = "iterate_args"
- Variables Map at time 72 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 73 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 72 = "iterate_args"
- Class Map at time 72 = [ 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 73 = [ 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 73 = "call_function_begin"
- the expression at time 73 =
__mul__(self.age, 12)
- Python Object Store at time 73 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
then Python Object Store at time 74 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]
- expression state at time 73 = "call_function_begin"
- Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]
- the expression at time 73 =
__mul__(self.age, 12)
then Return Value at time 74 = 300
- expression state at time 73 = "call_function_begin"
- parent stack at time 73 = [ ]
- the expression at time 73 =
__mul__(self.age, 12)
then expression state at time 74 = "end_expr"
- expression state at time 73 = "call_function_begin"
- Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]
- the expression at time 73 =
__mul__(self.age, 12)
then Value Stack at time 74 = [ ]
- expression state at time 73 = "call_function_begin"
- arguments stack at time 73 = [ ]
then arguments stack at time 74 = [ ]
- expression state at time 73 = "call_function_begin"
- parent stack at time 73 = [ ]
then parent stack at time 74 = [ ]
- expression state at time 73 = "call_function_begin"
- Control Map at time 73 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
then Control Map at time 74 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]
- expression state at time 73 = "call_function_begin"
- Variables Map at time 73 = [ entry self: (Python reference 0), [ ] ]
then Variables Map at time 74 = [ entry self: (Python reference 0), [ ] ]
- expression state at time 73 = "call_function_begin"
- the line at time 73 = 7
then the line at time 74 = 7
- expression state at time 73 = "call_function_begin"
- the tab at time 73 = 2
then the tab at time 74 = 2
- expression state at time 73 = "call_function_begin"
- stack at time 73 = [ 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 74 = [ 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 73 = "call_function_begin"
- Class Map at time 73 = [ 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 74 = [ 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, [ ] ] ] ], [ ] ]
- the line at time 74 = 7
- the tab at time 74 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- stack at time 74 = [ 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 74 = "end_expr"
then Variables Map at time 75 = [ entry p: (Python reference 0), [ ] ]
- the line at time 74 = 7
- the tab at time 74 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- stack at time 74 = [ 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 74 = "end_expr"
then the line at time 75 = 9
- the line at time 74 = 7
- the tab at time 74 = 2
- statement at line 7, tab 2 =
return __mul__(self.age, 12)
- stack at time 74 = [ 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 74 = "end_expr"
then the tab at time 75 = 0