(left, min_prec)
| 1113 | }; |
| 1114 | |
| 1115 | function expr_op(left, min_prec) { |
| 1116 | var op = is("operator") ? S.token.value : null; |
| 1117 | var prec = op != null ? PRECEDENCE[op] : null; |
| 1118 | if (prec != null && prec > min_prec) { |
| 1119 | next(); |
| 1120 | var right = expr_op(expr_atom(true), prec); |
| 1121 | return expr_op(as("binary", op, left, right), min_prec); |
| 1122 | } |
| 1123 | return left; |
| 1124 | }; |
| 1125 | |
| 1126 | function expr_ops() { |
| 1127 | return expr_op(expr_atom(true), 0); |