class

Arborist::ExprCallTreeController

Inherits Reference / Object

Constructors

Instance methods

add(pos : Int32, rule : Rule, memoized_parse_tree : MemoizedParseTree) : MemoizedParseTree
Source
apply_calls_in_call_stack
Source
apply_calls_that_resulted_in_left_recursion
Source
current_apply_node
Source
current_apply_node=(current_apply_node : ApplyCallTree | Nil)
Source
current_expr_call_failed
Source
current_node
Source
current_node=(current_node : ExprCallTree | Nil)
Source
exist?(pos : Int32, rule : Rule) : Bool
Source
lookup(pos : Int32, rule : Rule) : MemoizedParseTree | Nil
Source
lookup_most_recent_rule_application_in_call_stack(rule : Rule) : ApplyCall | Nil

returns the deepest/most-recent application of rule in the rule application stack

Source
lookup_oldest_rule_application_that_resulted_in_left_recursion(rule) : ApplyCall | Nil

returns the leftmost/earliest/oldest/shallowest application of rule in the rule application stack that resulted in left recursion

Source
lookup_rule_application_in_call_stack(rule : Rule, pos : Int32) : ApplyCall | Nil
Source
most_recent_rule_application
Source
pop_off_of_call_stack

this assumes that popping off will work

Source
push_onto_call_stack(expr_call : ExprCall)
Source
reset
Source
root
Source
root=(root : ExprCallTree | Nil)
Source
rule_in_recursion_call_stack_state

returns an array of {pos, rule} pairs representing the ApplyCalls from the call stack that all resulted in left recursion

Source
top_apply_call_that_resulted_in_left_recursion
Source