public static boolean isNumber(String num) throws LexicalException
   {
     Long lowerBound = -4294967296L; 
     Long upperBound =  4294967295L;
     
     try {
       
       Long.valueOf(num).longValue();
       
     } catch (NumberFormatException nfe) {
      return false;
     }
     
     Long temp = Long.valueOf(num).longValue();
     if( !(lowerBound<=temp) || !(upperBound>=temp) ){
       // TODO: Add exception here
       throw new LexicalException("Number out of range");
     }
     
     return true;
   }