AbstractNode simpleExpr() {
		AbstractNode node;

		if (test(MINUS)) {
			read(MINUS, "-");
			node = new NegationNode(term());
		} else {
			node = term();
		}

		while (test(PLUS) || test(MINUS)) {
			if (test(PLUS)) {
				read(PLUS, "+");
				node = new BinOpNode(PLUS_OP, node, term());
			} else if (test(MINUS)) {
				read(MINUS, "-");
				node = new BinOpNode(MINUS_OP, node, term());
			}
			
		}

		return node;
	}