@@ -74,23 +74,25 @@ exception Goto_eof_trans_ipv4
74
74
# 7 " devkit_ragel.ml.rl"
75
75
76
76
77
+ exception Parse_ipv4 of string
78
+
77
79
let parse_ipv4 data =
78
80
let cs = ref 0 and p = ref 0 and pe = ref (String. length data) and eof = ref (String. length data) in
79
81
let n = ref 0 in
80
82
let ip = ref 0l in
81
83
let set () =
82
- if ! n > 255 then invalid_arg " parse_ipv4 " ;
84
+ if ! n > 255 then raise ( Parse_ipv4 data) ;
83
85
ip := Int32. logor (Int32. shift_left ! ip 8 ) (Int32. of_int ! n)
84
86
in
85
87
86
- # 87 " devkit_ragel.ml"
88
+ # 89 " devkit_ragel.ml"
87
89
begin
88
90
cs.contents < - ipv4_start;
89
91
end ;
90
92
91
- # 18 " devkit_ragel.ml.rl"
93
+ # 20 " devkit_ragel.ml.rl"
92
94
93
- # 94 " devkit_ragel.ml"
95
+ # 96 " devkit_ragel.ml"
94
96
begin
95
97
let state = { keys = 0 ; trans = 0 ; } in
96
98
let rec do_start () =
@@ -143,7 +145,7 @@ and do_eof_trans () =
143
145
# 4 " devkit_ragel.ml.rl"
144
146
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
145
147
()
146
- # 147 " devkit_ragel.ml"
148
+ # 149 " devkit_ragel.ml"
147
149
| _ -> ()
148
150
with Goto_again_ipv4 -> () end ;
149
151
@@ -164,7 +166,7 @@ and do_test_eof () =
164
166
# 5 " devkit_ragel.ml.rl"
165
167
begin set () end ;
166
168
()
167
- # 168 " devkit_ragel.ml"
169
+ # 170 " devkit_ragel.ml"
168
170
| _ -> ()
169
171
end
170
172
with Goto_again_ipv4 -> do_again ()
@@ -174,23 +176,23 @@ and do_test_eof () =
174
176
in do_start ()
175
177
end ;
176
178
177
- # 19 " devkit_ragel.ml.rl"
178
- if ! cs > = ipv4_first_final then ! ip else invalid_arg " parse_ipv4 "
179
+ # 21 " devkit_ragel.ml.rl"
180
+ if ! cs > = ipv4_first_final then ! ip else raise ( Parse_ipv4 data)
179
181
180
182
let is_ipv4_slow data =
181
183
let cs = ref 0 and p = ref 0 and pe = ref (String. length data) and eof = ref (String. length data) in
182
184
let n = ref 0 in
183
185
let set () = if ! n > 255 then raise Not_found in
184
186
185
- # 186 " devkit_ragel.ml"
187
+ # 188 " devkit_ragel.ml"
186
188
begin
187
189
cs.contents < - ipv4_start;
188
190
end ;
189
191
190
- # 26 " devkit_ragel.ml.rl"
192
+ # 28 " devkit_ragel.ml.rl"
191
193
try
192
194
193
- # 194 " devkit_ragel.ml"
195
+ # 196 " devkit_ragel.ml"
194
196
begin
195
197
let state = { keys = 0 ; trans = 0 ; } in
196
198
let rec do_start () =
@@ -243,7 +245,7 @@ and do_eof_trans () =
243
245
# 4 " devkit_ragel.ml.rl"
244
246
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
245
247
()
246
- # 247 " devkit_ragel.ml"
248
+ # 249 " devkit_ragel.ml"
247
249
| _ -> ()
248
250
with Goto_again_ipv4 -> () end ;
249
251
@@ -264,7 +266,7 @@ and do_test_eof () =
264
266
# 5 " devkit_ragel.ml.rl"
265
267
begin set () end ;
266
268
()
267
- # 268 " devkit_ragel.ml"
269
+ # 270 " devkit_ragel.ml"
268
270
| _ -> ()
269
271
end
270
272
with Goto_again_ipv4 -> do_again ()
@@ -274,12 +276,12 @@ and do_test_eof () =
274
276
in do_start ()
275
277
end ;
276
278
277
- # 28 " devkit_ragel.ml.rl"
279
+ # 30 " devkit_ragel.ml.rl"
278
280
! cs > = ipv4_first_final
279
281
with Not_found -> false
280
282
281
283
282
- # 283 " devkit_ragel.ml"
284
+ # 285 " devkit_ragel.ml"
283
285
let _is_ipv4_trans_keys : int array = Array. concat [ [|
284
286
0 ; 0 ; 48 ; 57 ; 46 ; 57 ; 48 ; 57 ; 46 ; 57 ; 48 ; 57 ; 46 ; 57 ; 48 ; 57 ;
285
287
46 ; 57 ; 46 ; 46 ; 46 ; 57 ; 46 ; 53 ; 46 ; 57 ; 46 ; 46 ; 46 ; 57 ; 46 ; 53 ;
@@ -351,20 +353,20 @@ exception Goto_match_is_ipv4
351
353
exception Goto_again_is_ipv4
352
354
exception Goto_eof_trans_is_ipv4
353
355
354
- # 36 " devkit_ragel.ml.rl"
356
+ # 38 " devkit_ragel.ml.rl"
355
357
356
358
357
359
let is_ipv4 data =
358
360
let cs = ref 0 and p = ref 0 and pe = ref (String. length data) in
359
361
360
- # 361 " devkit_ragel.ml"
362
+ # 363 " devkit_ragel.ml"
361
363
begin
362
364
cs.contents < - is_ipv4_start;
363
365
end ;
364
366
365
- # 41 " devkit_ragel.ml.rl"
367
+ # 43 " devkit_ragel.ml.rl"
366
368
367
- # 368 " devkit_ragel.ml"
369
+ # 370 " devkit_ragel.ml"
368
370
begin
369
371
let state = { keys = 0 ; trans = 0 ; } in
370
372
let rec do_start () =
@@ -406,11 +408,11 @@ and do_test_eof () =
406
408
in do_start ()
407
409
end ;
408
410
409
- # 42 " devkit_ragel.ml.rl"
411
+ # 44 " devkit_ragel.ml.rl"
410
412
! cs > = is_ipv4_first_final
411
413
412
414
413
- # 414 " devkit_ragel.ml"
415
+ # 416 " devkit_ragel.ml"
414
416
let _compact_duration_trans_keys : int array = Array. concat [ [|
415
417
0 ; 0 ; 115 ; 115 ; 48 ; 110 ; 115 ; 115 ; 46 ; 110 ; 48 ; 109 ; 48 ; 109 ; 48 ; 109 ;
416
418
109 ; 109 ; 48 ; 57 ; 46 ; 115 ; 48 ; 115 ; 48 ; 115 ; 48 ; 115 ; 109 ; 115 ; 48 ; 57 ;
@@ -583,23 +585,25 @@ exception Goto_match_compact_duration
583
585
exception Goto_again_compact_duration
584
586
exception Goto_eof_trans_compact_duration
585
587
586
- # 57 " devkit_ragel.ml.rl"
588
+ # 59 " devkit_ragel.ml.rl"
587
589
588
590
591
+ exception Parse_compact_duration of string
592
+
589
593
let parse_compact_duration data =
590
- if data = " " then invalid_arg " parse_compact_duration: empty " ;
594
+ if data = " " then raise ( Parse_compact_duration data) ;
591
595
let cs = ref 0 and p = ref 0 and pe = ref (String. length data) and eof = ref (String. length data) in
592
596
let n = ref 0 and f = ref 0. and fna = ref 0 and fn = ref 0 in
593
597
let t = ref 0 in
594
598
595
- # 596 " devkit_ragel.ml"
599
+ # 600 " devkit_ragel.ml"
596
600
begin
597
601
cs.contents < - compact_duration_start;
598
602
end ;
599
603
600
- # 65 " devkit_ragel.ml.rl"
604
+ # 69 " devkit_ragel.ml.rl"
601
605
602
- # 603 " devkit_ragel.ml"
606
+ # 607 " devkit_ragel.ml"
603
607
begin
604
608
let state = { keys = 0 ; trans = 0 ; } in
605
609
let rec do_start () =
@@ -631,70 +635,70 @@ and do_eof_trans () =
631
635
632
636
match _compact_duration_trans_actions.(state.trans) with
633
637
| 1 ->
634
- # 49 " devkit_ragel.ml.rl"
638
+ # 51 " devkit_ragel.ml.rl"
635
639
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
636
640
()
637
641
| 3 ->
638
- # 50 " devkit_ragel.ml.rl"
642
+ # 52 " devkit_ragel.ml.rl"
639
643
begin fn := 0 ; fna := 0 end ;
640
644
()
641
645
| 4 ->
642
- # 50 " devkit_ragel.ml.rl"
646
+ # 52 " devkit_ragel.ml.rl"
643
647
begin fn := 10 * ! fn + (Char. code data.[p.contents] - Char. code '0' ) ; fna := ! fna + 1 ; end ;
644
648
()
645
649
| 5 ->
646
- # 49 " devkit_ragel.ml.rl"
650
+ # 51 " devkit_ragel.ml.rl"
647
651
begin n := 0 ; end ;
648
- # 49 " devkit_ragel.ml.rl"
652
+ # 51 " devkit_ragel.ml.rl"
649
653
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
650
654
()
651
655
| 2 ->
652
- # 50 " devkit_ragel.ml.rl"
656
+ # 52 " devkit_ragel.ml.rl"
653
657
begin fn := 0 ; fna := 0 end ;
654
- # 50 " devkit_ragel.ml.rl"
658
+ # 52 " devkit_ragel.ml.rl"
655
659
begin fn := 10 * ! fn + (Char. code data.[p.contents] - Char. code '0' ) ; fna := ! fna + 1 ; end ;
656
660
()
657
661
| 11 ->
658
- # 46 " devkit_ragel.ml.rl"
662
+ # 48 " devkit_ragel.ml.rl"
659
663
begin f := ! f +. (float (! fn) /. (10. ** float (! fna))); t := ! t + ! n; fn := 0 ; fna := 0 ; end ;
660
- # 49 " devkit_ragel.ml.rl"
664
+ # 51 " devkit_ragel.ml.rl"
661
665
begin n := 0 ; end ;
662
- # 49 " devkit_ragel.ml.rl"
666
+ # 51 " devkit_ragel.ml.rl"
663
667
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
664
668
()
665
669
| 9 ->
666
- # 47 " devkit_ragel.ml.rl"
667
- begin f := ! f +. (float (! n) /. 1_000. ) +. (float (! fn) /. (1000. *. 10. ** float (! fna))); fn := 0 ; fna := 0 ; end ;
668
670
# 49 " devkit_ragel.ml.rl"
671
+ begin f := ! f +. (float (! n) /. 1_000. ) +. (float (! fn) /. (1000. *. 10. ** float (! fna))); fn := 0 ; fna := 0 ; end ;
672
+ # 51 " devkit_ragel.ml.rl"
669
673
begin n := 0 ; end ;
670
- # 49 " devkit_ragel.ml.rl"
674
+ # 51 " devkit_ragel.ml.rl"
671
675
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
672
676
()
673
677
| 13 ->
674
- # 52 " devkit_ragel.ml.rl"
678
+ # 54 " devkit_ragel.ml.rl"
675
679
begin t := ! t + ! n* 24 * 60 * 60 ; end ;
676
- # 49 " devkit_ragel.ml.rl"
680
+ # 51 " devkit_ragel.ml.rl"
677
681
begin n := 0 ; end ;
678
- # 49 " devkit_ragel.ml.rl"
682
+ # 51 " devkit_ragel.ml.rl"
679
683
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
680
684
()
681
685
| 15 ->
682
- # 53 " devkit_ragel.ml.rl"
686
+ # 55 " devkit_ragel.ml.rl"
683
687
begin t := ! t + ! n* 60 * 60 ; end ;
684
- # 49 " devkit_ragel.ml.rl"
688
+ # 51 " devkit_ragel.ml.rl"
685
689
begin n := 0 ; end ;
686
- # 49 " devkit_ragel.ml.rl"
690
+ # 51 " devkit_ragel.ml.rl"
687
691
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
688
692
()
689
693
| 17 ->
690
- # 54 " devkit_ragel.ml.rl"
694
+ # 56 " devkit_ragel.ml.rl"
691
695
begin t := ! t + ! n* 60 ; end ;
692
- # 49 " devkit_ragel.ml.rl"
696
+ # 51 " devkit_ragel.ml.rl"
693
697
begin n := 0 ; end ;
694
- # 49 " devkit_ragel.ml.rl"
698
+ # 51 " devkit_ragel.ml.rl"
695
699
begin n := 10 * ! n + (Char. code data.[p.contents] - Char. code '0' ) end ;
696
700
()
697
- # 698 " devkit_ragel.ml"
701
+ # 702 " devkit_ragel.ml"
698
702
| _ -> ()
699
703
with Goto_again_compact_duration -> () end ;
700
704
@@ -712,36 +716,36 @@ and do_test_eof () =
712
716
begin try
713
717
begin match _compact_duration_eof_actions.(cs.contents) with
714
718
| 6 ->
715
- # 46 " devkit_ragel.ml.rl"
719
+ # 48 " devkit_ragel.ml.rl"
716
720
begin f := ! f +. (float (! fn) /. (10. ** float (! fna))); t := ! t + ! n; fn := 0 ; fna := 0 ; end ;
717
721
()
718
722
| 8 ->
719
- # 47 " devkit_ragel.ml.rl"
723
+ # 49 " devkit_ragel.ml.rl"
720
724
begin f := ! f +. (float (! n) /. 1_000. ) +. (float (! fn) /. (1000. *. 10. ** float (! fna))); fn := 0 ; fna := 0 ; end ;
721
725
()
722
726
| 10 ->
723
- # 48 " devkit_ragel.ml.rl"
727
+ # 50 " devkit_ragel.ml.rl"
724
728
begin f := ! f +. float (! n) /. 1_000_000_000. ; end ;
725
729
()
726
730
| 12 ->
727
- # 52 " devkit_ragel.ml.rl"
731
+ # 54 " devkit_ragel.ml.rl"
728
732
begin t := ! t + ! n* 24 * 60 * 60 ; end ;
729
733
()
730
734
| 14 ->
731
- # 53 " devkit_ragel.ml.rl"
735
+ # 55 " devkit_ragel.ml.rl"
732
736
begin t := ! t + ! n* 60 * 60 ; end ;
733
737
()
734
738
| 16 ->
735
- # 54 " devkit_ragel.ml.rl"
739
+ # 56 " devkit_ragel.ml.rl"
736
740
begin t := ! t + ! n* 60 ; end ;
737
741
()
738
742
| 7 ->
739
- # 50 " devkit_ragel.ml.rl"
743
+ # 52 " devkit_ragel.ml.rl"
740
744
begin fn := 0 ; fna := 0 end ;
741
- # 46 " devkit_ragel.ml.rl"
745
+ # 48 " devkit_ragel.ml.rl"
742
746
begin f := ! f +. (float (! fn) /. (10. ** float (! fna))); t := ! t + ! n; fn := 0 ; fna := 0 ; end ;
743
747
()
744
- # 745 " devkit_ragel.ml"
748
+ # 749 " devkit_ragel.ml"
745
749
| _ -> ()
746
750
end
747
751
with Goto_again_compact_duration -> do_again ()
@@ -751,5 +755,5 @@ and do_test_eof () =
751
755
in do_start ()
752
756
end ;
753
757
754
- # 66 " devkit_ragel.ml.rl"
755
- if ! cs > = compact_duration_first_final then float ! t +. ! f else invalid_arg " parse_compact_duration "
758
+ # 70 " devkit_ragel.ml.rl"
759
+ if ! cs > = compact_duration_first_final then float ! t +. ! f else raise ( Parse_compact_duration data);
0 commit comments