Runtime::SyntaxNode
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 65 65: def accumulate_subexpression_result 66: builder.accumulate accumulator_var, subexpression_result_var 67: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 45 45: def accumulator_var 46: var(:accumulator) 47: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 93 93: def assign_failure(start_index_var) 94: assign_result("nil") 95: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 97 97: def assign_lazily_instantiated_node 98: assign_result("true") 99: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 69 69: def assign_result(value_ruby) 70: builder.assign result_var, value_ruby 71: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 133 133: def begin_comment(expression) 134: #builder << "# begin #{on_one_line(expression)}" 135: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 6 6: def compile(address, builder, parent_expression) 7: @address = address 8: @builder = builder 9: @parent_expression = parent_expression 10: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 16 16: def declared_module_name 17: parent_expression && parent_expression.node_class_name 18: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 24 24: def decorated? 25: parent_expression && (parent_expression.node_class_name || parent_expression.node_class_name || parent_expression.inline_module_name) 26: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 137 137: def end_comment(expression) 138: #builder << "# end #{on_one_line(expression)}" 139: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 89 89: def epsilon_node 90: "instantiate_node(SyntaxNode,input, index...index)" 91: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 73 73: def extend_result(module_name) 74: builder.extend result_var, module_name 75: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 77 77: def extend_result_with_declared_module 78: extend_result declared_module_name if declared_module_name 79: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 81 81: def extend_result_with_inline_module 82: extend_result inline_module_name if inline_module_name 83: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 125 125: def init_value(var_symbol) 126: case var_symbol 127: when :accumulator then '[]' 128: when :start_index then 'index' 129: else nil 130: end 131: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 20 20: def inline_module_name 21: parent_expression && parent_expression.inline_module_name 22: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 12 12: def node_class_name 13: parent_expression && parent_expression.node_class_name || 'SyntaxNode' 14: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 61 61: def obtain_new_subexpression_address 62: @subexpression_address = builder.next_address 63: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 141 141: def on_one_line(expression) 142: expression.text_value.tr("\n", ' ') 143: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 28 28: def optional_arg(arg) 29: if arg 30: ", #{arg}" 31: else 32: '' 33: end 34: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 85 85: def reset_index 86: builder.assign '@index', start_index_var 87: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 41 41: def result_var 42: var(:result) 43: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 49 49: def start_index_var 50: var(:start_index) 51: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 53 53: def subexpression_result_var 54: "r#{subexpression_address}" 55: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 57 57: def subexpression_success? 58: subexpression_result_var 59: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 36 36: def use_vars(*var_symbols) 37: @var_symbols = var_symbols 38: builder << var_initialization 39: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 116 116: def var(var_symbol) 117: case var_symbol 118: when :result then "r#{address}" 119: when :accumulator then "s#{address}" 120: when :start_index then "i#{address}" 121: else raise "Unknown var symbol #{var_symbol}." 122: end 123: end
# File lib/treetop/compiler/node_classes/parsing_expression.rb, line 101 101: def var_initialization 102: left, right = [], [] 103: var_symbols.each do |symbol| 104: if init_value(symbol) 105: left << var(symbol) 106: right << init_value(symbol) 107: end 108: end 109: if left.empty? 110: "" 111: else 112: left.join(', ') + ' = ' + right.join(', ') 113: end 114: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.