@Override
	public void emitCode(GluonOutput code) {
		if (subExpression != null){
			subExpression.emitCode(code);
		} else if (literal != null) {
			literal.emitCode(code);
		} else {
			if (preIncrement)
				code.code("INC " + variable.getLabelName());
			else if (preDecrement)
				code.code("DEC " + variable.getLabelName());
			
			variable.emitCode(code);
			
			if (postIncrement)
				code.code("INC " + variable.getLabelName());
			else if (postDecrement)
				code.code("DEC " + variable.getLabelName());
		}
		
		if (unaryMinus){
			code.code("NEG EAX");
		} else if (unaryPlus){
			// do nothing
		}
	}