src/jdk/nashorn/internal/parser/Lexer.java

Print this page




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      */