public int getValue()
	{
		if(uex!=null)
		{
			if(op.getName().equals("+"))return +uex.getValue();
			if(op.getName().equals("-"))return -uex.getValue();
			if(op.getName().equals("!"))return uex.getValue()==0?1:0;
			if(op.getName().equals("~"))return ~uex.getValue();
			throw new IllegalStateException("Invalid Unary Operator:"+op);
		}
		if(ex!=null)
		{
			return ex.getValue();
		}
		if(num!=null)
		{
			return num.getValue();
		}
		if(vex!=null)
		{
			return vex.getValue();
		}
		return getValueBiop();
	}