Function Class Map at time time
map that stores Class Definitions at time time
Format:
Class Map at time time
Input:
Output:
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:
- Expression Stack at time t = [ [ ], [ [
super()
, ys ], rest ] ] - Value Stack at time t = [ [ ], [ next_level, other_levels ] ]
- Control Map at time t = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", method_name)), [ ] ] ]
- definition of method method_name of class class_name in (Class Map at time t) = method_map
- value at "params" in map method_map = [ param_name, other_params ]
- value at param_name in map (Variables Map at time t) = Python reference pi
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
, ys ], rest ] ] - Value Stack at time t = [ [ ], [ next_level, other_levels ] ]
- Control Map at time t = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", method_name)), [ ] ] ]
- definition of method method_name of class class_name in (Class Map at time t) = method_map
- value at "params" in map method_map = [ param_name, other_params ]
- value at param_name in map (Variables Map at time t) = Python reference pi
then Value Stack at time (t + 1) = [ [ Python super reference pi class_name, next_level ], other_levels ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Parameters List at time (t + 1) = [ base_param, other_base_params ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Argument Values at time (t + 1) = [ Python super reference pi class_name, other_vals ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Function Variables Map at time (t + 1) = [ ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Value Stack at time (t + 1) = [ next_level, other_levels ]
(link)- Expression Stack at time t = [ [ ], [ [
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 and base classes 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 and base classes 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