Function parent stack at time s
during expression evaluation, parent stack contains parent sub-expressions that are evaluated after the child expressions
Format:
parent 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 = function call with name: name and arguments: args
- expression state at time t = "not_expr"
then parent 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 parent 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 parent 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 parent 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
- parent stack at time t = [ x, y ]
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = c
- c is constant
- parent stack at time t = [ ]
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = c
- c is constant
then parent stack at time (t + 1) = parent stack at time t
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = x
- x is a variable
- parent stack at time t = [ y, z ]
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = v
- v is a variable
- parent stack at time t = [ ]
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = v
- v is a variable
then parent stack at time (t + 1) = parent 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 parent stack at time (t + 1) = [ function call with name: name and arguments: args, parent 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 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 parent stack at time (t + 1) = parent stack at time t
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__add__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__add__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__mul__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__mul__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__eq__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__eq__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__gt__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__gt__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__lt__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__lt__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if expression state at time t = "call_build_args", then parent stack at time (t + 1) = parent 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 parent stack at time (t + 1) = parent stack at time t
(link)if the following are true:
- expression state at time t = "call_returned"
- parent stack at time t = [ ]
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_returned"
- parent stack at time t = [ x, y ]
then expression state at time (t + 1) = "return"
(link)if expression state at time t = "return", then parent stack at time (t + 1) = parent 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 parent 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 parent 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 parent 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 parent 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 parent stack at time (t + 1) = parent_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 parent 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 parent stack at time (t + 1) = [ Python list elements, parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = Python list elements
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = Python list elements
then expression state at time (t + 1) = "end_expr"
(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 parent 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 parent 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 parent 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 parent stack at time (t + 1) = [ obj_name.method_name(args), parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = obj."append"(args)
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__getitem__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__getitem__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "len" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "len" and arguments: args
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = obj."pop"(args)
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = obj."pop"(args)
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__contains__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__contains__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(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 parent 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 parent stack at time (t + 1) = [ Python dictionary entries, parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = Python dictionary elements
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = Python dictionary elements
then expression state at time (t + 1) = "end_expr"
(link)if the following are true:
- expression state at time t = "begin_expr"
- the expression at time t = entry key: value
then parent stack at time (t + 1) = [ entry key: value, parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = entry key: value
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = entry key: value
then expression state at time (t + 1) = "end_expr"
(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 parent stack at time (t + 1) = [ ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = function call with name: "__setitem__" and arguments: args
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = function call with name: "__setitem__" and arguments: args
then expression state at time (t + 1) = "end_expr"
(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 parent 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 parent stack at time (t + 1) = [ Python constructor with name: class_name and arguments: args, parent 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 parent 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 parent stack at time (t + 1) = [ obj.attr, parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ x, y ]
- the expression at time t = obj.attr
then expression state at time (t + 1) = "return"
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = obj.attr
then expression state at time (t + 1) = "end_expr"
(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 parent 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 parent stack at time (t + 1) = [ obj.key = value, parent stack at time t ]
(link)if the following are true:
- expression state at time t = "call_function_begin"
- parent stack at time t = [ ]
- the expression at time t = obj.attr = args
then expression state at time (t + 1) = "end_expr"
(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 parent stack at time (t + 1) = parent_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 parent stack at time (t + 1) = [ ]
(link)
Comments
Please log in to add comments