Lines Matching defs:scanner

19   DateStringTokenizer<Char> scanner(&in);
73 DateToken next_unhandled_token = ParseES5DateTime(&scanner, &day, &time, &tz);
79 token = scanner.Next()) {
83 if (scanner.SkipSymbol(':')) {
84 if (scanner.SkipSymbol(':')) {
92 if (scanner.Peek().IsSymbol('.')) scanner.Next();
94 } else if (scanner.SkipSymbol('.') && time.IsExpecting(n)) {
96 if (!scanner.Peek().IsNumber()) return false;
97 int n = ReadMilliseconds(scanner.Next());
106 DateToken peek = scanner.Peek();
113 scanner.SkipSymbol('-');
123 scanner.SkipSymbol('-');
131 if (scanner.Peek().IsNumber()) return false;
138 if (scanner.Peek().IsNumber()) {
139 n = scanner.Next().number();
143 if (scanner.Peek().IsSymbol(':')) {
199 DateStringTokenizer<Char>* scanner,
208 if (scanner->Peek().IsAsciiSign()) {
211 DateToken sign_token = scanner->Next();
212 if (!scanner->Peek().IsFixedLengthNumber(6)) return sign_token;
214 int year = scanner->Next().number();
217 } else if (scanner->Peek().IsFixedLengthNumber(4)) {
218 day->Add(scanner->Next().number());
220 return scanner->Next();
222 if (scanner->SkipSymbol('-')) {
223 if (!scanner->Peek().IsFixedLengthNumber(2) ||
224 !DayComposer::IsMonth(scanner->Peek().number())) return scanner->Next();
225 day->Add(scanner->Next().number());
226 if (scanner->SkipSymbol('-')) {
227 if (!scanner->Peek().IsFixedLengthNumber(2) ||
228 !DayComposer::IsDay(scanner->Peek().number())) return scanner->Next();
229 day->Add(scanner->Next().number());
233 if (!scanner->Peek().IsKeywordType(TIME_SEPARATOR)) {
234 if (!scanner->Peek().IsEndOfInput()) return scanner->Next();
237 scanner->Next();
238 if (!scanner->Peek().IsFixedLengthNumber(2) ||
239 !Between(scanner->Peek().number(), 0, 24)) {
243 bool hour_is_24 = (scanner->Peek().number() == 24);
244 time->Add(scanner->Next().number());
245 if (!scanner->SkipSymbol(':')) return DateToken::Invalid();
246 if (!scanner->Peek().IsFixedLengthNumber(2) ||
247 !TimeComposer::IsMinute(scanner->Peek().number()) ||
248 (hour_is_24 && scanner->Peek().number() > 0)) {
251 time->Add(scanner->Next().number());
252 if (scanner->SkipSymbol(':')) {
253 if (!scanner->Peek().IsFixedLengthNumber(2) ||
254 !TimeComposer::IsSecond(scanner->Peek().number()) ||
255 (hour_is_24 && scanner->Peek().number() > 0)) {
258 time->Add(scanner->Next().number());
259 if (scanner->SkipSymbol('.')) {
260 if (!scanner->Peek().IsNumber() ||
261 (hour_is_24 && scanner->Peek().number() > 0)) {
265 time->Add(ReadMilliseconds(scanner->Next()));
269 if (scanner->Peek().IsKeywordZ()) {
270 scanner->Next();
272 } else if (scanner->Peek().IsSymbol('+') ||
273 scanner->Peek().IsSymbol('-')) {
274 tz->SetSign(scanner->Next().symbol() == '+' ? 1 : -1);
275 if (scanner->Peek().IsFixedLengthNumber(4)) {
277 int hourmin = scanner->Next().number();
287 if (!scanner->Peek().IsFixedLengthNumber(2) ||
288 !TimeComposer::IsHour(scanner->Peek().number())) {
291 tz->SetAbsoluteHour(scanner->Next().number());
292 if (!scanner->SkipSymbol(':')) return DateToken::Invalid();
293 if (!scanner->Peek().IsFixedLengthNumber(2) ||
294 !TimeComposer::IsMinute(scanner->Peek().number())) {
297 tz->SetAbsoluteMinute(scanner->Next().number());
300 if (!scanner->Peek().IsEndOfInput()) return DateToken::Invalid();