class Arborist::ApplyCall

Defined in:

arborist.cr

Constructors

Instance Method Summary

Instance methods inherited from class Arborist::ExprCall

expr : Expr expr, expr=(expr : Expr) expr=, inspect(io) inspect, pos : Int32 pos, pos=(pos : Int32) pos=

Constructor methods inherited from class Arborist::ExprCall

new(expr : Arborist::Apply | Arborist::Choice | Arborist::Dot | Arborist::MutexAlt | Arborist::NegLookAhead | Arborist::Optional | Arborist::PosLookAhead | Arborist::Repetition | Arborist::RepetitionOnePlus | Arborist::Sequence | Arborist::Terminal, pos : Int32) new

Constructor Detail

def self.new(apply_expr : Apply, rule : Arborist::Rule, pos, left_recursive : Bool = false) #

[View source]

Instance Method Detail

def add_candidate_seed_parse_tree(candidate_seed_parse_tree) #

Sets the #seed_parse_tree field to the longest match parse tree between the existing value of the #seed_parse_tree field and the supplied candidate_seed_parse_tree. Returns the longest candidate seed parse tree observed (including candidate_seed_parse_tree)


[View source]
def child_recursive_calls : Set(ApplyCall) #

[View source]
def child_recursive_calls=(child_recursive_calls : Set(ApplyCall)) #

[View source]
def grew_seed_maximally : Bool #

[View source]
def grew_seed_maximally! #

[View source]
def grew_seed_maximally=(grew_seed_maximally : Bool) #

[View source]
def grew_seed_maximally? : Bool #

[View source]
def has_not_yet_resulted_in_lower_level_seed_growth! #

[View source]
def inspect(io) #

[View source]
def left_recursive : Bool #

[View source]
def left_recursive=(left_recursive : Bool) #

[View source]
def left_recursive? : Bool #

returns true if this rule application is left recursive at @pos; false otherwise


[View source]
def log_child_recursive_call(child_recursive_call) #

[View source]
def not_safe_to_memoize! #

[View source]
def parent_of_recursive_call : ApplyCall | Nil #

[View source]
def parent_of_recursive_call=(parent_of_recursive_call : ApplyCall | Nil) #

[View source]
def remove_all_child_recursive_calls #

[View source]
def remove_child_recursive_call(child_recursive_call) #

[View source]
def remove_self_from_parent_recursive_call #

[View source]
def resulted_in_deeper_level_seed_growth! #

[View source]
def resulted_in_deeper_level_seed_growth? : Bool #

[View source]
def resulted_in_left_recursion : Bool #

[View source]
def resulted_in_left_recursion=(resulted_in_left_recursion : Bool) #

[View source]
def resulted_in_left_recursion? : Bool #

[View source]
def rule : Rule #

property expr : Expr # inherited from ExprCall property pos : Int32 # inherited from ExprCall


[View source]
def rule_name #

[View source]
def safe_to_memoize : Bool #

[View source]
def safe_to_memoize=(safe_to_memoize : Bool) #

[View source]
def safe_to_memoize? : Bool #

[View source]
def seed_parse_tree : ParseTree | Nil #

[View source]
def seed_parse_tree=(seed_parse_tree : ParseTree | Nil) #

[View source]
def set_left_recursive(new_value : Bool) #

[View source]
def set_parent_of_recursive_call(parent_call : Nil | Arborist::ApplyCall) #

[View source]
def set_resulted_in_left_recursion(new_value : Bool) #

[View source]
def should_grow_seed_maximally? #

[View source]
def should_recursive_application_grow_maximally?(child_rule_application) #

[View source]
def syntactic_rule? #

[View source]