module Arithmetic
def _nt_additive_op
def _nt_additive_op start_index = index cached = node_cache[:additive_op][index] if cached @index = cached.interval.end return cached end i0 = index r1 = parse_terminal('+', SyntaxNode, AdditiveOp0) if r1.success? r0 = r1 else r2 = parse_terminal('-', SyntaxNode, AdditiveOp1) if r2.success? r0 = r2 else self.index = i0 r0 = ParseFailure.new(input, i0) end end node_cache[:additive_op][start_index] = r0 return r0 end