class Racc::GrammarFileParser
def add_rule_block(list)
def add_rule_block(list) sprec = nil target = list.shift case target when OrMark, UserAction, Prec raise CompileError, "#{target.lineno}: unexpected symbol #{target.name}" end curr = [] list.each do |i| case i when OrMark add_rule target, curr, sprec curr = [] sprec = nil when Prec raise CompileError, "'=<prec>' used twice in one rule" if sprec sprec = i.symbol else curr.push i end end add_rule target, curr, sprec end