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

Write Stmt Class Defs At Unchanged 34
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Get Begin Expr Value 35
if the following are true:
  • 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 = [ [ ], [ ] ]


Get Begin Expr Parent 35
if the following are true:
  • 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, [ ] ]


Get Begin Expr Params 35
if the following are true:
  • 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, [ ] ], [ ] ]


Get Begin Expr Call State 35
if the following are true:
  • 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"


Do Expr At Unchanged 35
if the following are true:
  • 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


Do Variables At Unchanged 35
if the following are true:
  • 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, [ ] ] ] ] ]


Do Line At Unchanged 35
if the following are true:
  • expression state at time 35 = "begin_expr"
  • the line at time 35 = 4

then the line at time 36 = 4


Do Tab At Unchanged 35
if the following are true:
  • expression state at time 35 = "begin_expr"
  • the tab at time 35 = 2

then the tab at time 36 = 2


Do Stack At Unchanged 35
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Object Store At Unchanged 35
if the following are true:
  • 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", [ ] ] ], [ ] ]


Do Control Map At Unchanged 35
if the following are true:
  • 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__")), [ ] ] ]


Do Class Defs At Unchanged 35
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Get Iterate Expr 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]

then the expression at time 37 = last_name


Get Iterate Params 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]

then arguments stack at time 37 = [ [ ], [ ] ]


Get Iterate State 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • arguments stack at time 36 = [ [ last_name, [ ] ], [ ] ]

then expression state at time 37 = "begin_expr"


Get Iterate Parent 36
if the following are true:
  • 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, [ ] ]


Do Value Stack At Unchanged 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • Value Stack at time 36 = [ [ ], [ ] ]

then Value Stack at time 37 = [ [ ], [ ] ]


Do Line At Unchanged 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • the line at time 36 = 4

then the line at time 37 = 4


Do Tab At Unchanged 36
if the following are true:
  • expression state at time 36 = "iterate_args"
  • the tab at time 36 = 2

then the tab at time 37 = 2


Do Stack At Unchanged 36
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Object Store At Unchanged 36
if the following are true:
  • 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", [ ] ] ], [ ] ]


Do Control Map At Unchanged 36
if the following are true:
  • 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__")), [ ] ] ]


Do Variables At Unchanged 36
if the following are true:
  • 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, [ ] ] ] ] ]


Do Class Defs At Unchanged 36
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Do Get Key Value 37 0
value at last_name in map [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ] = "Smith"

Do Variables At Unchanged 37
if the following are true:
  • 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, [ ] ] ] ] ]


Get Begin Expr State Name 37
if the following are true:
  • 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"


Get Begin Expr Value Unchaged Name 37
if the following are true:
  • 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 = [ [ ], [ ] ]


Get Begin Expr Params Unchanged Name37
if the following are true:
  • 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 = [ [ ], [ ] ]


Get Begin Expr Return Name 37
if the following are true:
  • 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"


Get Begin Expr Parent Name 37
if the following are true:
  • 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, [ ] ]


Do Line At Unchanged 37
if the following are true:
  • expression state at time 37 = "begin_expr"
  • the line at time 37 = 4

then the line at time 38 = 4


Do Tab At Unchanged 37
if the following are true:
  • expression state at time 37 = "begin_expr"
  • the tab at time 37 = 2

then the tab at time 38 = 2


Do Stack At Unchanged 37
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Object Store At Unchanged 37
if the following are true:
  • 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", [ ] ] ], [ ] ]


Do Control Map At Unchanged 37
if the following are true:
  • 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__")), [ ] ] ]


Do Class Defs At Unchanged 37
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Get New State 38
if expression state at time 38 = "return", then expression state at time 39 = "iterate_args"

Get Return Value 38
if the following are true:
  • expression state at time 38 = "return"
  • Value Stack at time 38 = [ [ ], [ ] ]
  • Return Value at time 38 = "Smith"

then Value Stack at time 39 = [ [ "Smith", [ ] ], [ ] ]


Do Variables At Unchanged 38
if the following are true:
  • 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, [ ] ] ] ] ]


Do Line At Unchanged 38
if the following are true:
  • expression state at time 38 = "return"
  • the line at time 38 = 4

then the line at time 39 = 4


Do Tab At Unchanged 38
if the following are true:
  • expression state at time 38 = "return"
  • the tab at time 38 = 2

then the tab at time 39 = 2


Do Arg Stack At Unchanged 38
if the following are true:
  • expression state at time 38 = "return"
  • arguments stack at time 38 = [ [ ], [ ] ]

then arguments stack at time 39 = [ [ ], [ ] ]


Do Parent Stack At Unchanged 38
if the following are true:
  • 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, [ ] ]


Do Stack At Unchanged 38
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Class Defs At Unchanged 38
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Do Object Store At Unchanged 38
if the following are true:
  • 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", [ ] ] ], [ ] ]


Do Control Map At Unchanged 38
if the following are true:
  • 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__")), [ ] ] ]


Get Iterate End State 39
if the following are true:
  • 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"


Get Iterate End Expr 39
if the following are true:
  • 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


Get Iterate End Parent 39
if the following are true:
  • 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 = [ ]


Get Iterate End Params 39
if the following are true:
  • 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 = [ ]


Do Value Stack At Unchanged 39
if the following are true:
  • expression state at time 39 = "iterate_args"
  • Value Stack at time 39 = [ [ "Smith", [ ] ], [ ] ]

then Value Stack at time 40 = [ [ "Smith", [ ] ], [ ] ]


Do Line At Unchanged 39
if the following are true:
  • expression state at time 39 = "iterate_args"
  • the line at time 39 = 4

then the line at time 40 = 4


Do Tab At Unchanged 39
if the following are true:
  • expression state at time 39 = "iterate_args"
  • the tab at time 39 = 2

then the tab at time 40 = 2


Do Stack At Unchanged 39
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Object Store At Unchanged 39
if the following are true:
  • 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", [ ] ] ], [ ] ]


Do Control Map At Unchanged 39
if the following are true:
  • 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__")), [ ] ] ]


Do Variables At Unchanged 39
if the following are true:
  • 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, [ ] ] ] ] ]


Do Class Defs At Unchanged 39
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Do Pre Extend 40 0
reverse and insert [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ] to the beginning of [ ] = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]

Do Set Elements At 40 0
result of storing (Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ]) at index 0 of stack [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ] = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ ] ] ] ], [ ] ]

Do Get Key Value 40 0
value at self in map [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ] = Python reference 0

Do Set Key Value 40 0
result of storing Smith at key: "last_name" in map: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ] = [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": Smith, [ ] ] ] ]

Write Call Function Begin Set Attribute Element At 40
if Python Object Store at time 40 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ], then the element at index 0 of stack (Python Object Store at time 40) = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ]

Get Key Value Variables At 40
if Variables Map at time 40 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ], then value at self in map (Variables Map at time 40) = Python reference 0

Write Call Function Begin Set Attribute 40
if the following are true:
  • 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", [ ] ] ] ], [ ] ]


Write Call Function Begin Next State 40
if the following are true:
  • 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"


Write Call Function Begin Value Stack 40
if the following are true:
  • 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 = [ ]


Do Arg Stack At Unchanged 40
if the following are true:
  • expression state at time 40 = "call_function_begin"
  • arguments stack at time 40 = [ ]

then arguments stack at time 41 = [ ]


Do Parent Stack At Unchanged 40
if the following are true:
  • expression state at time 40 = "call_function_begin"
  • parent stack at time 40 = [ ]

then parent stack at time 41 = [ ]


Do Control Map At Unchanged 40
if the following are true:
  • 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__")), [ ] ] ]


Do Variables At Unchanged 40
if the following are true:
  • 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, [ ] ] ] ] ]


Do Line At Unchanged 40
if the following are true:
  • expression state at time 40 = "call_function_begin"
  • the line at time 40 = 4

then the line at time 41 = 4


Do Tab At Unchanged 40
if the following are true:
  • expression state at time 40 = "call_function_begin"
  • the tab at time 40 = 2

then the tab at time 41 = 2


Do Stack At Unchanged 40
if the following are true:
  • 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")), [ ] ], [ ] ]


Do Class Defs At Unchanged 40
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Write Set Attribute End Line 41
if the following are true:
  • 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


Write Stmt Tab Unchanged Expr41
if the following are true:
  • 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


Write Stmt Object Store At Unchanged Expr41
if the following are true:
  • 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", [ ] ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr41
if the following are true:
  • 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__")), [ ] ] ]


Write Stmt Variables At Unchanged 41
if the following are true:
  • 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, [ ] ] ] ] ]


Write Stmt Stack At Unchanged 41
if the following are true:
  • 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")), [ ] ], [ ] ]


Write Stmt Class Defs At Unchanged 41
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Write End to Not Expr 41
if expression state at time 41 = "end_expr", then expression state at time 42 = "not_expr"

Do Convert Stmt 42
if statement at line 5, tab 2 = self.age = age, then statement at line 5, tab 2 = self."age" = age

Write Set Name Expr At on State 42
if the following are true:
  • 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


Write Set Name Expr State At on State 42
if the following are true:
  • 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"


Write Set Name Line At on State 42
if the following are true:
  • 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


Write Set Name Tab At on State 42
if the following are true:
  • 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


Write Set Name Value Stack At on State 42
if the following are true:
  • 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 = [ ]


Write Set Name Parent Stack At on State 42
if the following are true:
  • 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 = [ ]


Write Set Name Arg Stack At on State 42
if the following are true:
  • 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 = [ ]


Write Stmt Object Store At Unchanged Expr42
if the following are true:
  • 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", [ ] ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr42
if the following are true:
  • 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__")), [ ] ] ]


Write Stmt Variables At Unchanged 42
if the following are true:
  • 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, [ ] ] ] ] ]


Write Stmt Stack At Unchanged 42
if the following are true:
  • 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")), [ ] ], [ ] ]


Write Stmt Class Defs At Unchanged 42
if the following are true:
  • 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, [ ] ] ] ], [ ] ]


Get Begin Expr Value 43
if the following are true:
  • 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 = [ [ ], [ ] ]



Pages: 173 174 175 ... 193