Function Class Map at time time

map that stores Class Definitions at time time

Format:

Class Map at time time

Input:

number time -

Output:

list - 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 j = Python list elements

    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 = obj_name.method_name(args)

    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 = a class named name with bases: bases

    then Class Map at time (t + 1) = result of storing [ entry "bases": bases, [ entry "methods": [ ], [ entry "line": i, [ ] ] ] ] at key: name in map: (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 ("class", class_name)

    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 = a method named method_name with parameters params
    • value at class_name in map (Class Map at time t) = class_map
    • value at "methods" in map class_map = methods_map

    then Class Map at time (t + 1) = result of storing (result of storing (result of storing [ entry "params": params, [ entry "line": i, [ ] ] ] at key: method_name in map: methods_map) at key: "methods" in map: class_map) at key: class_name in map: (Class Map at time t)

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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
    • Parameters List at time t = None
    • Value Stack at time t = [ values, v_stack ]

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

    (link)
  • if the following are true:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ obj_name.method_name(args), ys ], rest ] ]
    • 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:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • Value Stack at time t = [ evaluated, stack ]
    • method parameters where the Class Map is (Class Map at time t), class name is class_name, and method name is "__init__" = params
    • Parameters List at time t = None

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

    (link)
  • if the following are true:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • 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:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • 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:
    • Parameters List at time t = [ ]
    • Expression Stack at time t = [ [ ], [ [ Python constructor with name: class_name and arguments: args, ys ], rest ] ]
    • 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 = obj.key = value

    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 = x.y = z
    • Expression Stack at time t = [ [ ], [ ] ]

    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", method_name)

    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:

    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) = trio ("for", for_line, iterable)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)

    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

    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 ("while", while_line)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("while", while_line)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("if", if_value)

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

    (link)
  • if "break" state at t = "breaking", then Class Map at time (t + 1) = Class Map at time t (link)
  • if "continue" state at t = "continuing", 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 = 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
    • c is constant

    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 = function call with name: name and arguments: args

    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 = x
    • x is a variable

    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 = x = c

    then Class Map at time (t + 1) = Class 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 expression state at time t = "iterate_args", then Class Map at time (t + 1) = Class 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 expression state at time t = "call_build_args", then Class Map at time (t + 1) = Class 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 expression state at time t = "return", 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 = if test:

    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 = elif test:

    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 = else:

    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 ("if", if_value)

    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 = "while" statement with condition (function call with name: name and arguments: args)

    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 = break

    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 = continue

    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 = function definition where name: name and parameters: params

    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 = return v

    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 = Python list elements

    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 = obj_name.method_name(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_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 = a class named name with bases: bases

    then Class Map at time (t + 1) = result of storing [ entry "bases": bases, [ entry "methods": [ ], [ entry "line": i, [ ] ] ] ] at key: name in map: (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 ("class", class_name)

    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 = a method named method_name with parameters params
    • value at class_name in map (Class Map at time t) = class_map
    • value at "methods" in map class_map = methods_map

    then Class Map at time (t + 1) = result of storing (result of storing (result of storing [ entry "params": params, [ entry "line": i, [ ] ] ] at key: method_name in map: methods_map) at key: "methods" in map: class_map) at key: class_name in map: (Class 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 = 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 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"
    • 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"
    • 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 = obj.key = value

    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 = 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", method_name)

    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:
    • 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:
    • iterable is a variable

    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 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:
    • value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])

    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:
    • value at j in map (Control Map at time t) = trio ("for", i, [ ])

    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) = trio ("for", for_line, iterable)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)

    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

    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 ("while", while_line)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("while", while_line)

    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
    • number of lines = i - 1
    • value at (j - 1) in map (Control Map at time t) = pair ("if", if_value)

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

    (link)
  • if "break" state at t = "breaking", then Class Map at time (t + 1) = Class Map at time t (link)
  • if "continue" state at t = "continuing", 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
    • c is constant

    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 = x
    • x is a variable

    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 = function call with name: name and arguments: args

    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 = target = 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 = if test:

    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 = elif test:

    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 = else:

    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 ("if", if_value)

    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 = while test:

    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 = break

    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 = continue

    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 = function definition where name: name and parameters: params

    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 = return v

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

    (link)


Comments

Please log in to add comments