Lines Matching refs:state

158     U_ASSERT(state.offset == 0);
164 if (state.peek() == u';') {
165 state.next(); // consume the ';'
167 if (state.peek() != -1) {
174 if (state.peek() != -1) {
175 state.toParseException(u"Found unquoted special character");
201 if (state.peek() != u'*') {
205 state.toParseException(u"Cannot have multiple pad specifiers");
211 state.next(); // consume the '*'
212 currentSubpattern->paddingEndpoints.start = state.offset;
214 currentSubpattern->paddingEndpoints.end = state.offset;
219 endpoints.start = state.offset;
221 switch (state.peek()) {
270 endpoints.end = state.offset;
274 if (state.peek() == -1) {
275 state.toParseException(u"Expected unquoted literal but found EOL");
278 } else if (state.peek() == u'\'') {
279 state.next(); // consume the starting quote
280 while (state.peek() != u'\'') {
281 if (state.peek() == -1) {
282 state.toParseException(u"Expected quoted literal but found EOL");
286 state.next(); // consume a quoted character
289 state.next(); // consume the ending quote
292 state.next();
299 if (state.peek() == u'.') {
300 state.next(); // consume the decimal point
305 } else if (state.peek() == u'ยค') {
307 switch (state.peek2()) {
331 state.next(); // consume the symbol
342 switch (state.peek()) {
350 state.toParseException(u"# cannot follow 0 before decimal point");
366 state.toParseException(u"Cannot mix 0 and @");
371 state.toParseException(u"Cannot nest # inside of a run of @");
392 state.toParseException(u"Cannot mix @ and 0");
400 if (!result.rounding.isZeroish() || state.peek() != u'0') {
401 result.rounding.appendDigit(static_cast<int8_t>(state.peek() - u'0'), 0, true);
408 state.next(); // consume the symbol
417 state.toParseException(u"Trailing grouping separator is invalid");
422 state.toParseException(u"Grouping width of zero is invalid");
434 switch (state.peek()) {
453 state.toParseException(u"0 cannot follow # after decimal point");
460 if (state.peek() == u'0') {
464 .appendDigit(static_cast<int8_t>(state.peek() - u'0'), zeroCounter, false);
472 state.next(); // consume the symbol
480 if (state.peek() != u'E') {
484 state.toParseException(u"Cannot have grouping separator in scientific notation");
488 state.next(); // consume the E
490 if (state.peek() == u'+') {
491 state.next(); // consume the +
495 while (state.peek() == u'0') {
496 state.next(); // consume the 0
960 // 0 => base state
965 // 4 => base state in input string; inside quoted sequence in output string
969 int state = 0;
973 // Handle a quote character (state shift)
975 if (state == 0) {
977 state = 1;
979 } else if (state == 1) {
981 state = 0;
983 } else if (state == 2) {
984 state = 3;
986 } else if (state == 3) {
989 state = 1;
991 } else if (state == 4) {
992 state = 5;
995 U_ASSERT(state == 5);
998 state = 4;
1003 if (state == 0 || state == 3 || state == 4) {
1010 if (state == 3 || state == 4) {
1012 state = 0;
1022 if (state == 0) {
1024 state = 4;
1031 if (state == 3 || state == 4) {
1033 state = 0;
1037 U_ASSERT(state == 1 || state == 2 || state == 5);
1039 state = 2;
1044 if (state == 3 || state == 4) {
1046 state = 0;
1048 if (state != 0) {