private Expression addition() { Expression e = multiplication(); while (true) { if (isEquals(TokenType.ADD)) { e = new BinaryOP('+', e, multiplication()); continue; } if (isEquals(TokenType.SUB)) { e = new BinaryOP('-', e, multiplication()); continue; } break; } return(e); }
private Expression multiplication() { Expression e = unaryOP(); while (true) { if (isEquals(TokenType.MUL)) { e = new BinaryOP('*', e, unaryOP()); continue; } if (isEquals(TokenType.DIV)) { e = new BinaryOP('/', e, unaryOP()); continue; } break; } return(e); }
public void visit(BinaryOP statement) { statement.a.accept(this); statement.b.accept(this); }