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
- the line at time 34 = 4
- the tab at time 34 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- Class Map at time 34 = [ 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 35 = [ 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 35 = "begin_expr"
- the expression at time 35 = self."last_name" = last_name
- Value Stack at time 35 = [ ]
then Value Stack at time 36 = [ [ ], [ ] ]
- expression state at time 35 = "begin_expr"
- the expression at time 35 = self."last_name" = last_name
- parent stack at time 35 = [ ]
then parent stack at time 36 = [ self."last_name" = last_name, [ ] ]
- expression state at time 35 = "begin_expr"
- the expression at time 35 = self."last_name" = last_name
- arguments stack at time 35 = [ ]
then arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]
- expression state at time 35 = "begin_expr"
- the expression at time 35 = self."last_name" = last_name
then expression state at time 36 = "iterate_args"
- expression state at time 35 = "begin_expr"
- the expression at time 35 = self."last_name" = last_name
then the expression at time 36 = self."last_name" = last_name
- expression state at time 35 = "begin_expr"
- Variables Map at time 35 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 36 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- expression state at time 35 = "begin_expr"
- the line at time 35 = 4
then the line at time 36 = 4
- expression state at time 35 = "begin_expr"
- the tab at time 35 = 2
then the tab at time 36 = 2
- expression state at time 35 = "begin_expr"
- stack at time 35 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 36 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 35 = "begin_expr"
- Python Object Store at time 35 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
then Python Object Store at time 36 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- expression state at time 35 = "begin_expr"
- Control Map at time 35 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 36 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 35 = "begin_expr"
- Class Map at time 35 = [ 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 36 = [ 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 36 = "iterate_args"
- arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]
then the expression at time 37 = last_name
- expression state at time 36 = "iterate_args"
- arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]
then arguments stack at time 37 = [ [ ], [ ] ]
- expression state at time 36 = "iterate_args"
- arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]
then expression state at time 37 = "begin_expr"
- expression state at time 36 = "iterate_args"
- arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]
- parent stack at time 36 = [ self."last_name" = last_name, [ ] ]
then parent stack at time 37 = [ self."last_name" = last_name, [ ] ]
- expression state at time 36 = "iterate_args"
- Value Stack at time 36 = [ [ ], [ ] ]
then Value Stack at time 37 = [ [ ], [ ] ]
- expression state at time 36 = "iterate_args"
- the line at time 36 = 4
then the line at time 37 = 4
- expression state at time 36 = "iterate_args"
- the tab at time 36 = 2
then the tab at time 37 = 2
- expression state at time 36 = "iterate_args"
- stack at time 36 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 37 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 36 = "iterate_args"
- Python Object Store at time 36 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
then Python Object Store at time 37 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- expression state at time 36 = "iterate_args"
- Control Map at time 36 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 37 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 36 = "iterate_args"
- Variables Map at time 36 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 37 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- expression state at time 36 = "iterate_args"
- Class Map at time 36 = [ 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 37 = [ 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 37 = "begin_expr"
- Variables Map at time 37 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 38 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- the expression at time 37 = last_name
- expression state at time 37 = "begin_expr"
- last_name is a variable
- parent stack at time 37 = [ self."last_name" = last_name, [ ] ]
then expression state at time 38 = "return"
- the expression at time 37 = last_name
- expression state at time 37 = "begin_expr"
- last_name is a variable
- Value Stack at time 37 = [ [ ], [ ] ]
then Value Stack at time 38 = [ [ ], [ ] ]
- the expression at time 37 = last_name
- expression state at time 37 = "begin_expr"
- last_name is a variable
- arguments stack at time 37 = [ [ ], [ ] ]
then arguments stack at time 38 = [ [ ], [ ] ]
- expression state at time 37 = "begin_expr"
- the expression at time 37 = last_name
- last_name is a variable
- Variables Map at time 37 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Return Value at time 38 = "Smith"
- expression state at time 37 = "begin_expr"
- the expression at time 37 = last_name
- last_name is a variable
- parent stack at time 37 = [ self."last_name" = last_name, [ ] ]
then parent stack at time 38 = [ self."last_name" = last_name, [ ] ]
- expression state at time 37 = "begin_expr"
- the line at time 37 = 4
then the line at time 38 = 4
- expression state at time 37 = "begin_expr"
- the tab at time 37 = 2
then the tab at time 38 = 2
- expression state at time 37 = "begin_expr"
- stack at time 37 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 38 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 37 = "begin_expr"
- Python Object Store at time 37 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
then Python Object Store at time 38 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- expression state at time 37 = "begin_expr"
- Control Map at time 37 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 38 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 37 = "begin_expr"
- Class Map at time 37 = [ 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 38 = [ 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 38 = "return"
- Value Stack at time 38 = [ [ ], [ ] ]
- Return Value at time 38 = "Smith"
then Value Stack at time 39 = [ [ "Smith", [ ] ], [ ] ]
- expression state at time 38 = "return"
- Variables Map at time 38 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 39 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- expression state at time 38 = "return"
- the line at time 38 = 4
then the line at time 39 = 4
- expression state at time 38 = "return"
- the tab at time 38 = 2
then the tab at time 39 = 2
- expression state at time 38 = "return"
- arguments stack at time 38 = [ [ ], [ ] ]
then arguments stack at time 39 = [ [ ], [ ] ]
- expression state at time 38 = "return"
- parent stack at time 38 = [ self."last_name" = last_name, [ ] ]
then parent stack at time 39 = [ self."last_name" = last_name, [ ] ]
- expression state at time 38 = "return"
- stack at time 38 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 39 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 38 = "return"
- Class Map at time 38 = [ 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 39 = [ 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 38 = "return"
- Python Object Store at time 38 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
then Python Object Store at time 39 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- expression state at time 38 = "return"
- Control Map at time 38 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 39 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 39 = "iterate_args"
- arguments stack at time 39 = [ [ ], [ ] ]
- parent stack at time 39 = [ self."last_name" = last_name, [ ] ]
then expression state at time 40 = "call_function_begin"
- expression state at time 39 = "iterate_args"
- arguments stack at time 39 = [ [ ], [ ] ]
- parent stack at time 39 = [ self."last_name" = last_name, [ ] ]
then the expression at time 40 = self."last_name" = last_name
- expression state at time 39 = "iterate_args"
- arguments stack at time 39 = [ [ ], [ ] ]
- parent stack at time 39 = [ self."last_name" = last_name, [ ] ]
then parent stack at time 40 = [ ]
- expression state at time 39 = "iterate_args"
- arguments stack at time 39 = [ [ ], [ ] ]
- parent stack at time 39 = [ self."last_name" = last_name, [ ] ]
then arguments stack at time 40 = [ ]
- expression state at time 39 = "iterate_args"
- Value Stack at time 39 = [ [ "Smith", [ ] ], [ ] ]
then Value Stack at time 40 = [ [ "Smith", [ ] ], [ ] ]
- expression state at time 39 = "iterate_args"
- the line at time 39 = 4
then the line at time 40 = 4
- expression state at time 39 = "iterate_args"
- the tab at time 39 = 2
then the tab at time 40 = 2
- expression state at time 39 = "iterate_args"
- stack at time 39 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 40 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 39 = "iterate_args"
- Python Object Store at time 39 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
then Python Object Store at time 40 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- expression state at time 39 = "iterate_args"
- Control Map at time 39 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 40 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 39 = "iterate_args"
- Variables Map at time 39 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 40 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- expression state at time 39 = "iterate_args"
- Class Map at time 39 = [ 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 40 = [ 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 40 = "call_function_begin"
- Value Stack at time 40 = [ [ "Smith", [ ] ], [ ] ]
- the expression at time 40 = self."last_name" = last_name
- value at self in map (Variables Map at time 40) = Python reference 0
- Python Object Store at time 40 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]
- the element at index 0 of stack (Python Object Store at time 40) = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ]
then Python Object Store at time 41 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]
- expression state at time 40 = "call_function_begin"
- parent stack at time 40 = [ ]
- the expression at time 40 = self."last_name" = last_name
then expression state at time 41 = "end_expr"
- expression state at time 40 = "call_function_begin"
- Value Stack at time 40 = [ [ "Smith", [ ] ], [ ] ]
- the expression at time 40 = self."last_name" = last_name
then Value Stack at time 41 = [ ]
- expression state at time 40 = "call_function_begin"
- arguments stack at time 40 = [ ]
then arguments stack at time 41 = [ ]
- expression state at time 40 = "call_function_begin"
- parent stack at time 40 = [ ]
then parent stack at time 41 = [ ]
- expression state at time 40 = "call_function_begin"
- Control Map at time 40 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 41 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- expression state at time 40 = "call_function_begin"
- Variables Map at time 40 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 41 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- expression state at time 40 = "call_function_begin"
- the line at time 40 = 4
then the line at time 41 = 4
- expression state at time 40 = "call_function_begin"
- the tab at time 40 = 2
then the tab at time 41 = 2
- expression state at time 40 = "call_function_begin"
- stack at time 40 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 41 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- expression state at time 40 = "call_function_begin"
- Class Map at time 40 = [ 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 41 = [ 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 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- expression state at time 41 = "end_expr"
then the line at time 42 = 5
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- expression state at time 41 = "end_expr"
then the tab at time 42 = 2
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- expression state at time 41 = "end_expr"
- Python Object Store at time 41 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]
then Python Object Store at time 42 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- expression state at time 41 = "end_expr"
- Control Map at time 41 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 42 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- Variables Map at time 41 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 42 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- stack at time 41 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 42 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- the line at time 41 = 4
- the tab at time 41 = 2
- statement at line 4, tab 2 = self."last_name" = last_name
- Class Map at time 41 = [ 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 42 = [ 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, [ ] ] ] ], [ ] ]
self.age = age
, then statement at line 5, tab 2 = self."age" = age- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then the expression at time 43 = self."age" = age
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then expression state at time 43 = "begin_expr"
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then the line at time 43 = 5
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then the tab at time 43 = 2
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then Value Stack at time 43 = [ ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then parent stack at time 43 = [ ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
then arguments stack at time 43 = [ ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
- Python Object Store at time 42 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]
then Python Object Store at time 43 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- expression state at time 42 = "not_expr"
- Control Map at time 42 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
then Control Map at time 43 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- Variables Map at time 42 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
then Variables Map at time 43 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- stack at time 42 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
then stack at time 43 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]
- the line at time 42 = 5
- the tab at time 42 = 2
- statement at line 5, tab 2 = self."age" = age
- Class Map at time 42 = [ 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 43 = [ 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 43 = "begin_expr"
- the expression at time 43 = self."age" = age
- Value Stack at time 43 = [ ]
then Value Stack at time 44 = [ [ ], [ ] ]