@Override
	public Token parse() {
		Token test = first;
		
		factor = new Factor(test, scope);
		test = factor.parse();
		
		while (test.isOperator()) {
			Operator testOp = test.getOperator();
			if (Operator.MULTIPLY.equals(testOp) || Operator.DIVIDE.equals(testOp)) {
				ops.add(testOp);
				Factor f = new Factor(test.getNext(), scope);
				factors.add(f);
				test = f.parse();
			} else {
				break;
			}
		}
		
		return test;
	}