1098 } 1099 1100 // Detect exponent. 1101 if (ch0 == 'E' || ch0 == 'e') { 1102 // Skip E. 1103 skip(1); 1104 // Detect and skip exponent sign. 1105 if (ch0 == '+' || ch0 == '-') { 1106 skip(1); 1107 } 1108 // Skip exponent. 1109 while (convertDigit(ch0, 10) != -1) { 1110 skip(1); 1111 } 1112 } 1113 1114 type = FLOATING; 1115 } 1116 } 1117 1118 // Add number token. 1119 add(type, start); 1120 } 1121 1122 /** 1123 * Convert a regex token to a token object. 1124 * 1125 * @param start Position in source content. 1126 * @param length Length of regex token. 1127 * @return Regex token object. 1128 */ 1129 XMLToken valueOfXML(final int start, final int length) { 1130 return new XMLToken(source.getString(start, length)); 1131 } 1132 1133 /** 1134 * Scan over a XML token. 1135 * 1136 * @return TRUE if is an XML literal. 1137 */ | 1098 } 1099 1100 // Detect exponent. 1101 if (ch0 == 'E' || ch0 == 'e') { 1102 // Skip E. 1103 skip(1); 1104 // Detect and skip exponent sign. 1105 if (ch0 == '+' || ch0 == '-') { 1106 skip(1); 1107 } 1108 // Skip exponent. 1109 while (convertDigit(ch0, 10) != -1) { 1110 skip(1); 1111 } 1112 } 1113 1114 type = FLOATING; 1115 } 1116 } 1117 1118 if (Character.isJavaIdentifierStart(ch0)) { 1119 error(Lexer.message("missing.space.after.number"), type, position, 1); 1120 } 1121 1122 // Add number token. 1123 add(type, start); 1124 } 1125 1126 /** 1127 * Convert a regex token to a token object. 1128 * 1129 * @param start Position in source content. 1130 * @param length Length of regex token. 1131 * @return Regex token object. 1132 */ 1133 XMLToken valueOfXML(final int start, final int length) { 1134 return new XMLToken(source.getString(start, length)); 1135 } 1136 1137 /** 1138 * Scan over a XML token. 1139 * 1140 * @return TRUE if is an XML literal. 1141 */ |