class Racc::GrammarFileParser
def _add_many_rule(prev)
def _add_many_rule(prev) @many_rule_registry ||= {} target = @many_rule_registry[prev.to_s] return target if target target = _gen_target_name("many", prev) @many_rule_registry[prev.to_s] = target src = SourceText.new("result = val[1] ? val[1].unshift(val[0]) : val", @filename, @scanner.lineno + 1) act = UserAction.source_text(src) @grammar.add Rule.new(target, [], act) @grammar.add Rule.new(target, [prev, target], act) target end