File Coverage

tstr_cparse_ecmascript.c
Criterion Covered Total %
statement 187 426 43.9
branch 88 218 40.3
condition n/a
subroutine n/a
pod n/a
total 275 644 42.7


line stmt bran cond sub pod time code
1              
2             #line 1 "ragel/tstr_cparse_ecmascript.rl"
3             #include
4             #include
5             #include
6              
7             #include "tstr_parsed.h"
8             #include "tstr_token_parse.h"
9             #include "tstr_cparse.h"
10              
11              
12             #line 30 "ragel/tstr_cparse_ecmascript.rl"
13              
14              
15              
16             #line 17 "tstr_cparse_ecmascript.c"
17             static const int ecmascript_start = 1;
18             static const int ecmascript_first_final = 64;
19             static const int ecmascript_error = 0;
20              
21             static const int ecmascript_en_main = 1;
22              
23              
24             #line 33 "ragel/tstr_cparse_ecmascript.rl"
25              
26             tstr_parse_result_t tstr_cparse_ecmascript(const char* p,
27             size_t len,
28             tstr_parsed_t* parsed) {
29             int cs, v;
30             const char* pe = p + len;
31             const char* eof = pe;
32             const char* mark = NULL;
33             tstr_parse_result_t result = TSTR_PARSE_OK;
34              
35             (void)tstr_parsed_init(parsed);
36              
37            
38             #line 39 "tstr_cparse_ecmascript.c"
39             {
40 28           cs = ecmascript_start;
41             }
42              
43             #line 46 "ragel/tstr_cparse_ecmascript.rl"
44            
45             #line 46 "tstr_cparse_ecmascript.c"
46             {
47 28 50         if ( p == pe )
48 0           goto _test_eof;
49 28           switch ( cs )
50             {
51 28           case 1:
52 28           switch( (*p) ) {
53 1           case 70: goto tr0;
54 23           case 77: goto tr2;
55 0           case 83: goto tr3;
56 3           case 84: goto tr4;
57 1           case 87: goto tr5;
58             }
59 0           goto st0;
60 0           st0:
61 0           cs = 0;
62 0           goto _out;
63 1           tr0:
64             #line 4 "ragel/tstr_common.rl"
65             { mark = p; }
66             goto st2;
67             st2:
68             if ( ++p == pe )
69             goto _test_eof2;
70             case 2:
71             #line 72 "tstr_cparse_ecmascript.c"
72 1 50         if ( (*p) == 114 )
73 1           goto st3;
74 0           goto st0;
75 1           st3:
76 1 50         if ( ++p == pe )
77 0           goto _test_eof3;
78             case 3:
79 1 50         if ( (*p) == 105 )
80 1           goto st4;
81 0           goto st0;
82 28           st4:
83 28 50         if ( ++p == pe )
84 0           goto _test_eof4;
85             case 4:
86 28 50         if ( (*p) == 32 )
87 28           goto tr8;
88 0           goto st0;
89 28           tr8:
90             #line 38 "ragel/tstr_common.rl"
91             {
92             if (!tstr_token_parse_day_name(mark, p - mark, &v)) {
93             result = TSTR_PARSE_ERR_DAY_NAME;
94             {p++; cs = 5; goto _out;}
95             }
96             tstr_parsed_set_day_name(parsed, v);
97             }
98             goto st5;
99             st5:
100             if ( ++p == pe )
101             goto _test_eof5;
102             case 5:
103             #line 104 "tstr_cparse_ecmascript.c"
104 28           switch( (*p) ) {
105 0           case 65: goto tr9;
106 25           case 68: goto tr10;
107 0           case 70: goto tr11;
108 3           case 74: goto tr12;
109 0           case 77: goto tr13;
110 0           case 78: goto tr14;
111 0           case 79: goto tr15;
112 0           case 83: goto tr16;
113             }
114 0           goto st0;
115 0           tr9:
116             #line 4 "ragel/tstr_common.rl"
117             { mark = p; }
118             goto st6;
119             st6:
120             if ( ++p == pe )
121             goto _test_eof6;
122             case 6:
123             #line 124 "tstr_cparse_ecmascript.c"
124 0           switch( (*p) ) {
125 0           case 112: goto st7;
126 0           case 117: goto st39;
127             }
128 0           goto st0;
129 0           st7:
130 0 0         if ( ++p == pe )
131 0           goto _test_eof7;
132             case 7:
133 0 0         if ( (*p) == 114 )
134 0           goto st8;
135 0           goto st0;
136 28           st8:
137 28 50         if ( ++p == pe )
138 0           goto _test_eof8;
139             case 8:
140 28 50         if ( (*p) == 32 )
141 28           goto tr20;
142 0           goto st0;
143 28           tr20:
144             #line 22 "ragel/tstr_common.rl"
145             {
146             if (!tstr_token_parse_month(mark, p - mark, &v)) {
147             result = TSTR_PARSE_ERR_MONTH;
148             {p++; cs = 9; goto _out;}
149             }
150             tstr_parsed_set_month(parsed, v);
151             }
152             goto st9;
153             st9:
154             if ( ++p == pe )
155             goto _test_eof9;
156             case 9:
157             #line 158 "tstr_cparse_ecmascript.c"
158 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
159 28           goto tr21;
160 0           goto st0;
161 28           tr21:
162             #line 4 "ragel/tstr_common.rl"
163             { mark = p; }
164             goto st10;
165             st10:
166             if ( ++p == pe )
167             goto _test_eof10;
168             case 10:
169             #line 170 "tstr_cparse_ecmascript.c"
170 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
171 28           goto st11;
172 0           goto st0;
173 28           st11:
174 28 50         if ( ++p == pe )
175 0           goto _test_eof11;
176             case 11:
177 28 50         if ( (*p) == 32 )
178 28           goto tr23;
179 0           goto st0;
180 28           tr23:
181             #line 30 "ragel/tstr_common.rl"
182             {
183             if (!tstr_token_parse_day(mark, p - mark, &v)) {
184             result = TSTR_PARSE_ERR_DAY;
185             {p++; cs = 12; goto _out;}
186             }
187             tstr_parsed_set_day(parsed, v);
188             }
189             goto st12;
190             st12:
191             if ( ++p == pe )
192             goto _test_eof12;
193             case 12:
194             #line 195 "tstr_cparse_ecmascript.c"
195 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
196 28           goto tr24;
197 0           goto st0;
198 28           tr24:
199             #line 4 "ragel/tstr_common.rl"
200             { mark = p; }
201             goto st13;
202             st13:
203             if ( ++p == pe )
204             goto _test_eof13;
205             case 13:
206             #line 207 "tstr_cparse_ecmascript.c"
207 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
208 28           goto st14;
209 0           goto st0;
210 28           st14:
211 28 50         if ( ++p == pe )
212 0           goto _test_eof14;
213             case 14:
214 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
215 28           goto st15;
216 0           goto st0;
217 28           st15:
218 28 50         if ( ++p == pe )
219 0           goto _test_eof15;
220             case 15:
221 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
222 28           goto st16;
223 0           goto st0;
224 28           st16:
225 28 50         if ( ++p == pe )
226 0           goto _test_eof16;
227             case 16:
228 28 50         if ( (*p) == 32 )
229 28           goto tr28;
230 0           goto st0;
231 28           tr28:
232             #line 6 "ragel/tstr_common.rl"
233             {
234             if (!tstr_token_parse_year(mark, p - mark, &v)) {
235             result = TSTR_PARSE_ERR_YEAR;
236             {p++; cs = 17; goto _out;}
237             }
238             tstr_parsed_set_year4(parsed, v);
239             }
240             goto st17;
241             st17:
242             if ( ++p == pe )
243             goto _test_eof17;
244             case 17:
245             #line 246 "tstr_cparse_ecmascript.c"
246 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
247 28           goto tr29;
248 0           goto st0;
249 28           tr29:
250             #line 4 "ragel/tstr_common.rl"
251             { mark = p; }
252             goto st18;
253             st18:
254             if ( ++p == pe )
255             goto _test_eof18;
256             case 18:
257             #line 258 "tstr_cparse_ecmascript.c"
258 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
259 28           goto st19;
260 0           goto st0;
261 28           st19:
262 28 50         if ( ++p == pe )
263 0           goto _test_eof19;
264             case 19:
265 28 50         if ( (*p) == 58 )
266 28           goto tr31;
267 0           goto st0;
268 28           tr31:
269             #line 46 "ragel/tstr_common.rl"
270             {
271             if (!tstr_token_parse_hour(mark, p - mark, &v)) {
272             result = TSTR_PARSE_ERR_HOUR;
273             {p++; cs = 20; goto _out;}
274             }
275             tstr_parsed_set_hour(parsed, v);
276             }
277             goto st20;
278             st20:
279             if ( ++p == pe )
280             goto _test_eof20;
281             case 20:
282             #line 283 "tstr_cparse_ecmascript.c"
283 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
284 28           goto tr32;
285 0           goto st0;
286 28           tr32:
287             #line 4 "ragel/tstr_common.rl"
288             { mark = p; }
289             goto st21;
290             st21:
291             if ( ++p == pe )
292             goto _test_eof21;
293             case 21:
294             #line 295 "tstr_cparse_ecmascript.c"
295 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
296 28           goto st22;
297 0           goto st0;
298 28           st22:
299 28 50         if ( ++p == pe )
300 0           goto _test_eof22;
301             case 22:
302 28 50         if ( (*p) == 58 )
303 28           goto tr34;
304 0           goto st0;
305 28           tr34:
306             #line 54 "ragel/tstr_common.rl"
307             {
308             if (!tstr_token_parse_minute(mark, p - mark, &v)) {
309             result = TSTR_PARSE_ERR_MINUTE;
310             {p++; cs = 23; goto _out;}
311             }
312             tstr_parsed_set_minute(parsed, v);
313             }
314             goto st23;
315             st23:
316             if ( ++p == pe )
317             goto _test_eof23;
318             case 23:
319             #line 320 "tstr_cparse_ecmascript.c"
320 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
321 28           goto tr35;
322 0           goto st0;
323 28           tr35:
324             #line 4 "ragel/tstr_common.rl"
325             { mark = p; }
326             goto st24;
327             st24:
328             if ( ++p == pe )
329             goto _test_eof24;
330             case 24:
331             #line 332 "tstr_cparse_ecmascript.c"
332 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
333 28           goto st25;
334 0           goto st0;
335 28           st25:
336 28 50         if ( ++p == pe )
337 0           goto _test_eof25;
338             case 25:
339 28 50         if ( (*p) == 32 )
340 28           goto tr37;
341 0           goto st0;
342 28           tr37:
343             #line 62 "ragel/tstr_common.rl"
344             {
345             if (!tstr_token_parse_second(mark, p - mark, &v)) {
346             result = TSTR_PARSE_ERR_SECOND;
347             {p++; cs = 26; goto _out;}
348             }
349             tstr_parsed_set_second(parsed, v);
350             }
351             goto st26;
352             st26:
353             if ( ++p == pe )
354             goto _test_eof26;
355             case 26:
356             #line 357 "tstr_cparse_ecmascript.c"
357 28           switch( (*p) ) {
358 1           case 43: goto tr38;
359 0           case 45: goto tr38;
360 26           case 71: goto tr39;
361 1           case 85: goto tr40;
362             }
363 0           goto st0;
364 1           tr38:
365             #line 4 "ragel/tstr_common.rl"
366             { mark = p; }
367             goto st27;
368             tr50:
369             #line 86 "ragel/tstr_common.rl"
370             {
371             tstr_parsed_set_tz_utc(parsed, mark, p - mark);
372             }
373             #line 4 "ragel/tstr_common.rl"
374             { mark = p; }
375             goto st27;
376             st27:
377             if ( ++p == pe )
378             goto _test_eof27;
379             case 27:
380             #line 381 "tstr_cparse_ecmascript.c"
381 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
382 28           goto st28;
383 0           goto st0;
384 28           st28:
385 28 50         if ( ++p == pe )
386 0           goto _test_eof28;
387             case 28:
388 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
389 28           goto st29;
390 0           goto st0;
391 28           st29:
392 28 50         if ( ++p == pe )
393 0           goto _test_eof29;
394             case 29:
395 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
396 28           goto st30;
397 0           goto st0;
398 28           st30:
399 28 50         if ( ++p == pe )
400 0           goto _test_eof30;
401             case 30:
402 28 50         if ( 48 <= (*p) && (*p) <= 57 )
    50          
403 28           goto st64;
404 0           goto st0;
405 28           st64:
406 28 100         if ( ++p == pe )
407 24           goto _test_eof64;
408             case 64:
409 4 50         if ( (*p) == 32 )
410 4           goto tr65;
411 0           goto st0;
412 4           tr65:
413             #line 78 "ragel/tstr_common.rl"
414             {
415             if (!tstr_token_parse_tz_offset(mark, p - mark, &v)) {
416             result = TSTR_PARSE_ERR_OFFSET;
417             {p++; cs = 31; goto _out;}
418             }
419             tstr_parsed_set_offset(parsed, v);
420             }
421             goto st31;
422             st31:
423             if ( ++p == pe )
424             goto _test_eof31;
425             case 31:
426             #line 427 "tstr_cparse_ecmascript.c"
427 4 50         if ( (*p) == 40 )
428 4           goto st32;
429 0           goto st0;
430 4           st32:
431 4 50         if ( ++p == pe )
432 0           goto _test_eof32;
433             case 32:
434 4 50         if ( 40 <= (*p) && (*p) <= 41 )
    50          
435 0           goto st0;
436 4           goto st33;
437 82           st33:
438 82 50         if ( ++p == pe )
439 0           goto _test_eof33;
440             case 33:
441 82           switch( (*p) ) {
442 0           case 40: goto st0;
443 4           case 41: goto st65;
444             }
445 78           goto st33;
446 4           st65:
447 4 50         if ( ++p == pe )
448 4           goto _test_eof65;
449             case 65:
450 0           goto st0;
451 26           tr39:
452             #line 4 "ragel/tstr_common.rl"
453             { mark = p; }
454             goto st34;
455             st34:
456             if ( ++p == pe )
457             goto _test_eof34;
458             case 34:
459             #line 460 "tstr_cparse_ecmascript.c"
460 26 50         if ( (*p) == 77 )
461 26           goto st35;
462 0           goto st0;
463 26           st35:
464 26 50         if ( ++p == pe )
465 0           goto _test_eof35;
466             case 35:
467 26 50         if ( (*p) == 84 )
468 26           goto st36;
469 0           goto st0;
470 27           st36:
471 27 50         if ( ++p == pe )
472 0           goto _test_eof36;
473             case 36:
474 27           switch( (*p) ) {
475 18           case 43: goto tr50;
476 9           case 45: goto tr50;
477             }
478 0           goto st0;
479 1           tr40:
480             #line 4 "ragel/tstr_common.rl"
481             { mark = p; }
482             goto st37;
483             st37:
484             if ( ++p == pe )
485             goto _test_eof37;
486             case 37:
487             #line 488 "tstr_cparse_ecmascript.c"
488 1 50         if ( (*p) == 84 )
489 1           goto st38;
490 0           goto st0;
491 1           st38:
492 1 50         if ( ++p == pe )
493 0           goto _test_eof38;
494             case 38:
495 1 50         if ( (*p) == 67 )
496 1           goto st36;
497 0           goto st0;
498 0           st39:
499 0 0         if ( ++p == pe )
500 0           goto _test_eof39;
501             case 39:
502 0 0         if ( (*p) == 103 )
503 0           goto st8;
504 0           goto st0;
505 25           tr10:
506             #line 4 "ragel/tstr_common.rl"
507             { mark = p; }
508             goto st40;
509             st40:
510             if ( ++p == pe )
511             goto _test_eof40;
512             case 40:
513             #line 514 "tstr_cparse_ecmascript.c"
514 25 50         if ( (*p) == 101 )
515 25           goto st41;
516 0           goto st0;
517 25           st41:
518 25 50         if ( ++p == pe )
519 0           goto _test_eof41;
520             case 41:
521 25 50         if ( (*p) == 99 )
522 25           goto st8;
523 0           goto st0;
524 0           tr11:
525             #line 4 "ragel/tstr_common.rl"
526             { mark = p; }
527             goto st42;
528             st42:
529             if ( ++p == pe )
530             goto _test_eof42;
531             case 42:
532             #line 533 "tstr_cparse_ecmascript.c"
533 0 0         if ( (*p) == 101 )
534 0           goto st43;
535 0           goto st0;
536 0           st43:
537 0 0         if ( ++p == pe )
538 0           goto _test_eof43;
539             case 43:
540 0 0         if ( (*p) == 98 )
541 0           goto st8;
542 0           goto st0;
543 3           tr12:
544             #line 4 "ragel/tstr_common.rl"
545             { mark = p; }
546             goto st44;
547             st44:
548             if ( ++p == pe )
549             goto _test_eof44;
550             case 44:
551             #line 552 "tstr_cparse_ecmascript.c"
552 3           switch( (*p) ) {
553 3           case 97: goto st45;
554 0           case 117: goto st46;
555             }
556 0           goto st0;
557 3           st45:
558 3 50         if ( ++p == pe )
559 0           goto _test_eof45;
560             case 45:
561 3 50         if ( (*p) == 110 )
562 3           goto st8;
563 0           goto st0;
564 0           st46:
565 0 0         if ( ++p == pe )
566 0           goto _test_eof46;
567             case 46:
568 0           switch( (*p) ) {
569 0           case 108: goto st8;
570 0           case 110: goto st8;
571             }
572 0           goto st0;
573 0           tr13:
574             #line 4 "ragel/tstr_common.rl"
575             { mark = p; }
576             goto st47;
577             st47:
578             if ( ++p == pe )
579             goto _test_eof47;
580             case 47:
581             #line 582 "tstr_cparse_ecmascript.c"
582 0 0         if ( (*p) == 97 )
583 0           goto st48;
584 0           goto st0;
585 0           st48:
586 0 0         if ( ++p == pe )
587 0           goto _test_eof48;
588             case 48:
589 0           switch( (*p) ) {
590 0           case 114: goto st8;
591 0           case 121: goto st8;
592             }
593 0           goto st0;
594 0           tr14:
595             #line 4 "ragel/tstr_common.rl"
596             { mark = p; }
597             goto st49;
598             st49:
599             if ( ++p == pe )
600             goto _test_eof49;
601             case 49:
602             #line 603 "tstr_cparse_ecmascript.c"
603 0 0         if ( (*p) == 111 )
604 0           goto st50;
605 0           goto st0;
606 0           st50:
607 0 0         if ( ++p == pe )
608 0           goto _test_eof50;
609             case 50:
610 0 0         if ( (*p) == 118 )
611 0           goto st8;
612 0           goto st0;
613 0           tr15:
614             #line 4 "ragel/tstr_common.rl"
615             { mark = p; }
616             goto st51;
617             st51:
618             if ( ++p == pe )
619             goto _test_eof51;
620             case 51:
621             #line 622 "tstr_cparse_ecmascript.c"
622 0 0         if ( (*p) == 99 )
623 0           goto st52;
624 0           goto st0;
625 0           st52:
626 0 0         if ( ++p == pe )
627 0           goto _test_eof52;
628             case 52:
629 0 0         if ( (*p) == 116 )
630 0           goto st8;
631 0           goto st0;
632 0           tr16:
633             #line 4 "ragel/tstr_common.rl"
634             { mark = p; }
635             goto st53;
636             st53:
637             if ( ++p == pe )
638             goto _test_eof53;
639             case 53:
640             #line 641 "tstr_cparse_ecmascript.c"
641 0 0         if ( (*p) == 101 )
642 0           goto st54;
643 0           goto st0;
644 0           st54:
645 0 0         if ( ++p == pe )
646 0           goto _test_eof54;
647             case 54:
648 0 0         if ( (*p) == 112 )
649 0           goto st8;
650 0           goto st0;
651 23           tr2:
652             #line 4 "ragel/tstr_common.rl"
653             { mark = p; }
654             goto st55;
655             st55:
656             if ( ++p == pe )
657             goto _test_eof55;
658             case 55:
659             #line 660 "tstr_cparse_ecmascript.c"
660 23 50         if ( (*p) == 111 )
661 23           goto st56;
662 0           goto st0;
663 23           st56:
664 23 50         if ( ++p == pe )
665 0           goto _test_eof56;
666             case 56:
667 23 50         if ( (*p) == 110 )
668 23           goto st4;
669 0           goto st0;
670 0           tr3:
671             #line 4 "ragel/tstr_common.rl"
672             { mark = p; }
673             goto st57;
674             st57:
675             if ( ++p == pe )
676             goto _test_eof57;
677             case 57:
678             #line 679 "tstr_cparse_ecmascript.c"
679 0           switch( (*p) ) {
680 0           case 97: goto st58;
681 0           case 117: goto st56;
682             }
683 0           goto st0;
684 0           st58:
685 0 0         if ( ++p == pe )
686 0           goto _test_eof58;
687             case 58:
688 0 0         if ( (*p) == 116 )
689 0           goto st4;
690 0           goto st0;
691 3           tr4:
692             #line 4 "ragel/tstr_common.rl"
693             { mark = p; }
694             goto st59;
695             st59:
696             if ( ++p == pe )
697             goto _test_eof59;
698             case 59:
699             #line 700 "tstr_cparse_ecmascript.c"
700 3           switch( (*p) ) {
701 3           case 104: goto st60;
702 0           case 117: goto st61;
703             }
704 0           goto st0;
705 3           st60:
706 3 50         if ( ++p == pe )
707 0           goto _test_eof60;
708             case 60:
709 3 50         if ( (*p) == 117 )
710 3           goto st4;
711 0           goto st0;
712 0           st61:
713 0 0         if ( ++p == pe )
714 0           goto _test_eof61;
715             case 61:
716 0 0         if ( (*p) == 101 )
717 0           goto st4;
718 0           goto st0;
719 1           tr5:
720             #line 4 "ragel/tstr_common.rl"
721             { mark = p; }
722             goto st62;
723             st62:
724             if ( ++p == pe )
725             goto _test_eof62;
726             case 62:
727             #line 728 "tstr_cparse_ecmascript.c"
728 1 50         if ( (*p) == 101 )
729 1           goto st63;
730 0           goto st0;
731 1           st63:
732 1 50         if ( ++p == pe )
733 0           goto _test_eof63;
734             case 63:
735 1 50         if ( (*p) == 100 )
736 1           goto st4;
737 0           goto st0;
738             }
739 0           _test_eof2: cs = 2; goto _test_eof;
740 0           _test_eof3: cs = 3; goto _test_eof;
741 0           _test_eof4: cs = 4; goto _test_eof;
742 0           _test_eof5: cs = 5; goto _test_eof;
743 0           _test_eof6: cs = 6; goto _test_eof;
744 0           _test_eof7: cs = 7; goto _test_eof;
745 0           _test_eof8: cs = 8; goto _test_eof;
746 0           _test_eof9: cs = 9; goto _test_eof;
747 0           _test_eof10: cs = 10; goto _test_eof;
748 0           _test_eof11: cs = 11; goto _test_eof;
749 0           _test_eof12: cs = 12; goto _test_eof;
750 0           _test_eof13: cs = 13; goto _test_eof;
751 0           _test_eof14: cs = 14; goto _test_eof;
752 0           _test_eof15: cs = 15; goto _test_eof;
753 0           _test_eof16: cs = 16; goto _test_eof;
754 0           _test_eof17: cs = 17; goto _test_eof;
755 0           _test_eof18: cs = 18; goto _test_eof;
756 0           _test_eof19: cs = 19; goto _test_eof;
757 0           _test_eof20: cs = 20; goto _test_eof;
758 0           _test_eof21: cs = 21; goto _test_eof;
759 0           _test_eof22: cs = 22; goto _test_eof;
760 0           _test_eof23: cs = 23; goto _test_eof;
761 0           _test_eof24: cs = 24; goto _test_eof;
762 0           _test_eof25: cs = 25; goto _test_eof;
763 0           _test_eof26: cs = 26; goto _test_eof;
764 0           _test_eof27: cs = 27; goto _test_eof;
765 0           _test_eof28: cs = 28; goto _test_eof;
766 0           _test_eof29: cs = 29; goto _test_eof;
767 0           _test_eof30: cs = 30; goto _test_eof;
768 24           _test_eof64: cs = 64; goto _test_eof;
769 0           _test_eof31: cs = 31; goto _test_eof;
770 0           _test_eof32: cs = 32; goto _test_eof;
771 0           _test_eof33: cs = 33; goto _test_eof;
772 4           _test_eof65: cs = 65; goto _test_eof;
773 0           _test_eof34: cs = 34; goto _test_eof;
774 0           _test_eof35: cs = 35; goto _test_eof;
775 0           _test_eof36: cs = 36; goto _test_eof;
776 0           _test_eof37: cs = 37; goto _test_eof;
777 0           _test_eof38: cs = 38; goto _test_eof;
778 0           _test_eof39: cs = 39; goto _test_eof;
779 0           _test_eof40: cs = 40; goto _test_eof;
780 0           _test_eof41: cs = 41; goto _test_eof;
781 0           _test_eof42: cs = 42; goto _test_eof;
782 0           _test_eof43: cs = 43; goto _test_eof;
783 0           _test_eof44: cs = 44; goto _test_eof;
784 0           _test_eof45: cs = 45; goto _test_eof;
785 0           _test_eof46: cs = 46; goto _test_eof;
786 0           _test_eof47: cs = 47; goto _test_eof;
787 0           _test_eof48: cs = 48; goto _test_eof;
788 0           _test_eof49: cs = 49; goto _test_eof;
789 0           _test_eof50: cs = 50; goto _test_eof;
790 0           _test_eof51: cs = 51; goto _test_eof;
791 0           _test_eof52: cs = 52; goto _test_eof;
792 0           _test_eof53: cs = 53; goto _test_eof;
793 0           _test_eof54: cs = 54; goto _test_eof;
794 0           _test_eof55: cs = 55; goto _test_eof;
795 0           _test_eof56: cs = 56; goto _test_eof;
796 0           _test_eof57: cs = 57; goto _test_eof;
797 0           _test_eof58: cs = 58; goto _test_eof;
798 0           _test_eof59: cs = 59; goto _test_eof;
799 0           _test_eof60: cs = 60; goto _test_eof;
800 0           _test_eof61: cs = 61; goto _test_eof;
801 0           _test_eof62: cs = 62; goto _test_eof;
802 0           _test_eof63: cs = 63; goto _test_eof;
803              
804 28           _test_eof: {}
805 28 50         if ( p == eof )
806             {
807 28 100         switch ( cs ) {
808 24           case 64:
809             #line 78 "ragel/tstr_common.rl"
810             {
811             if (!tstr_token_parse_tz_offset(mark, p - mark, &v)) {
812             result = TSTR_PARSE_ERR_OFFSET;
813             {p++; cs = 0; goto _out;}
814             }
815             tstr_parsed_set_offset(parsed, v);
816             }
817             break;
818             #line 819 "tstr_cparse_ecmascript.c"
819             }
820             }
821              
822 28 50         _out: {}
823             }
824              
825             #line 47 "ragel/tstr_cparse_ecmascript.rl"
826              
827             if (result != TSTR_PARSE_OK)
828             return result;
829              
830             return (cs >= ecmascript_first_final) ? TSTR_PARSE_OK : TSTR_PARSE_NOMATCH;
831             }