Function expression state at time s

the expression state at time s. For example, the state is initially "begin_expr"

Format:

expression state at time s

Input:

number s -

Output:

string - None

Conditional properties that reference this function:

  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k > j

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j
    • value at (j - 1) in map (Control Map at time t) = pair ("while", while_line)

    then expression state at time (t + 1) = expression state at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("while", while_line)

    then expression state at time (t + 1) = expression state at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("if", if_value)

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if "continue" state at t = "continuing", then expression state at time (t + 1) = "not_expr" (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = function call with name: name and arguments: args

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: name and arguments: args
    • expression state at time t = "end_expr"

    then Class Map at time (t + 1) = Class Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then the expression at time (t + 1) = c

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = c
    • expression state at time t = "not_expr"
    • c is constant

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then the expression at time (t + 1) = x

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x
    • expression state at time t = "not_expr"
    • x is a variable

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x = c
    • c is constant

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x = c
    • c is a variable

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = function call with name: name and arguments: args

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if expression state at time t = "begin_expr", then the expression at time (t + 1) = the expression at time t (link)
  • if expression state at time t = "begin_expr", then Variables Map at time (t + 1) = Variables Map at time t (link)
  • if expression state at time t = "begin_expr", then the line at time (t + 1) = the line at time t (link)
  • if expression state at time t = "begin_expr", then the tab at time (t + 1) = the tab at time t (link)
  • if expression state at time t = "begin_expr", then stack at time (t + 1) = stack at time t (link)
  • if expression state at time t = "begin_expr", then Python Object Store at time (t + 1) = Python Object Store at time t (link)
  • if expression state at time t = "begin_expr", then Control Map at time (t + 1) = Control Map at time t (link)
  • if expression state at time t = "begin_expr", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant
    • parent stack at time t = [ x, y ]

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant
    • parent stack at time t = [ ]

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant

    then Return Value at time (t + 1) = c

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant

    then Value Stack at time (t + 1) = Value Stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant

    then arguments stack at time (t + 1) = arguments stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = c
    • c is constant

    then parent stack at time (t + 1) = parent stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = x
    • x is a variable
    • parent stack at time t = [ y, z ]

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = v
    • v is a variable
    • parent stack at time t = [ ]

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = v
    • v is a variable

    then Return Value at time (t + 1) = value at x in map (Variables Map at time t)

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = v
    • v is a variable

    then Value Stack at time (t + 1) = Value Stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = v
    • v is a variable

    then arguments stack at time (t + 1) = arguments stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = v
    • v is a variable

    then parent stack at time (t + 1) = parent stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = function call with name: name and arguments: args

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = function call with name: name and arguments: args

    then parent stack at time (t + 1) = [ function call with name: name and arguments: args, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = function call with name: name and arguments: args

    then arguments stack at time (t + 1) = [ args, arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = function call with name: name and arguments: args

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if expression state at time t = "iterate_args", then Value Stack at time (t + 1) = Value Stack at time t (link)
  • if expression state at time t = "iterate_args", then Variables Map at time (t + 1) = Variables Map at time t (link)
  • if expression state at time t = "iterate_args", then the line at time (t + 1) = the line at time t (link)
  • if expression state at time t = "iterate_args", then the tab at time (t + 1) = the tab at time t (link)
  • if expression state at time t = "iterate_args", then stack at time (t + 1) = stack at time t (link)
  • if expression state at time t = "iterate_args", then Python Object Store at time (t + 1) = Python Object Store at time t (link)
  • if expression state at time t = "iterate_args", then Control Map at time (t + 1) = Control Map at time t (link)
  • if expression state at time t = "iterate_args", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ x, y ], z ]

    then the expression at time (t + 1) = x

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ x, y ], z ]

    then arguments stack at time (t + 1) = [ y, z ]

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ x, y ], z ]

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ x, y ], z ]

    then parent stack at time (t + 1) = parent stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ ], z ]
    • parent stack at time t = [ x, y ]

    then the expression at time (t + 1) = x

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ ], z ]
    • parent stack at time t = [ x, y ]

    then expression state at time (t + 1) = "call_function_begin"

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ ], z ]
    • parent stack at time t = [ x, y ]

    then parent stack at time (t + 1) = y

    (link)
  • if the following are true:
    • expression state at time t = "iterate_args"
    • arguments stack at time t = [ [ ], z ]
    • parent stack at time t = [ x, y ]

    then arguments stack at time (t + 1) = z

    (link)
  • if expression state at time t = "call_function_begin", then parent stack at time (t + 1) = parent stack at time t (link)
  • if expression state at time t = "call_function_begin", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "call_function_begin", then the expression at time (t + 1) = the expression at time t (link)
  • if expression state at time t = "call_function_begin", then Function Variables Map at time (t + 1) = [ ] (link)
  • if expression state at time t = "call_function_begin", then Variables Map at time (t + 1) = Variables Map at time t (link)
  • if expression state at time t = "call_function_begin", then the line at time (t + 1) = the line at time t (link)
  • if expression state at time t = "call_function_begin", then the tab at time (t + 1) = the tab at time t (link)
  • if expression state at time t = "call_function_begin", then stack at time (t + 1) = stack at time t (link)
  • if expression state at time t = "call_function_begin", then Control Map at time (t + 1) = Control Map at time t (link)
  • if expression state at time t = "call_function_begin", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ b, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__add__" and arguments: args

    then Return Value at time (t + 1) = b + a

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__add__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__add__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__add__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ b, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__mul__" and arguments: args

    then Return Value at time (t + 1) = ba

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__mul__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__mul__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__mul__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ b, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__eq__" and arguments: args

    then Return Value at time (t + 1) = b = a

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__eq__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__eq__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__eq__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ b, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__gt__" and arguments: args

    then Return Value at time (t + 1) = b > a

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__gt__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__gt__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__gt__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ b, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__lt__" and arguments: args

    then Return Value at time (t + 1) = b < a

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__lt__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__lt__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__lt__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = function call with name: name and arguments: args

    then Argument Values at time (t + 1) = reverse of values

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = function call with name: name and arguments: args

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = function call with name: name and arguments: args

    then expression state at time (t + 1) = "call_build_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: name and arguments: args
    • there is a function named name with parameters params at line line

    then Parameters List at time (t + 1) = params

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: name and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if expression state at time t = "call_build_args", then parent stack at time (t + 1) = parent stack at time t (link)
  • if expression state at time t = "call_build_args", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "call_build_args", then Value Stack at time (t + 1) = Value Stack at time t (link)
  • if expression state at time t = "call_build_args", then the expression at time (t + 1) = the expression at time t (link)
  • if expression state at time t = "call_build_args", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]

    then the line at time (t + 1) = the line at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Function Variables Map at time (t + 1) = result of storing value at key: var in map: (Function Variables Map at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Parameters List at time (t + 1) = frest

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Argument Values at time (t + 1) = vrest

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then expression state at time (t + 1) = "call_build_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ var, frest ]
    • Argument Values at time t = [ value, vrest ]

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]

    then Variables Map at time (t + 1) = Function Variables Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]

    then the tab at time (t + 1) = 1

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]

    then stack at time (t + 1) = [ program context with variables: (Variables Map at time t) and expression state: (expression state with parent stack: (parent stack at time t) arguments: (arguments stack at time t) values: (Value Stack at time t) line: (the line at time t) tab: (the tab at time t)) and control map: (Control Map at time t), stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = function call with name: name and arguments: args
    • there is a function named name with parameters params at line line

    then the line at time (t + 1) = line + 1

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = function call with name: name and arguments: args
    • there is a function named name with parameters params at line line

    then Control Map at time (t + 1) = [ entry 0: (pair ("function", name)), [ ] ]

    (link)
  • if expression state at time t = "call_returned", then Variables Map at time (t + 1) = Variables Map at time t (link)
  • if expression state at time t = "call_returned", then the line at time (t + 1) = the line at time t (link)
  • if expression state at time t = "call_returned", then the tab at time (t + 1) = the tab at time t (link)
  • if expression state at time t = "call_returned", then stack at time (t + 1) = stack at time t (link)
  • if expression state at time t = "call_returned", then Return Value at time (t + 1) = Return Value at time t (link)
  • if expression state at time t = "call_returned", then parent stack at time (t + 1) = parent stack at time t (link)
  • if expression state at time t = "call_returned", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "call_returned", then Value Stack at time (t + 1) = Value Stack at time t (link)
  • if expression state at time t = "call_returned", then Python Object Store at time (t + 1) = Python Object Store at time t (link)
  • if expression state at time t = "call_returned", then Control Map at time (t + 1) = Control Map at time t (link)
  • if expression state at time t = "call_returned", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "call_returned"
    • parent stack at time t = [ ]

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_returned"
    • parent stack at time t = [ x, y ]

    then expression state at time (t + 1) = "return"

    (link)
  • if expression state at time t = "return", then expression state at time (t + 1) = "iterate_args" (link)
  • if expression state at time t = "return", then the expression at time (t + 1) = the expression at time t (link)
  • if expression state at time t = "return", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "return", then parent stack at time (t + 1) = parent stack at time t (link)
  • if expression state at time t = "return", then Variables Map at time (t + 1) = Variables Map at time t (link)
  • if expression state at time t = "return", then the line at time (t + 1) = the line at time t (link)
  • if expression state at time t = "return", then the tab at time (t + 1) = the tab at time t (link)
  • if expression state at time t = "return", then stack at time (t + 1) = stack at time t (link)
  • if expression state at time t = "return", then Python Object Store at time (t + 1) = Python Object Store at time t (link)
  • if expression state at time t = "return", then Control Map at time (t + 1) = Control Map at time t (link)
  • if expression state at time t = "return", then Class Map at time (t + 1) = Class Map at time t (link)
  • if the following are true:
    • expression state at time t = "return"
    • Value Stack at time t = [ v, w ]
    • Return Value at time t = r

    then Value Stack at time (t + 1) = [ [ r, v ], w ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = test

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then the tab at time (t + 1) = j + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then Control Map at time (t + 1) = result of storing (pair ("if", True)) at key: j in map: (Control Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then Control Map at time (t + 1) = result of storing (pair ("if", False)) at key: j in map: (Control Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = test

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", False)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", True)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • value at j in map (Control Map at time t) = pair ("if", True)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then the tab at time (t + 1) = j + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then Control Map at time (t + 1) = result of storing (pair ("if", True)) at key: j in map: (Control Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = elif test:
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = else:

    then expression state at time (t + 1) = expression state at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = function call with name: name and arguments: args

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then "if" map at time (t + 1) = "if" map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then the tab at time (t + 1) = j + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"
    • Return Value at time t = True

    then Control Map at time (t + 1) = result of storing (pair ("while", i)) at key: j in map: (Control Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = "while" statement with condition (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"
    • Return Value at time t = False

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = continue

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = rex

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = varis

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = line

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = tab

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then expression state at time (t + 1) = "call_returned"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then parent stack at time (t + 1) = parent_stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = control_map

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = rest

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then Value Stack at time (t + 1) = value_stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then arguments stack at time (t + 1) = arg_stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
    • expression state at time t = "end_expr"

    then Return Value at time (t + 1) = Return Value at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return rex
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = return (function call with name: name and arguments: args)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if expression state at time t = "end_expr", then expression state at time (t + 1) = "not_expr" (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = Python list elements

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python list elements
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python list elements

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python list elements

    then parent stack at time (t + 1) = [ Python list elements, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python list elements

    then arguments stack at time (t + 1) = [ elements, arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python list elements

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python list elements

    then Return Value at time (t + 1) = Python reference (length of stack (Python Object Store at time t))

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python list elements

    then Python Object Store at time (t + 1) = result of appending (Python list (reverse of values)) to (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python list elements

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = Python list elements

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = Python list elements

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = Python list elements

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python list elements)
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = obj_name.method_name(args)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then "if" map at time (t + 1) = "if" map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj_name.method_name(args)
    • expression state at time t = "not_expr"

    then 'while stack' at time (t + 1) = 'while stack' at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = obj_name.method_name(args)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then "if" map at time (t + 1) = "if" map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target target and expression (obj_name.method_name(args))
    • expression state at time t = "not_expr"

    then 'while stack' at time (t + 1) = 'while stack' at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj_name.method_name(args)

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj_name.method_name(args)

    then parent stack at time (t + 1) = [ obj_name.method_name(args), parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj_name.method_name(args)

    then arguments stack at time (t + 1) = [ args, arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj_name.method_name(args)

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = obj.method_name(args)

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ ] ], stack ]
    • the expression at time t = obj.append(x)
    • value at obj in map (Variables Map at time t) = Python reference idx
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Python Object Store at time (t + 1) = result of storing (Python list (result of appending value to entries)) at index idx of stack (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = obj."append"(args)

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • map (Class Map at time t) contains key class_name = True

    then expression state at time (t + 1) = "call_build_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is method_name = params

    then Parameters List at time (t + 1) = params

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is method_name = params

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • Value Stack at time t = [ values, v_stack ]
    • definition of method method_name of class class_name in (Class Map at time t) = method_map

    then Argument Values at time (t + 1) = [ Python reference index, reverse of values ]

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • Value Stack at time t = [ values, v_stack ]
    • definition of method method_name of class class_name in (Class Map at time t) = method_map

    then Value Stack at time (t + 1) = v_stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: "__getitem__" and arguments: args
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__getitem__" and arguments: args
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Return Value at time (t + 1) = the element at index a of stack entries

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__getitem__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__getitem__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__getitem__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: "len" and arguments: args
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ Python reference idx, [ ] ], stack ]
    • the expression at time t = function call with name: "len" and arguments: args
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Return Value at time (t + 1) = length of stack entries

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "len" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "len" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "len" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ ] ], stack ]
    • the expression at time t = name."pop"(args)
    • value at obj in map (Variables Map at time t) = Python reference idx
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Python Object Store at time (t + 1) = result of storing (Python list (stack after popping a value from stack entries at index a)) at index idx of stack (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ ] ], stack ]
    • the expression at time t = name."pop"(args)
    • value at obj in map (Variables Map at time t) = Python reference idx
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Return Value at time (t + 1) = the element at index a of stack entries

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = obj."pop"(args)

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = obj."pop"(args)

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: "__contains__" and arguments: args
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = function call with name: "__contains__" and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__contains__" and arguments: args
    • the element at index idx of stack (Python Object Store at time t) = Python list entries

    then Return Value at time (t + 1) = stack entries contains a

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__contains__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__contains__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = Python dictionary entries

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = Python dictionary entries
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python dictionary entries

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python dictionary entries

    then parent stack at time (t + 1) = [ Python dictionary entries, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python dictionary entries

    then arguments stack at time (t + 1) = [ entries, arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python dictionary entries

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python dictionary elements

    then Return Value at time (t + 1) = Python reference (length of stack (Python Object Store at time t))

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python dictionary elements

    then Python Object Store at time (t + 1) = result of appending (Python dictionary (reverse of values)) to (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = Python dictionary elements

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = Python dictionary elements

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = Python dictionary elements

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = entry key: value

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = entry key: value

    then parent stack at time (t + 1) = [ entry key: value, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = entry key: value

    then arguments stack at time (t + 1) = [ [ key, [ value, [ ] ] ], arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = entry key: value

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = entry key: value

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ evaluated_value, [ evaluated_key, [ ] ] ], stack ]
    • the expression at time t = entry key: value

    then Return Value at time (t + 1) = entry evaluated_key: evaluated_value

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ evaluated_value, [ evaluated_key, [ ] ] ], stack ]
    • the expression at time t = entry key: value

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = entry key: value

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = entry key: value

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = Python dictionary elements

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python dictionary elements)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], stack ]
    • the expression at time t = function call with name: "__getitem__" and arguments: args
    • the element at index idx of stack (Python Object Store at time t) = Python dictionary entries

    then Return Value at time (t + 1) = value at a in map entries

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], stack ]
    • the expression at time t = function call with name: "__setitem__" and arguments: [ obj, rest ]
    • the element at index idx of stack (Python Object Store at time t) = Python dictionary entries

    then Python Object Store at time (t + 1) = result of storing (Python dictionary (result of storing value at key: key in map: entries)) at index idx of stack (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], stack ]
    • the expression at time t = function call with name: "__setitem__" and arguments: [ obj, rest ]
    • the element at index idx of stack (Python Object Store at time t) = Python dictionary entries

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], stack ]
    • the expression at time t = function call with name: "__setitem__" and arguments: [ obj, rest ]
    • the element at index idx of stack (Python Object Store at time t) = Python list elements

    then Python Object Store at time (t + 1) = result of storing (Python list (result of storing value at index key of stack elements)) at index idx of stack (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], stack ]
    • the expression at time t = function call with name: "__setitem__" and arguments: [ obj, rest ]
    • the element at index idx of stack (Python Object Store at time t) = Python list elements

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = function call with name: "__setitem__" and arguments: args
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = function call with name: "__setitem__" and arguments: args

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = function call with name: "__setitem__" and arguments: args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j
    • value at (j - 1) in map (Control Map at time t) = pair ("class", class_name)

    then expression state at time t = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j
    • value at (j - 1) in map (Control Map at time t) = pair ("class", class_name)

    then expression state at time (t + 1) = expression state at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • line number of method method_name of class class_name in (Class Map at time t) = line

    then the line at time (t + 1) = line + 1

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • line number of method method_name of class class_name in (Class Map at time t) = line

    then the tab at time (t + 1) = 2

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • line number of method method_name of class class_name in (Class Map at time t) = line

    then Control Map at time (t + 1) = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", method_name)), [ ] ] ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.mn(args)
    • expression state at time t = "end_expr"

    then Class Map at time (t + 1) = Class Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj_name.method_name(args))
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = Python constructor with name: name and arguments: args

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: name and arguments: args)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then parent stack at time (t + 1) = [ Python constructor with name: class_name and arguments: args, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then arguments stack at time (t + 1) = [ args, arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ evaluated, stack ]
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then expression state at time (t + 1) = "call_build_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ evaluated, stack ]
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ evaluated, stack ]
    • the expression at time t = Python constructor with name: class_name and arguments: args

    then Argument Values at time (t + 1) = reverse of evaluated

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params

    then Parameters List at time (t + 1) = params

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Function Variables Map at time (t + 1) = [ entry self: (Python reference (length of stack (Python Object Store at time t))), [ ] ]

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Python Object Store at time (t + 1) = result of appending (Python object: [ entry "__class_name__": class_name, [ ] ]) to (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Parameters List at time (t + 1) = p_rest

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Argument Values at time (t + 1) = Argument Values at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then expression state at time (t + 1) = "call_build_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • Function Variables Map at time t = [ ]
    • Parameters List at time t = [ self, p_rest ]

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • line number of method "__init__" of class class_name in (Class Map at time t) = line

    then the line at time (t + 1) = line + 1

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • line number of method "__init__" of class class_name in (Class Map at time t) = line

    then the tab at time (t + 1) = 2

    (link)
  • if the following are true:
    • expression state at time t = "call_build_args"
    • Parameters List at time t = [ ]
    • the expression at time t = Python constructor with name: class_name and arguments: args
    • line number of method "__init__" of class class_name in (Class Map at time t) = line

    then Control Map at time (t + 1) = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", "__init__")), [ ] ] ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (Python constructor with name: class_name and arguments: args)
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = obj.attr

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = assign statement with target x and expression (obj.attr)
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.attr

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.attr

    then parent stack at time (t + 1) = [ obj.attr, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.attr

    then arguments stack at time (t + 1) = [ [ obj, [ ] ], arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.attr

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj.attr

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj.attr
    • Value Stack at time t = [ [ Python reference index, [ ] ], v_stack ]

    then Value Stack at time (t + 1) = v_stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj.attr
    • Value Stack at time t = [ [ Python reference index, [ ] ], v_stack ]
    • the element at index index of stack (Python Object Store at time t) = Python object: attributes

    then Return Value at time (t + 1) = value at attr in map attributes

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ x, y ]
    • the expression at time t = obj.attr

    then expression state at time (t + 1) = "return"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = obj.attr

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = obj.key = value

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = obj.key = value
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.key = value

    then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.key = value

    then parent stack at time (t + 1) = [ obj.key = value, parent stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.key = value

    then arguments stack at time (t + 1) = [ [ obj, [ value, [ ] ] ], arguments stack at time t ]

    (link)
  • if the following are true:
    • expression state at time t = "begin_expr"
    • the expression at time t = obj.key = value

    then expression state at time (t + 1) = "iterate_args"

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ [ value, [ Python reference idx, [ ] ] ], stack ]
    • the expression at time t = obj.attribute = val
    • the element at index idx of stack (Python Object Store at time t) = Python object: entries

    then Python Object Store at time (t + 1) = result of storing (Python object: (result of storing value at key: attribute in map: entries)) at index idx of stack (Python Object Store at time t)

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • Value Stack at time t = [ values, stack ]
    • the expression at time t = x.y = z

    then Value Stack at time (t + 1) = stack

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • parent stack at time t = [ ]
    • the expression at time t = obj.attr = args

    then expression state at time (t + 1) = "end_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = the tab at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then "if" map at time (t + 1) = "if" map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then 'while stack' at time (t + 1) = 'while stack' at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = x.y = z
    • expression state at time t = "end_expr"

    then Class Map at time (t + 1) = Class Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j
    • value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
    • stack at time t = [ program context with variables: varis and expression state: (expression state with parent stack: parent_stack arguments: arg_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]

    then expression state at time (t + 1) = "call_returned"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then the expression at time (t + 1) = iterable

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then expression state at time (t + 1) = "begin_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then Value Stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then parent stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then arguments stack at time (t + 1) = [ ]

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then Control Map at time (t + 1) = Control Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

    then Class Map at time (t + 1) = Class Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then the line at time (t + 1) = i

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then the tab at time (t + 1) = j

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then "if" map at time (t + 1) = "if" map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then Python Object Store at time (t + 1) = Python Object Store at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then Variables Map at time (t + 1) = Variables Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then stack at time (t + 1) = stack at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then 'while stack' at time (t + 1) = 'while stack' at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • expression state at time t = "end_expr"

    then Class Map at time (t + 1) = Class Map at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable_ex:
    • expression state at time t = "end_expr"
    • Return Value at time t = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python list elements

    then Control Map at time (t + 1) = result of storing (trio ("for", i, elements)) at key: j in map: (Control Map at time t)

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable_ex:
    • value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable_ex:
    • value at j in map (Control Map at time t) = trio ("for", i, [ ])

    then expression state at time (t + 1) = "not_expr"

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab k = s
    • k < j
    • value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)

    then expression state at time (t + 1) = expression state at time t

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)

    then expression state at time (t + 1) = expression state at time t

    (link)


Comments

Please log in to add comments