@Override
	public Token parse() {
		Token test = first;
		term = new Term(test, scope);
		test = term.parse();
		
		while (test.isOperator()) {
			Operator testOp = test.getOperator();
			if (Operator.ADD.equals(testOp) || Operator.SUBTRACT.equals(testOp)) {
				ops.add(testOp);
				Term t = new Term(test.getNext(), scope);
				terms.add(t);
				test = t.parse();
			} else {
				break;
			}
		}
		
		return test;
	}