Function Argument Values at time s
during a function call, the arguments of the call are first computed and stored in the values stack before calling the function.
Format:
Argument Values at time s
Input:
Output:
Conditional properties that reference this function:
- 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 = [ [ ], [ [ 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 ] ]
- Function Variables Map at time t = [ ]
- Parameters List at time t = [ self, p_rest ]
then Argument Values at time (t + 1) = Argument Values at time t
(link) - if the following are true:
- expression state at time t = "call_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_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Function Variables Map at time (t + 1) = result of storing value at key: var in map: (Function Variables Map at time t)
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Parameters List at time (t + 1) = frest
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Argument Values at time (t + 1) = vrest
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then expression state at time (t + 1) = "call_build_args"
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Variables Map at time (t + 1) = Variables Map at time t
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then stack at time (t + 1) = stack at time t
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Python Object Store at time (t + 1) = Python Object Store at time t
(link) - if the following are true:
- expression state at time t = "call_build_args"
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Control Map at time (t + 1) = Control Map at time t
(link) - if the following are true:
- expression state at time t = "call_function_begin"
- the expression at time t = obj_name.method_name(args)
- value at obj_name in map (Variables Map at time t) = Python reference index
- the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
- Value Stack at time t = [ values, v_stack ]
- definition of method method_name of class class_name in (Class Map at time t) = method_map
then Argument Values at time (t + 1) = [ Python reference index, reverse of values ]
(link) - if the following are true:
- expression state at time t = "call_function_begin"
- Value Stack at time t = [ evaluated, stack ]
- the expression at time t = Python constructor with name: class_name and arguments: args
then Argument Values at time (t + 1) = reverse of evaluated
(link) - if the following are true:
- expression state at time t = "call_build_args"
- the expression at time t = Python constructor with name: class_name and arguments: args
- Function Variables Map at time t = [ ]
- Parameters List at time t = [ self, p_rest ]
then Argument Values at time (t + 1) = Argument Values at time t
(link) - if the following are true:
- Expression 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:
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Function Variables Map at time (t + 1) = result of storing value at key: var in map: (Function Variables Map at time t)
(link) - if the following are true:
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Parameters List at time (t + 1) = frest
(link) - if the following are true:
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Argument Values at time (t + 1) = vrest
(link) - if the following are true:
- Parameters List at time t = [ var, frest ]
- Argument Values at time t = [ value, vrest ]
then Python Object Store at time (t + 1) = Python Object Store at time t
(link)
Comments
Please log in to add comments