Function arguments stack at time s

arguments stack contains arguments that will be evaluated before a function is called

Format:

arguments stack at time s

Input:

number s -

Output:

list - None

Conditional properties that reference this function:

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

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

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

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

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

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

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

    then arguments 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 arguments stack at time (t + 1) = arguments stack at time t

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    (link)
  • if expression state at time t = "call_function_begin", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "call_build_args", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if 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 arguments stack at time (t + 1) = arguments stack at time t (link)
  • if expression state at time t = "return", then arguments stack at time (t + 1) = arguments stack at time t (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = if test:
    • expression state at time t = "not_expr"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    then arguments 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 arguments stack at time (t + 1) = [ args, arguments 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 = Python dictionary entries
    • expression state at time t = "not_expr"

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

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

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

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

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

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

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

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

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

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

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

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

    then arguments 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 arguments stack at time (t + 1) = [ [ obj, [ ] ], arguments stack at time t ]

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

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

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

    then arguments stack at time (t + 1) = [ [ obj, [ value, [ ] ] ], arguments 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 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 arguments stack at time (t + 1) = arg_stack

    (link)
  • if the following are true:
    • the line at time t = i
    • the tab at time t = j
    • statement at line i, tab j = for target in iterable:
    • map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
    • expression state at time t = "not_expr"

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

    (link)


Comments

Please log in to add comments