Function Value Stack at time s
each element in the value stack contains values at a particular scope. The values at the current scope are accessed with values_at(s)
Format:
Value Stack at time s
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
- Expression Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ Python list elements, ys ], rest ] ]
- Value Stack at time t = [ values, [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ Python reference (length of stack (Python Object Store at time t)), next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ Python list elements, ys ], rest ] ]
- Value Stack at time t = [ values, [ next_level, other_levels ] ]
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:
- 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 Stack at time t = [ ]
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 Stack at time t = [ ]
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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if Expression Stack at time t = [ [ obj_name.method_name(args), ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [
obj.append(x)
, ys ], rest ] ] - Value Stack at time t = [ [ value, [ ] ], [ next_level, other_levels ] ]
- 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)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [
obj.append(x)
, ys ], rest ] ] - Value Stack at time t = [ [ value, [ ] ], [ next_level, other_levels ] ]
- 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 Value Stack at time (t + 1) = [ [ None, next_level ], other_levels ]
(link)- Expression Stack at time t = [ [ ], [ [
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__getitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python list entries
then Value Stack at time (t + 1) = [ [ the element at index a of stack entries, next_level ], other_levels ]
(link)if the following are true:
- Value Stack at time t = [ [ Python reference idx, [ ] ], [ next_level, other_levels ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: "len" and arguments: args, ys ], rest ] ]
- the element at index idx of stack (Python Object Store at time t) = Python list entries
then Value Stack at time (t + 1) = [ [ length of stack entries, next_level ], other_levels ]
(link)if the following are true:
- Value Stack at time t = [ [ a, [ ] ], [ next_level, other_levels ] ]
- Expression Stack at time t = [ [ ], [ [ name."pop"(args), ys ], rest ] ]
- value at name 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:
- Value Stack at time t = [ [ a, [ ] ], [ next_level, other_levels ] ]
- Expression Stack at time t = [ [ ], [ [ name."pop"(args), ys ], rest ] ]
- value at name 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 Value Stack at time (t + 1) = [ [ the element at index a of stack entries, next_level ], other_levels ]
(link)if the following are true:
- Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: "__contains__" and arguments: args, ys ], rest ] ]
- the element at index idx of stack (Python Object Store at time t) = Python list entries
then Value Stack at time (t + 1) = [ [ stack entries contains a, next_level ], other_levels ]
(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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if Expression Stack at time t = [ [ Python dictionary entries, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ Python dictionary entries, ys ], rest ] ]
- Value Stack at time t = [ values, [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ Python reference (length of stack (Python Object Store at time t)), next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ Python dictionary entries, ys ], rest ] ]
- Value Stack at time t = [ values, [ next_level, other_levels ] ]
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 Expression Stack at time t = [ [ entry key: value, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ entry key: value, ys ], rest ] ]
- Value Stack at time t = [ [ evaluated_value, [ evaluated_key, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ entry evaluated_key: evaluated_value, next_level ], other_levels ]
(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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__getitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python dictionary entries
then Value Stack at time (t + 1) = [ [ value at a in map entries, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__setitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], [ next_level, other_levels ] ]
- 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 Stack at time t = [ [ ], [ [ function call with name: "__setitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python dictionary entries
then Value Stack at time (t + 1) = [ [ None, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__setitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], [ next_level, other_levels ] ]
- 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 Stack at time t = [ [ ], [ [ function call with name: "__setitem__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ key, [ Python reference idx, [ ] ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python list elements
then Value Stack at time (t + 1) = [ [ None, next_level ], other_levels ]
(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:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Value Stack at time (t + 1) = [ [ r, next_level ], other_levels ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Return Value at time (t + 1) = [ ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Parameters List at time (t + 1) = None
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Variables Map at time (t + 1) = Variables Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Control Map at time (t + 1) = Control Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Python Object Store at time (t + 1) = Python Object Store at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Context Stack at time (t + 1) = Context Stack at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then the line at time (t + 1) = the line at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ name.method(args), ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Variables Map at time (t + 1) = result of storing value 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Context Stack at time (t + 1) = Context 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if Expression Stack at time t = [ [ Python constructor with name: class_name and arguments: args, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value 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 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:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Value Stack at time (t + 1) = [ [ r, next_level ], other_levels ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Return Value at time (t + 1) = [ ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Parameters List at time (t + 1) = None
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Variables Map at time (t + 1) = Variables Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Control Map at time (t + 1) = Control Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Python Object Store at time (t + 1) = Python Object Store at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Context Stack at time (t + 1) = Context Stack at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then the line at time (t + 1) = the line at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ Python constructor with name: clss_name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Variables Map at time (t + 1) = result of storing value 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Context Stack at time (t + 1) = Context 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Variables Map at time (t + 1) = result of storing value 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Context Stack at time (t + 1) = Context 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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Control Map at time (t + 1) = Control Map at time t
(link)if Expression Stack at time t = [ [ obj.attr, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ obj.attr, ys ], rest ] ]
- Value Stack at time t = [ [ Python reference index, [ ] ], [ next_level, other_levels ] ]
- the element at index index of stack (Python Object Store at time t) = Python object: attributes
then Value Stack at time (t + 1) = [ [ value at attr in map attributes, next_level ], other_levels ]
(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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if Expression Stack 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 Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- 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 Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python object: entries
then Value Stack at time (t + 1) = [ [ None, next_level ], other_levels ]
(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)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- Expression Stack at time t = [ ]
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_ex:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ Python reference index, [ ] ], v_stack ]
- 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:
- 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 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 = 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 = 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 = 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:
- 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 = 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 = function call with name: name and arguments: args
then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if expression state at time t = "iterate_args", then Value Stack at time (t + 1) = Value Stack 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"
- 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) = b ⋅ a
(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"
- 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"
- 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"
- 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 expression state at time t = "call_build_args", then Value Stack at time (t + 1) = Value Stack at time t
(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 expression state at time t = "call_returned", then Value Stack at time (t + 1) = Value Stack 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 =
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 =
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 = "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 =
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
- 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 = Python list elements
- expression state at time t = "not_expr"
then Value Stack at time (t + 1) = [ ]
(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 = "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:
- 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 = 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 Value Stack at time (t + 1) = [ ]
(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 = "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"
- 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:
- 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"
- 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"
- 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"
- 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:
- 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:
- 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 = "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 = "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 = "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:
- 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:
- 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 = 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:
- 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 = "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:
- 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:
- 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 = "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:
- 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:
- 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 = "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:
- 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 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 =
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 = c
- c is constant
- Expression Stack at time t = [ ]
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
- c is a variable
- Expression Stack at time t = [ ]
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 Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Value Stack at time (t + 1) = [ [ x, values ], v_rest ]
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Parameters List at time (t + 1) = None
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then the line at time (t + 1) = the line at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then the tab at time (t + 1) = the tab at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Variables Map at time (t + 1) = Variables Map at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Control Map at time (t + 1) = Control Map at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
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 = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Context Stack at time (t + 1) = Context Stack at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Value Stack at time (t + 1) = [ [ value at x in map (Variables Map at time t), values ], v_rest ]
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Parameters List at time (t + 1) = None
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then the line at time (t + 1) = the line at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then the tab at time (t + 1) = the tab at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Variables Map at time (t + 1) = Variables Map at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Control Map at time (t + 1) = Control Map at time t
(link)if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
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 = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Context Stack at time (t + 1) = Context Stack at time t
(link)if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b + a, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b ⋅ a, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b = a, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b < a, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b > a, next_level ], other_levels ]
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then Argument Values at time (t + 1) = reverse of values
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then Value Stack at time (t + 1) = v_rest
(link)if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- 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 = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then the tab at time (t + 1) = the tab at time t
(link)if Parameters List at time t = [ var, frest ], then Value Stack at time (t + 1) = Value Stack at time t
(link)if Parameters List at time t = [ ], then Context Stack at time (t + 1) = [ program context with variables: (Variables Map at time t) and expression state: (expression state with expression stack: (Expression 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), Context Stack at time t ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Value Stack at time (t + 1) = [ [ r, next_level ], other_levels ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Expression Stack at time (t + 1) = [ ys, rest ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Return Value at time (t + 1) = [ ]
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Parameters List at time (t + 1) = None
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Variables Map at time (t + 1) = Variables Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Control Map at time (t + 1) = Control Map at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Python Object Store at time (t + 1) = Python Object Store at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then Context Stack at time (t + 1) = Context Stack at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
then the line at time (t + 1) = the line at time t
(link)if the following are true:
- Return Value at time t = [ r, [ ] ]
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ next_level, other_levels ]
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 =
target = expr
- Expression Stack at time t = [ ]
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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Variables Map at time (t + 1) = result of storing value at key: target 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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
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 =
target = expr
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Context Stack at time (t + 1) = Context 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 =
if expr:
- Expression Stack at time t = [ ]
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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 =
elif test:
- value at j in map (Control Map at time t) = pair ("if", False)
- Expression Stack at time t = [ ]
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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 expr:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack 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 =
while test:
- Expression Stack at time t = [ ]
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 Stack at time t = [ [ ], [ ] ]
- Value Stack 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 Stack at time t = [ [ ], [ ] ]
- Value Stack 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 Stack at time t = [ [ ], [ ] ]
- Value Stack 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 Stack at time t = [ [ ], [ ] ]
- Value Stack 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 =
return rex
- Expression Stack at time t = [ ]
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
- Context Stack at time t = [ program context with variables: vars and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
- Expression Stack at time t = [ [ ], [ ] ]
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
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ value, [ ] ], [ ] ]
then Return Value at time (t + 1) = [ value, [ ] ]
(link)
Comments
Please log in to add comments