public static TermCont Parse(Input input, TextWriter output) { return input.RewindOnNull(() => { var op = input.Pop("*", "/"); if (op == null) { return null; } var factor = Factor.Parse(input, output); return factor == null ? null : new TermCont(op, factor); }); }
public static Term Parse(Input input, TextWriter output) { var factor = Factor.Parse(input, output); return(factor == null ? null : new Term(factor, input.UntilNull(output, TermCont.Parse))); }