timing 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,7 +25,7 @@ module Timing
25
25
  if node_cache[:expression].has_key?(index)
26
26
  cached = node_cache[:expression][index]
27
27
  if cached
28
- node_cache[:expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
28
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
29
29
  @index = cached.interval.end
30
30
  end
31
31
  return cached
@@ -100,7 +100,7 @@ module Timing
100
100
  if node_cache[:moment].has_key?(index)
101
101
  cached = node_cache[:moment][index]
102
102
  if cached
103
- node_cache[:moment][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
103
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
104
104
  @index = cached.interval.end
105
105
  end
106
106
  return cached
@@ -109,27 +109,22 @@ module Timing
109
109
  i0 = index
110
110
  r1 = _nt_timestamp
111
111
  if r1
112
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
113
112
  r0 = r1
114
113
  else
115
114
  r2 = _nt_time_ago
116
115
  if r2
117
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
118
116
  r0 = r2
119
117
  else
120
118
  r3 = _nt_moment_at_time
121
119
  if r3
122
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
123
120
  r0 = r3
124
121
  else
125
122
  r4 = _nt_before_from_moment
126
123
  if r4
127
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
128
124
  r0 = r4
129
125
  else
130
126
  r5 = _nt_date_moment
131
127
  if r5
132
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
133
128
  r0 = r5
134
129
  else
135
130
  @index = i0
@@ -150,7 +145,7 @@ module Timing
150
145
  if node_cache[:date_moment].has_key?(index)
151
146
  cached = node_cache[:date_moment][index]
152
147
  if cached
153
- node_cache[:date_moment][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
148
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
154
149
  @index = cached.interval.end
155
150
  end
156
151
  return cached
@@ -159,27 +154,22 @@ module Timing
159
154
  i0 = index
160
155
  r1 = _nt_named_moment
161
156
  if r1
162
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
163
157
  r0 = r1
164
158
  else
165
159
  r2 = _nt_last_next_day_name
166
160
  if r2
167
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
168
161
  r0 = r2
169
162
  else
170
163
  r3 = _nt_day_month_name_year
171
164
  if r3
172
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
173
165
  r0 = r3
174
166
  else
175
167
  r4 = _nt_year_month_day
176
168
  if r4
177
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
178
169
  r0 = r4
179
170
  else
180
171
  r5 = _nt_beginning_end_interval
181
172
  if r5
182
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
183
173
  r0 = r5
184
174
  else
185
175
  @index = i0
@@ -200,7 +190,7 @@ module Timing
200
190
  if node_cache[:named_moment].has_key?(index)
201
191
  cached = node_cache[:named_moment][index]
202
192
  if cached
203
- node_cache[:named_moment][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
193
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
204
194
  @index = cached.interval.end
205
195
  end
206
196
  return cached
@@ -209,22 +199,18 @@ module Timing
209
199
  i0 = index
210
200
  r1 = _nt_now
211
201
  if r1
212
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
213
202
  r0 = r1
214
203
  else
215
204
  r2 = _nt_today
216
205
  if r2
217
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
218
206
  r0 = r2
219
207
  else
220
208
  r3 = _nt_tomorrow
221
209
  if r3
222
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
223
210
  r0 = r3
224
211
  else
225
212
  r4 = _nt_yesterday
226
213
  if r4
227
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
228
214
  r0 = r4
229
215
  else
230
216
  @index = i0
@@ -258,7 +244,7 @@ module Timing
258
244
  if node_cache[:last_next_day_name].has_key?(index)
259
245
  cached = node_cache[:last_next_day_name][index]
260
246
  if cached
261
- node_cache[:last_next_day_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
247
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
262
248
  @index = cached.interval.end
263
249
  end
264
250
  return cached
@@ -295,11 +281,11 @@ module Timing
295
281
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
296
282
  s0 << r5
297
283
  if r5
298
- if (match_len = has_terminal?('including today', false, index))
299
- r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
300
- @index += match_len
284
+ if has_terminal?('including today', false, index)
285
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 15))
286
+ @index += 15
301
287
  else
302
- terminal_parse_failure('\'including today\'')
288
+ terminal_parse_failure('including today')
303
289
  r8 = nil
304
290
  end
305
291
  if r8
@@ -345,7 +331,7 @@ module Timing
345
331
  if node_cache[:day_month_name_year].has_key?(index)
346
332
  cached = node_cache[:day_month_name_year][index]
347
333
  if cached
348
- node_cache[:day_month_name_year][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
334
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
349
335
  @index = cached.interval.end
350
336
  end
351
337
  return cached
@@ -438,7 +424,7 @@ module Timing
438
424
  if node_cache[:year_month_day].has_key?(index)
439
425
  cached = node_cache[:year_month_day][index]
440
426
  if cached
441
- node_cache[:year_month_day][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
427
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
442
428
  @index = cached.interval.end
443
429
  end
444
430
  return cached
@@ -448,11 +434,11 @@ module Timing
448
434
  r1 = _nt_integer
449
435
  s0 << r1
450
436
  if r1
451
- if (match_len = has_terminal?('-', false, index))
452
- r2 = true
453
- @index += match_len
437
+ if has_terminal?('-', false, index)
438
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
439
+ @index += 1
454
440
  else
455
- terminal_parse_failure('\'-\'')
441
+ terminal_parse_failure('-')
456
442
  r2 = nil
457
443
  end
458
444
  s0 << r2
@@ -460,11 +446,11 @@ module Timing
460
446
  r3 = _nt_integer
461
447
  s0 << r3
462
448
  if r3
463
- if (match_len = has_terminal?('-', false, index))
464
- r4 = true
465
- @index += match_len
449
+ if has_terminal?('-', false, index)
450
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
451
+ @index += 1
466
452
  else
467
- terminal_parse_failure('\'-\'')
453
+ terminal_parse_failure('-')
468
454
  r4 = nil
469
455
  end
470
456
  s0 << r4
@@ -503,7 +489,7 @@ module Timing
503
489
  if node_cache[:beginning_end_interval].has_key?(index)
504
490
  cached = node_cache[:beginning_end_interval][index]
505
491
  if cached
506
- node_cache[:beginning_end_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
492
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
507
493
  @index = cached.interval.end
508
494
  end
509
495
  return cached
@@ -558,7 +544,7 @@ module Timing
558
544
  if node_cache[:time_ago].has_key?(index)
559
545
  cached = node_cache[:time_ago][index]
560
546
  if cached
561
- node_cache[:time_ago][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
547
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
562
548
  @index = cached.interval.end
563
549
  end
564
550
  return cached
@@ -595,11 +581,11 @@ module Timing
595
581
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
596
582
  s0 << r5
597
583
  if r5
598
- if (match_len = has_terminal?('ago', false, index))
599
- r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
600
- @index += match_len
584
+ if has_terminal?('ago', false, index)
585
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 3))
586
+ @index += 3
601
587
  else
602
- terminal_parse_failure('\'ago\'')
588
+ terminal_parse_failure('ago')
603
589
  r7 = nil
604
590
  end
605
591
  s0 << r7
@@ -635,7 +621,7 @@ module Timing
635
621
  if node_cache[:moment_at_time].has_key?(index)
636
622
  cached = node_cache[:moment_at_time][index]
637
623
  if cached
638
- node_cache[:moment_at_time][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
624
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
639
625
  @index = cached.interval.end
640
626
  end
641
627
  return cached
@@ -657,11 +643,11 @@ module Timing
657
643
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
658
644
  s0 << r2
659
645
  if r2
660
- if (match_len = has_terminal?('at', false, index))
661
- r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
662
- @index += match_len
646
+ if has_terminal?('at', false, index)
647
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
648
+ @index += 2
663
649
  else
664
- terminal_parse_failure('\'at\'')
650
+ terminal_parse_failure('at')
665
651
  r4 = nil
666
652
  end
667
653
  s0 << r4
@@ -720,7 +706,7 @@ module Timing
720
706
  if node_cache[:before_from_moment].has_key?(index)
721
707
  cached = node_cache[:before_from_moment][index]
722
708
  if cached
723
- node_cache[:before_from_moment][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
709
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
724
710
  @index = cached.interval.end
725
711
  end
726
712
  return cached
@@ -801,7 +787,7 @@ module Timing
801
787
  if node_cache[:timestamp].has_key?(index)
802
788
  cached = node_cache[:timestamp][index]
803
789
  if cached
804
- node_cache[:timestamp][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
790
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
805
791
  @index = cached.interval.end
806
792
  end
807
793
  return cached
@@ -810,11 +796,10 @@ module Timing
810
796
  i0, s0 = index, []
811
797
  s1, i1 = [], index
812
798
  loop do
813
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
799
+ if has_terminal?('\G[\\d]', true, index)
814
800
  r2 = true
815
801
  @index += 1
816
802
  else
817
- terminal_parse_failure('[\\d]')
818
803
  r2 = nil
819
804
  end
820
805
  if r2
@@ -830,29 +815,25 @@ module Timing
830
815
  @index = i1
831
816
  r1 = nil
832
817
  else
833
- if s1.size < 4
834
- @terminal_failures.pop
835
- end
836
818
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
837
819
  end
838
820
  s0 << r1
839
821
  if r1
840
- if (match_len = has_terminal?('-', false, index))
841
- r3 = true
842
- @index += match_len
822
+ if has_terminal?('-', false, index)
823
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
824
+ @index += 1
843
825
  else
844
- terminal_parse_failure('\'-\'')
826
+ terminal_parse_failure('-')
845
827
  r3 = nil
846
828
  end
847
829
  s0 << r3
848
830
  if r3
849
831
  s4, i4 = [], index
850
832
  loop do
851
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
833
+ if has_terminal?('\G[\\d]', true, index)
852
834
  r5 = true
853
835
  @index += 1
854
836
  else
855
- terminal_parse_failure('[\\d]')
856
837
  r5 = nil
857
838
  end
858
839
  if r5
@@ -868,29 +849,25 @@ module Timing
868
849
  @index = i4
869
850
  r4 = nil
870
851
  else
871
- if s4.size < 2
872
- @terminal_failures.pop
873
- end
874
852
  r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
875
853
  end
876
854
  s0 << r4
877
855
  if r4
878
- if (match_len = has_terminal?('-', false, index))
879
- r6 = true
880
- @index += match_len
856
+ if has_terminal?('-', false, index)
857
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
858
+ @index += 1
881
859
  else
882
- terminal_parse_failure('\'-\'')
860
+ terminal_parse_failure('-')
883
861
  r6 = nil
884
862
  end
885
863
  s0 << r6
886
864
  if r6
887
865
  s7, i7 = [], index
888
866
  loop do
889
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
867
+ if has_terminal?('\G[\\d]', true, index)
890
868
  r8 = true
891
869
  @index += 1
892
870
  else
893
- terminal_parse_failure('[\\d]')
894
871
  r8 = nil
895
872
  end
896
873
  if r8
@@ -906,9 +883,6 @@ module Timing
906
883
  @index = i7
907
884
  r7 = nil
908
885
  else
909
- if s7.size < 2
910
- @terminal_failures.pop
911
- end
912
886
  r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
913
887
  end
914
888
  s0 << r7
@@ -925,11 +899,11 @@ module Timing
925
899
  r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
926
900
  s0 << r9
927
901
  if r9
928
- if (match_len = has_terminal?('t', false, index))
929
- r12 = true
930
- @index += match_len
902
+ if has_terminal?('t', false, index)
903
+ r12 = instantiate_node(SyntaxNode,input, index...(index + 1))
904
+ @index += 1
931
905
  else
932
- terminal_parse_failure('\'t\'')
906
+ terminal_parse_failure('t')
933
907
  r12 = nil
934
908
  end
935
909
  if r12
@@ -953,11 +927,10 @@ module Timing
953
927
  if r13
954
928
  s15, i15 = [], index
955
929
  loop do
956
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
930
+ if has_terminal?('\G[\\d]', true, index)
957
931
  r16 = true
958
932
  @index += 1
959
933
  else
960
- terminal_parse_failure('[\\d]')
961
934
  r16 = nil
962
935
  end
963
936
  if r16
@@ -973,29 +946,25 @@ module Timing
973
946
  @index = i15
974
947
  r15 = nil
975
948
  else
976
- if s15.size < 2
977
- @terminal_failures.pop
978
- end
979
949
  r15 = instantiate_node(SyntaxNode,input, i15...index, s15)
980
950
  end
981
951
  s0 << r15
982
952
  if r15
983
- if (match_len = has_terminal?(':', false, index))
984
- r17 = true
985
- @index += match_len
953
+ if has_terminal?(':', false, index)
954
+ r17 = instantiate_node(SyntaxNode,input, index...(index + 1))
955
+ @index += 1
986
956
  else
987
- terminal_parse_failure('\':\'')
957
+ terminal_parse_failure(':')
988
958
  r17 = nil
989
959
  end
990
960
  s0 << r17
991
961
  if r17
992
962
  s18, i18 = [], index
993
963
  loop do
994
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
964
+ if has_terminal?('\G[\\d]', true, index)
995
965
  r19 = true
996
966
  @index += 1
997
967
  else
998
- terminal_parse_failure('[\\d]')
999
968
  r19 = nil
1000
969
  end
1001
970
  if r19
@@ -1011,29 +980,25 @@ module Timing
1011
980
  @index = i18
1012
981
  r18 = nil
1013
982
  else
1014
- if s18.size < 2
1015
- @terminal_failures.pop
1016
- end
1017
983
  r18 = instantiate_node(SyntaxNode,input, i18...index, s18)
1018
984
  end
1019
985
  s0 << r18
1020
986
  if r18
1021
- if (match_len = has_terminal?(':', false, index))
1022
- r20 = true
1023
- @index += match_len
987
+ if has_terminal?(':', false, index)
988
+ r20 = instantiate_node(SyntaxNode,input, index...(index + 1))
989
+ @index += 1
1024
990
  else
1025
- terminal_parse_failure('\':\'')
991
+ terminal_parse_failure(':')
1026
992
  r20 = nil
1027
993
  end
1028
994
  s0 << r20
1029
995
  if r20
1030
996
  s21, i21 = [], index
1031
997
  loop do
1032
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
998
+ if has_terminal?('\G[\\d]', true, index)
1033
999
  r22 = true
1034
1000
  @index += 1
1035
1001
  else
1036
- terminal_parse_failure('[\\d]')
1037
1002
  r22 = nil
1038
1003
  end
1039
1004
  if r22
@@ -1049,9 +1014,6 @@ module Timing
1049
1014
  @index = i21
1050
1015
  r21 = nil
1051
1016
  else
1052
- if s21.size < 2
1053
- @terminal_failures.pop
1054
- end
1055
1017
  r21 = instantiate_node(SyntaxNode,input, i21...index, s21)
1056
1018
  end
1057
1019
  s0 << r21
@@ -1085,17 +1047,17 @@ module Timing
1085
1047
  if node_cache[:now].has_key?(index)
1086
1048
  cached = node_cache[:now][index]
1087
1049
  if cached
1088
- node_cache[:now][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1050
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1089
1051
  @index = cached.interval.end
1090
1052
  end
1091
1053
  return cached
1092
1054
  end
1093
1055
 
1094
- if (match_len = has_terminal?('now', false, index))
1095
- r0 = instantiate_node(Now,input, index...(index + match_len))
1096
- @index += match_len
1056
+ if has_terminal?('now', false, index)
1057
+ r0 = instantiate_node(Now,input, index...(index + 3))
1058
+ @index += 3
1097
1059
  else
1098
- terminal_parse_failure('\'now\'')
1060
+ terminal_parse_failure('now')
1099
1061
  r0 = nil
1100
1062
  end
1101
1063
 
@@ -1109,17 +1071,17 @@ module Timing
1109
1071
  if node_cache[:today].has_key?(index)
1110
1072
  cached = node_cache[:today][index]
1111
1073
  if cached
1112
- node_cache[:today][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1074
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1113
1075
  @index = cached.interval.end
1114
1076
  end
1115
1077
  return cached
1116
1078
  end
1117
1079
 
1118
- if (match_len = has_terminal?('today', false, index))
1119
- r0 = instantiate_node(Today,input, index...(index + match_len))
1120
- @index += match_len
1080
+ if has_terminal?('today', false, index)
1081
+ r0 = instantiate_node(Today,input, index...(index + 5))
1082
+ @index += 5
1121
1083
  else
1122
- terminal_parse_failure('\'today\'')
1084
+ terminal_parse_failure('today')
1123
1085
  r0 = nil
1124
1086
  end
1125
1087
 
@@ -1133,17 +1095,17 @@ module Timing
1133
1095
  if node_cache[:tomorrow].has_key?(index)
1134
1096
  cached = node_cache[:tomorrow][index]
1135
1097
  if cached
1136
- node_cache[:tomorrow][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1098
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1137
1099
  @index = cached.interval.end
1138
1100
  end
1139
1101
  return cached
1140
1102
  end
1141
1103
 
1142
- if (match_len = has_terminal?('tomorrow', false, index))
1143
- r0 = instantiate_node(Tomorrow,input, index...(index + match_len))
1144
- @index += match_len
1104
+ if has_terminal?('tomorrow', false, index)
1105
+ r0 = instantiate_node(Tomorrow,input, index...(index + 8))
1106
+ @index += 8
1145
1107
  else
1146
- terminal_parse_failure('\'tomorrow\'')
1108
+ terminal_parse_failure('tomorrow')
1147
1109
  r0 = nil
1148
1110
  end
1149
1111
 
@@ -1157,17 +1119,17 @@ module Timing
1157
1119
  if node_cache[:yesterday].has_key?(index)
1158
1120
  cached = node_cache[:yesterday][index]
1159
1121
  if cached
1160
- node_cache[:yesterday][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1122
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1161
1123
  @index = cached.interval.end
1162
1124
  end
1163
1125
  return cached
1164
1126
  end
1165
1127
 
1166
- if (match_len = has_terminal?('yesterday', false, index))
1167
- r0 = instantiate_node(Yesterday,input, index...(index + match_len))
1168
- @index += match_len
1128
+ if has_terminal?('yesterday', false, index)
1129
+ r0 = instantiate_node(Yesterday,input, index...(index + 9))
1130
+ @index += 9
1169
1131
  else
1170
- terminal_parse_failure('\'yesterday\'')
1132
+ terminal_parse_failure('yesterday')
1171
1133
  r0 = nil
1172
1134
  end
1173
1135
 
@@ -1181,7 +1143,7 @@ module Timing
1181
1143
  if node_cache[:last_next].has_key?(index)
1182
1144
  cached = node_cache[:last_next][index]
1183
1145
  if cached
1184
- node_cache[:last_next][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1146
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1185
1147
  @index = cached.interval.end
1186
1148
  end
1187
1149
  return cached
@@ -1190,12 +1152,10 @@ module Timing
1190
1152
  i0 = index
1191
1153
  r1 = _nt_last
1192
1154
  if r1
1193
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1194
1155
  r0 = r1
1195
1156
  else
1196
1157
  r2 = _nt_next
1197
1158
  if r2
1198
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1199
1159
  r0 = r2
1200
1160
  else
1201
1161
  @index = i0
@@ -1213,17 +1173,17 @@ module Timing
1213
1173
  if node_cache[:last].has_key?(index)
1214
1174
  cached = node_cache[:last][index]
1215
1175
  if cached
1216
- node_cache[:last][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1176
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1217
1177
  @index = cached.interval.end
1218
1178
  end
1219
1179
  return cached
1220
1180
  end
1221
1181
 
1222
- if (match_len = has_terminal?('last', false, index))
1223
- r0 = instantiate_node(LastNext,input, index...(index + match_len))
1224
- @index += match_len
1182
+ if has_terminal?('last', false, index)
1183
+ r0 = instantiate_node(LastNext,input, index...(index + 4))
1184
+ @index += 4
1225
1185
  else
1226
- terminal_parse_failure('\'last\'')
1186
+ terminal_parse_failure('last')
1227
1187
  r0 = nil
1228
1188
  end
1229
1189
 
@@ -1237,17 +1197,17 @@ module Timing
1237
1197
  if node_cache[:next].has_key?(index)
1238
1198
  cached = node_cache[:next][index]
1239
1199
  if cached
1240
- node_cache[:next][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1200
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1241
1201
  @index = cached.interval.end
1242
1202
  end
1243
1203
  return cached
1244
1204
  end
1245
1205
 
1246
- if (match_len = has_terminal?('next', false, index))
1247
- r0 = instantiate_node(LastNext,input, index...(index + match_len))
1248
- @index += match_len
1206
+ if has_terminal?('next', false, index)
1207
+ r0 = instantiate_node(LastNext,input, index...(index + 4))
1208
+ @index += 4
1249
1209
  else
1250
- terminal_parse_failure('\'next\'')
1210
+ terminal_parse_failure('next')
1251
1211
  r0 = nil
1252
1212
  end
1253
1213
 
@@ -1261,7 +1221,7 @@ module Timing
1261
1221
  if node_cache[:beginning_end].has_key?(index)
1262
1222
  cached = node_cache[:beginning_end][index]
1263
1223
  if cached
1264
- node_cache[:beginning_end][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1224
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1265
1225
  @index = cached.interval.end
1266
1226
  end
1267
1227
  return cached
@@ -1270,12 +1230,10 @@ module Timing
1270
1230
  i0 = index
1271
1231
  r1 = _nt_beginning_of
1272
1232
  if r1
1273
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1274
1233
  r0 = r1
1275
1234
  else
1276
1235
  r2 = _nt_end_of
1277
1236
  if r2
1278
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1279
1237
  r0 = r2
1280
1238
  else
1281
1239
  @index = i0
@@ -1300,18 +1258,18 @@ module Timing
1300
1258
  if node_cache[:beginning_of].has_key?(index)
1301
1259
  cached = node_cache[:beginning_of][index]
1302
1260
  if cached
1303
- node_cache[:beginning_of][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1261
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1304
1262
  @index = cached.interval.end
1305
1263
  end
1306
1264
  return cached
1307
1265
  end
1308
1266
 
1309
1267
  i0, s0 = index, []
1310
- if (match_len = has_terminal?('beginning', false, index))
1311
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1312
- @index += match_len
1268
+ if has_terminal?('beginning', false, index)
1269
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 9))
1270
+ @index += 9
1313
1271
  else
1314
- terminal_parse_failure('\'beginning\'')
1272
+ terminal_parse_failure('beginning')
1315
1273
  r1 = nil
1316
1274
  end
1317
1275
  s0 << r1
@@ -1328,11 +1286,11 @@ module Timing
1328
1286
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1329
1287
  s0 << r2
1330
1288
  if r2
1331
- if (match_len = has_terminal?('of', false, index))
1332
- r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1333
- @index += match_len
1289
+ if has_terminal?('of', false, index)
1290
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
1291
+ @index += 2
1334
1292
  else
1335
- terminal_parse_failure('\'of\'')
1293
+ terminal_parse_failure('of')
1336
1294
  r4 = nil
1337
1295
  end
1338
1296
  s0 << r4
@@ -1363,18 +1321,18 @@ module Timing
1363
1321
  if node_cache[:end_of].has_key?(index)
1364
1322
  cached = node_cache[:end_of][index]
1365
1323
  if cached
1366
- node_cache[:end_of][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1324
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1367
1325
  @index = cached.interval.end
1368
1326
  end
1369
1327
  return cached
1370
1328
  end
1371
1329
 
1372
1330
  i0, s0 = index, []
1373
- if (match_len = has_terminal?('end', false, index))
1374
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1375
- @index += match_len
1331
+ if has_terminal?('end', false, index)
1332
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
1333
+ @index += 3
1376
1334
  else
1377
- terminal_parse_failure('\'end\'')
1335
+ terminal_parse_failure('end')
1378
1336
  r1 = nil
1379
1337
  end
1380
1338
  s0 << r1
@@ -1391,11 +1349,11 @@ module Timing
1391
1349
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1392
1350
  s0 << r2
1393
1351
  if r2
1394
- if (match_len = has_terminal?('of', false, index))
1395
- r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1396
- @index += match_len
1352
+ if has_terminal?('of', false, index)
1353
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
1354
+ @index += 2
1397
1355
  else
1398
- terminal_parse_failure('\'of\'')
1356
+ terminal_parse_failure('of')
1399
1357
  r4 = nil
1400
1358
  end
1401
1359
  s0 << r4
@@ -1419,7 +1377,7 @@ module Timing
1419
1377
  if node_cache[:before_from].has_key?(index)
1420
1378
  cached = node_cache[:before_from][index]
1421
1379
  if cached
1422
- node_cache[:before_from][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1380
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1423
1381
  @index = cached.interval.end
1424
1382
  end
1425
1383
  return cached
@@ -1428,12 +1386,10 @@ module Timing
1428
1386
  i0 = index
1429
1387
  r1 = _nt_before
1430
1388
  if r1
1431
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1432
1389
  r0 = r1
1433
1390
  else
1434
1391
  r2 = _nt_from
1435
1392
  if r2
1436
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1437
1393
  r0 = r2
1438
1394
  else
1439
1395
  @index = i0
@@ -1451,17 +1407,17 @@ module Timing
1451
1407
  if node_cache[:before].has_key?(index)
1452
1408
  cached = node_cache[:before][index]
1453
1409
  if cached
1454
- node_cache[:before][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1410
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1455
1411
  @index = cached.interval.end
1456
1412
  end
1457
1413
  return cached
1458
1414
  end
1459
1415
 
1460
- if (match_len = has_terminal?('before', false, index))
1461
- r0 = instantiate_node(BeforeFrom,input, index...(index + match_len))
1462
- @index += match_len
1416
+ if has_terminal?('before', false, index)
1417
+ r0 = instantiate_node(BeforeFrom,input, index...(index + 6))
1418
+ @index += 6
1463
1419
  else
1464
- terminal_parse_failure('\'before\'')
1420
+ terminal_parse_failure('before')
1465
1421
  r0 = nil
1466
1422
  end
1467
1423
 
@@ -1475,17 +1431,17 @@ module Timing
1475
1431
  if node_cache[:from].has_key?(index)
1476
1432
  cached = node_cache[:from][index]
1477
1433
  if cached
1478
- node_cache[:from][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1434
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1479
1435
  @index = cached.interval.end
1480
1436
  end
1481
1437
  return cached
1482
1438
  end
1483
1439
 
1484
- if (match_len = has_terminal?('from', false, index))
1485
- r0 = instantiate_node(BeforeFrom,input, index...(index + match_len))
1486
- @index += match_len
1440
+ if has_terminal?('from', false, index)
1441
+ r0 = instantiate_node(BeforeFrom,input, index...(index + 4))
1442
+ @index += 4
1487
1443
  else
1488
- terminal_parse_failure('\'from\'')
1444
+ terminal_parse_failure('from')
1489
1445
  r0 = nil
1490
1446
  end
1491
1447
 
@@ -1499,7 +1455,7 @@ module Timing
1499
1455
  if node_cache[:interval].has_key?(index)
1500
1456
  cached = node_cache[:interval][index]
1501
1457
  if cached
1502
- node_cache[:interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1458
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1503
1459
  @index = cached.interval.end
1504
1460
  end
1505
1461
  return cached
@@ -1508,37 +1464,30 @@ module Timing
1508
1464
  i0 = index
1509
1465
  r1 = _nt_second_interval
1510
1466
  if r1
1511
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1512
1467
  r0 = r1
1513
1468
  else
1514
1469
  r2 = _nt_minute_interval
1515
1470
  if r2
1516
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1517
1471
  r0 = r2
1518
1472
  else
1519
1473
  r3 = _nt_hour_interval
1520
1474
  if r3
1521
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
1522
1475
  r0 = r3
1523
1476
  else
1524
1477
  r4 = _nt_day_interval
1525
1478
  if r4
1526
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1527
1479
  r0 = r4
1528
1480
  else
1529
1481
  r5 = _nt_week_interval
1530
1482
  if r5
1531
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
1532
1483
  r0 = r5
1533
1484
  else
1534
1485
  r6 = _nt_month_interval
1535
1486
  if r6
1536
- r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
1537
1487
  r0 = r6
1538
1488
  else
1539
1489
  r7 = _nt_year_interval
1540
1490
  if r7
1541
- r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
1542
1491
  r0 = r7
1543
1492
  else
1544
1493
  @index = i0
@@ -1564,27 +1513,27 @@ module Timing
1564
1513
  if node_cache[:second_interval].has_key?(index)
1565
1514
  cached = node_cache[:second_interval][index]
1566
1515
  if cached
1567
- node_cache[:second_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1516
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1568
1517
  @index = cached.interval.end
1569
1518
  end
1570
1519
  return cached
1571
1520
  end
1572
1521
 
1573
1522
  i0, s0 = index, []
1574
- if (match_len = has_terminal?('second', false, index))
1575
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1576
- @index += match_len
1523
+ if has_terminal?('second', false, index)
1524
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 6))
1525
+ @index += 6
1577
1526
  else
1578
- terminal_parse_failure('\'second\'')
1527
+ terminal_parse_failure('second')
1579
1528
  r1 = nil
1580
1529
  end
1581
1530
  s0 << r1
1582
1531
  if r1
1583
- if (match_len = has_terminal?('s', false, index))
1584
- r3 = true
1585
- @index += match_len
1532
+ if has_terminal?('s', false, index)
1533
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1534
+ @index += 1
1586
1535
  else
1587
- terminal_parse_failure('\'s\'')
1536
+ terminal_parse_failure('s')
1588
1537
  r3 = nil
1589
1538
  end
1590
1539
  if r3
@@ -1615,27 +1564,27 @@ module Timing
1615
1564
  if node_cache[:minute_interval].has_key?(index)
1616
1565
  cached = node_cache[:minute_interval][index]
1617
1566
  if cached
1618
- node_cache[:minute_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1567
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1619
1568
  @index = cached.interval.end
1620
1569
  end
1621
1570
  return cached
1622
1571
  end
1623
1572
 
1624
1573
  i0, s0 = index, []
1625
- if (match_len = has_terminal?('minute', false, index))
1626
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1627
- @index += match_len
1574
+ if has_terminal?('minute', false, index)
1575
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 6))
1576
+ @index += 6
1628
1577
  else
1629
- terminal_parse_failure('\'minute\'')
1578
+ terminal_parse_failure('minute')
1630
1579
  r1 = nil
1631
1580
  end
1632
1581
  s0 << r1
1633
1582
  if r1
1634
- if (match_len = has_terminal?('s', false, index))
1635
- r3 = true
1636
- @index += match_len
1583
+ if has_terminal?('s', false, index)
1584
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1585
+ @index += 1
1637
1586
  else
1638
- terminal_parse_failure('\'s\'')
1587
+ terminal_parse_failure('s')
1639
1588
  r3 = nil
1640
1589
  end
1641
1590
  if r3
@@ -1666,27 +1615,27 @@ module Timing
1666
1615
  if node_cache[:hour_interval].has_key?(index)
1667
1616
  cached = node_cache[:hour_interval][index]
1668
1617
  if cached
1669
- node_cache[:hour_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1618
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1670
1619
  @index = cached.interval.end
1671
1620
  end
1672
1621
  return cached
1673
1622
  end
1674
1623
 
1675
1624
  i0, s0 = index, []
1676
- if (match_len = has_terminal?('hour', false, index))
1677
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1678
- @index += match_len
1625
+ if has_terminal?('hour', false, index)
1626
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
1627
+ @index += 4
1679
1628
  else
1680
- terminal_parse_failure('\'hour\'')
1629
+ terminal_parse_failure('hour')
1681
1630
  r1 = nil
1682
1631
  end
1683
1632
  s0 << r1
1684
1633
  if r1
1685
- if (match_len = has_terminal?('s', false, index))
1686
- r3 = true
1687
- @index += match_len
1634
+ if has_terminal?('s', false, index)
1635
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1636
+ @index += 1
1688
1637
  else
1689
- terminal_parse_failure('\'s\'')
1638
+ terminal_parse_failure('s')
1690
1639
  r3 = nil
1691
1640
  end
1692
1641
  if r3
@@ -1717,27 +1666,27 @@ module Timing
1717
1666
  if node_cache[:day_interval].has_key?(index)
1718
1667
  cached = node_cache[:day_interval][index]
1719
1668
  if cached
1720
- node_cache[:day_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1669
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1721
1670
  @index = cached.interval.end
1722
1671
  end
1723
1672
  return cached
1724
1673
  end
1725
1674
 
1726
1675
  i0, s0 = index, []
1727
- if (match_len = has_terminal?('day', false, index))
1728
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1729
- @index += match_len
1676
+ if has_terminal?('day', false, index)
1677
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
1678
+ @index += 3
1730
1679
  else
1731
- terminal_parse_failure('\'day\'')
1680
+ terminal_parse_failure('day')
1732
1681
  r1 = nil
1733
1682
  end
1734
1683
  s0 << r1
1735
1684
  if r1
1736
- if (match_len = has_terminal?('s', false, index))
1737
- r3 = true
1738
- @index += match_len
1685
+ if has_terminal?('s', false, index)
1686
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1687
+ @index += 1
1739
1688
  else
1740
- terminal_parse_failure('\'s\'')
1689
+ terminal_parse_failure('s')
1741
1690
  r3 = nil
1742
1691
  end
1743
1692
  if r3
@@ -1768,27 +1717,27 @@ module Timing
1768
1717
  if node_cache[:week_interval].has_key?(index)
1769
1718
  cached = node_cache[:week_interval][index]
1770
1719
  if cached
1771
- node_cache[:week_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1720
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1772
1721
  @index = cached.interval.end
1773
1722
  end
1774
1723
  return cached
1775
1724
  end
1776
1725
 
1777
1726
  i0, s0 = index, []
1778
- if (match_len = has_terminal?('week', false, index))
1779
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1780
- @index += match_len
1727
+ if has_terminal?('week', false, index)
1728
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
1729
+ @index += 4
1781
1730
  else
1782
- terminal_parse_failure('\'week\'')
1731
+ terminal_parse_failure('week')
1783
1732
  r1 = nil
1784
1733
  end
1785
1734
  s0 << r1
1786
1735
  if r1
1787
- if (match_len = has_terminal?('s', false, index))
1788
- r3 = true
1789
- @index += match_len
1736
+ if has_terminal?('s', false, index)
1737
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1738
+ @index += 1
1790
1739
  else
1791
- terminal_parse_failure('\'s\'')
1740
+ terminal_parse_failure('s')
1792
1741
  r3 = nil
1793
1742
  end
1794
1743
  if r3
@@ -1819,27 +1768,27 @@ module Timing
1819
1768
  if node_cache[:month_interval].has_key?(index)
1820
1769
  cached = node_cache[:month_interval][index]
1821
1770
  if cached
1822
- node_cache[:month_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1771
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1823
1772
  @index = cached.interval.end
1824
1773
  end
1825
1774
  return cached
1826
1775
  end
1827
1776
 
1828
1777
  i0, s0 = index, []
1829
- if (match_len = has_terminal?('month', false, index))
1830
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1831
- @index += match_len
1778
+ if has_terminal?('month', false, index)
1779
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 5))
1780
+ @index += 5
1832
1781
  else
1833
- terminal_parse_failure('\'month\'')
1782
+ terminal_parse_failure('month')
1834
1783
  r1 = nil
1835
1784
  end
1836
1785
  s0 << r1
1837
1786
  if r1
1838
- if (match_len = has_terminal?('s', false, index))
1839
- r3 = true
1840
- @index += match_len
1787
+ if has_terminal?('s', false, index)
1788
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1789
+ @index += 1
1841
1790
  else
1842
- terminal_parse_failure('\'s\'')
1791
+ terminal_parse_failure('s')
1843
1792
  r3 = nil
1844
1793
  end
1845
1794
  if r3
@@ -1870,27 +1819,27 @@ module Timing
1870
1819
  if node_cache[:year_interval].has_key?(index)
1871
1820
  cached = node_cache[:year_interval][index]
1872
1821
  if cached
1873
- node_cache[:year_interval][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1822
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1874
1823
  @index = cached.interval.end
1875
1824
  end
1876
1825
  return cached
1877
1826
  end
1878
1827
 
1879
1828
  i0, s0 = index, []
1880
- if (match_len = has_terminal?('year', false, index))
1881
- r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1882
- @index += match_len
1829
+ if has_terminal?('year', false, index)
1830
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
1831
+ @index += 4
1883
1832
  else
1884
- terminal_parse_failure('\'year\'')
1833
+ terminal_parse_failure('year')
1885
1834
  r1 = nil
1886
1835
  end
1887
1836
  s0 << r1
1888
1837
  if r1
1889
- if (match_len = has_terminal?('s', false, index))
1890
- r3 = true
1891
- @index += match_len
1838
+ if has_terminal?('s', false, index)
1839
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1840
+ @index += 1
1892
1841
  else
1893
- terminal_parse_failure('\'s\'')
1842
+ terminal_parse_failure('s')
1894
1843
  r3 = nil
1895
1844
  end
1896
1845
  if r3
@@ -1918,7 +1867,7 @@ module Timing
1918
1867
  if node_cache[:day_name].has_key?(index)
1919
1868
  cached = node_cache[:day_name][index]
1920
1869
  if cached
1921
- node_cache[:day_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1870
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1922
1871
  @index = cached.interval.end
1923
1872
  end
1924
1873
  return cached
@@ -1927,12 +1876,10 @@ module Timing
1927
1876
  i0 = index
1928
1877
  r1 = _nt_long_day_name
1929
1878
  if r1
1930
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1931
1879
  r0 = r1
1932
1880
  else
1933
1881
  r2 = _nt_short_day_name
1934
1882
  if r2
1935
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1936
1883
  r0 = r2
1937
1884
  else
1938
1885
  @index = i0
@@ -1950,88 +1897,81 @@ module Timing
1950
1897
  if node_cache[:long_day_name].has_key?(index)
1951
1898
  cached = node_cache[:long_day_name][index]
1952
1899
  if cached
1953
- node_cache[:long_day_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1900
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1954
1901
  @index = cached.interval.end
1955
1902
  end
1956
1903
  return cached
1957
1904
  end
1958
1905
 
1959
1906
  i0 = index
1960
- if (match_len = has_terminal?('sunday', false, index))
1961
- r1 = instantiate_node(DayName,input, index...(index + match_len))
1962
- @index += match_len
1907
+ if has_terminal?('sunday', false, index)
1908
+ r1 = instantiate_node(DayName,input, index...(index + 6))
1909
+ @index += 6
1963
1910
  else
1964
- terminal_parse_failure('\'sunday\'')
1911
+ terminal_parse_failure('sunday')
1965
1912
  r1 = nil
1966
1913
  end
1967
1914
  if r1
1968
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1969
1915
  r0 = r1
1970
1916
  else
1971
- if (match_len = has_terminal?('monday', false, index))
1972
- r2 = instantiate_node(DayName,input, index...(index + match_len))
1973
- @index += match_len
1917
+ if has_terminal?('monday', false, index)
1918
+ r2 = instantiate_node(DayName,input, index...(index + 6))
1919
+ @index += 6
1974
1920
  else
1975
- terminal_parse_failure('\'monday\'')
1921
+ terminal_parse_failure('monday')
1976
1922
  r2 = nil
1977
1923
  end
1978
1924
  if r2
1979
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1980
1925
  r0 = r2
1981
1926
  else
1982
- if (match_len = has_terminal?('tuesday', false, index))
1983
- r3 = instantiate_node(DayName,input, index...(index + match_len))
1984
- @index += match_len
1927
+ if has_terminal?('tuesday', false, index)
1928
+ r3 = instantiate_node(DayName,input, index...(index + 7))
1929
+ @index += 7
1985
1930
  else
1986
- terminal_parse_failure('\'tuesday\'')
1931
+ terminal_parse_failure('tuesday')
1987
1932
  r3 = nil
1988
1933
  end
1989
1934
  if r3
1990
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
1991
1935
  r0 = r3
1992
1936
  else
1993
- if (match_len = has_terminal?('wednesday', false, index))
1994
- r4 = instantiate_node(DayName,input, index...(index + match_len))
1995
- @index += match_len
1937
+ if has_terminal?('wednesday', false, index)
1938
+ r4 = instantiate_node(DayName,input, index...(index + 9))
1939
+ @index += 9
1996
1940
  else
1997
- terminal_parse_failure('\'wednesday\'')
1941
+ terminal_parse_failure('wednesday')
1998
1942
  r4 = nil
1999
1943
  end
2000
1944
  if r4
2001
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2002
1945
  r0 = r4
2003
1946
  else
2004
- if (match_len = has_terminal?('thursday', false, index))
2005
- r5 = instantiate_node(DayName,input, index...(index + match_len))
2006
- @index += match_len
1947
+ if has_terminal?('thursday', false, index)
1948
+ r5 = instantiate_node(DayName,input, index...(index + 8))
1949
+ @index += 8
2007
1950
  else
2008
- terminal_parse_failure('\'thursday\'')
1951
+ terminal_parse_failure('thursday')
2009
1952
  r5 = nil
2010
1953
  end
2011
1954
  if r5
2012
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
2013
1955
  r0 = r5
2014
1956
  else
2015
- if (match_len = has_terminal?('friday', false, index))
2016
- r6 = instantiate_node(DayName,input, index...(index + match_len))
2017
- @index += match_len
1957
+ if has_terminal?('friday', false, index)
1958
+ r6 = instantiate_node(DayName,input, index...(index + 6))
1959
+ @index += 6
2018
1960
  else
2019
- terminal_parse_failure('\'friday\'')
1961
+ terminal_parse_failure('friday')
2020
1962
  r6 = nil
2021
1963
  end
2022
1964
  if r6
2023
- r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
2024
1965
  r0 = r6
2025
1966
  else
2026
- if (match_len = has_terminal?('saturday', false, index))
2027
- r7 = instantiate_node(DayName,input, index...(index + match_len))
2028
- @index += match_len
1967
+ if has_terminal?('saturday', false, index)
1968
+ r7 = instantiate_node(DayName,input, index...(index + 8))
1969
+ @index += 8
2029
1970
  else
2030
- terminal_parse_failure('\'saturday\'')
1971
+ terminal_parse_failure('saturday')
2031
1972
  r7 = nil
2032
1973
  end
2033
1974
  if r7
2034
- r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2035
1975
  r0 = r7
2036
1976
  else
2037
1977
  @index = i0
@@ -2054,88 +1994,81 @@ module Timing
2054
1994
  if node_cache[:short_day_name].has_key?(index)
2055
1995
  cached = node_cache[:short_day_name][index]
2056
1996
  if cached
2057
- node_cache[:short_day_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1997
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2058
1998
  @index = cached.interval.end
2059
1999
  end
2060
2000
  return cached
2061
2001
  end
2062
2002
 
2063
2003
  i0 = index
2064
- if (match_len = has_terminal?('sun', false, index))
2065
- r1 = instantiate_node(DayName,input, index...(index + match_len))
2066
- @index += match_len
2004
+ if has_terminal?('sun', false, index)
2005
+ r1 = instantiate_node(DayName,input, index...(index + 3))
2006
+ @index += 3
2067
2007
  else
2068
- terminal_parse_failure('\'sun\'')
2008
+ terminal_parse_failure('sun')
2069
2009
  r1 = nil
2070
2010
  end
2071
2011
  if r1
2072
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2073
2012
  r0 = r1
2074
2013
  else
2075
- if (match_len = has_terminal?('mon', false, index))
2076
- r2 = instantiate_node(DayName,input, index...(index + match_len))
2077
- @index += match_len
2014
+ if has_terminal?('mon', false, index)
2015
+ r2 = instantiate_node(DayName,input, index...(index + 3))
2016
+ @index += 3
2078
2017
  else
2079
- terminal_parse_failure('\'mon\'')
2018
+ terminal_parse_failure('mon')
2080
2019
  r2 = nil
2081
2020
  end
2082
2021
  if r2
2083
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2084
2022
  r0 = r2
2085
2023
  else
2086
- if (match_len = has_terminal?('tue', false, index))
2087
- r3 = instantiate_node(DayName,input, index...(index + match_len))
2088
- @index += match_len
2024
+ if has_terminal?('tue', false, index)
2025
+ r3 = instantiate_node(DayName,input, index...(index + 3))
2026
+ @index += 3
2089
2027
  else
2090
- terminal_parse_failure('\'tue\'')
2028
+ terminal_parse_failure('tue')
2091
2029
  r3 = nil
2092
2030
  end
2093
2031
  if r3
2094
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2095
2032
  r0 = r3
2096
2033
  else
2097
- if (match_len = has_terminal?('wed', false, index))
2098
- r4 = instantiate_node(DayName,input, index...(index + match_len))
2099
- @index += match_len
2034
+ if has_terminal?('wed', false, index)
2035
+ r4 = instantiate_node(DayName,input, index...(index + 3))
2036
+ @index += 3
2100
2037
  else
2101
- terminal_parse_failure('\'wed\'')
2038
+ terminal_parse_failure('wed')
2102
2039
  r4 = nil
2103
2040
  end
2104
2041
  if r4
2105
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2106
2042
  r0 = r4
2107
2043
  else
2108
- if (match_len = has_terminal?('thu', false, index))
2109
- r5 = instantiate_node(DayName,input, index...(index + match_len))
2110
- @index += match_len
2044
+ if has_terminal?('thu', false, index)
2045
+ r5 = instantiate_node(DayName,input, index...(index + 3))
2046
+ @index += 3
2111
2047
  else
2112
- terminal_parse_failure('\'thu\'')
2048
+ terminal_parse_failure('thu')
2113
2049
  r5 = nil
2114
2050
  end
2115
2051
  if r5
2116
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
2117
2052
  r0 = r5
2118
2053
  else
2119
- if (match_len = has_terminal?('fri', false, index))
2120
- r6 = instantiate_node(DayName,input, index...(index + match_len))
2121
- @index += match_len
2054
+ if has_terminal?('fri', false, index)
2055
+ r6 = instantiate_node(DayName,input, index...(index + 3))
2056
+ @index += 3
2122
2057
  else
2123
- terminal_parse_failure('\'fri\'')
2058
+ terminal_parse_failure('fri')
2124
2059
  r6 = nil
2125
2060
  end
2126
2061
  if r6
2127
- r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
2128
2062
  r0 = r6
2129
2063
  else
2130
- if (match_len = has_terminal?('sat', false, index))
2131
- r7 = instantiate_node(DayName,input, index...(index + match_len))
2132
- @index += match_len
2064
+ if has_terminal?('sat', false, index)
2065
+ r7 = instantiate_node(DayName,input, index...(index + 3))
2066
+ @index += 3
2133
2067
  else
2134
- terminal_parse_failure('\'sat\'')
2068
+ terminal_parse_failure('sat')
2135
2069
  r7 = nil
2136
2070
  end
2137
2071
  if r7
2138
- r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2139
2072
  r0 = r7
2140
2073
  else
2141
2074
  @index = i0
@@ -2158,7 +2091,7 @@ module Timing
2158
2091
  if node_cache[:month_name].has_key?(index)
2159
2092
  cached = node_cache[:month_name][index]
2160
2093
  if cached
2161
- node_cache[:month_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2094
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2162
2095
  @index = cached.interval.end
2163
2096
  end
2164
2097
  return cached
@@ -2167,12 +2100,10 @@ module Timing
2167
2100
  i0 = index
2168
2101
  r1 = _nt_long_month_name
2169
2102
  if r1
2170
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2171
2103
  r0 = r1
2172
2104
  else
2173
2105
  r2 = _nt_short_month_name
2174
2106
  if r2
2175
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2176
2107
  r0 = r2
2177
2108
  else
2178
2109
  @index = i0
@@ -2190,143 +2121,131 @@ module Timing
2190
2121
  if node_cache[:long_month_name].has_key?(index)
2191
2122
  cached = node_cache[:long_month_name][index]
2192
2123
  if cached
2193
- node_cache[:long_month_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2124
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2194
2125
  @index = cached.interval.end
2195
2126
  end
2196
2127
  return cached
2197
2128
  end
2198
2129
 
2199
2130
  i0 = index
2200
- if (match_len = has_terminal?('january', false, index))
2201
- r1 = instantiate_node(MonthName,input, index...(index + match_len))
2202
- @index += match_len
2131
+ if has_terminal?('january', false, index)
2132
+ r1 = instantiate_node(MonthName,input, index...(index + 7))
2133
+ @index += 7
2203
2134
  else
2204
- terminal_parse_failure('\'january\'')
2135
+ terminal_parse_failure('january')
2205
2136
  r1 = nil
2206
2137
  end
2207
2138
  if r1
2208
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2209
2139
  r0 = r1
2210
2140
  else
2211
- if (match_len = has_terminal?('february', false, index))
2212
- r2 = instantiate_node(MonthName,input, index...(index + match_len))
2213
- @index += match_len
2141
+ if has_terminal?('february', false, index)
2142
+ r2 = instantiate_node(MonthName,input, index...(index + 8))
2143
+ @index += 8
2214
2144
  else
2215
- terminal_parse_failure('\'february\'')
2145
+ terminal_parse_failure('february')
2216
2146
  r2 = nil
2217
2147
  end
2218
2148
  if r2
2219
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2220
2149
  r0 = r2
2221
2150
  else
2222
- if (match_len = has_terminal?('march', false, index))
2223
- r3 = instantiate_node(MonthName,input, index...(index + match_len))
2224
- @index += match_len
2151
+ if has_terminal?('march', false, index)
2152
+ r3 = instantiate_node(MonthName,input, index...(index + 5))
2153
+ @index += 5
2225
2154
  else
2226
- terminal_parse_failure('\'march\'')
2155
+ terminal_parse_failure('march')
2227
2156
  r3 = nil
2228
2157
  end
2229
2158
  if r3
2230
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2231
2159
  r0 = r3
2232
2160
  else
2233
- if (match_len = has_terminal?('april', false, index))
2234
- r4 = instantiate_node(MonthName,input, index...(index + match_len))
2235
- @index += match_len
2161
+ if has_terminal?('april', false, index)
2162
+ r4 = instantiate_node(MonthName,input, index...(index + 5))
2163
+ @index += 5
2236
2164
  else
2237
- terminal_parse_failure('\'april\'')
2165
+ terminal_parse_failure('april')
2238
2166
  r4 = nil
2239
2167
  end
2240
2168
  if r4
2241
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2242
2169
  r0 = r4
2243
2170
  else
2244
- if (match_len = has_terminal?('may', false, index))
2245
- r5 = instantiate_node(MonthName,input, index...(index + match_len))
2246
- @index += match_len
2171
+ if has_terminal?('may', false, index)
2172
+ r5 = instantiate_node(MonthName,input, index...(index + 3))
2173
+ @index += 3
2247
2174
  else
2248
- terminal_parse_failure('\'may\'')
2175
+ terminal_parse_failure('may')
2249
2176
  r5 = nil
2250
2177
  end
2251
2178
  if r5
2252
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
2253
2179
  r0 = r5
2254
2180
  else
2255
- if (match_len = has_terminal?('june', false, index))
2256
- r6 = instantiate_node(MonthName,input, index...(index + match_len))
2257
- @index += match_len
2181
+ if has_terminal?('june', false, index)
2182
+ r6 = instantiate_node(MonthName,input, index...(index + 4))
2183
+ @index += 4
2258
2184
  else
2259
- terminal_parse_failure('\'june\'')
2185
+ terminal_parse_failure('june')
2260
2186
  r6 = nil
2261
2187
  end
2262
2188
  if r6
2263
- r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
2264
2189
  r0 = r6
2265
2190
  else
2266
- if (match_len = has_terminal?('july', false, index))
2267
- r7 = instantiate_node(MonthName,input, index...(index + match_len))
2268
- @index += match_len
2191
+ if has_terminal?('july', false, index)
2192
+ r7 = instantiate_node(MonthName,input, index...(index + 4))
2193
+ @index += 4
2269
2194
  else
2270
- terminal_parse_failure('\'july\'')
2195
+ terminal_parse_failure('july')
2271
2196
  r7 = nil
2272
2197
  end
2273
2198
  if r7
2274
- r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2275
2199
  r0 = r7
2276
2200
  else
2277
- if (match_len = has_terminal?('august', false, index))
2278
- r8 = instantiate_node(MonthName,input, index...(index + match_len))
2279
- @index += match_len
2201
+ if has_terminal?('august', false, index)
2202
+ r8 = instantiate_node(MonthName,input, index...(index + 6))
2203
+ @index += 6
2280
2204
  else
2281
- terminal_parse_failure('\'august\'')
2205
+ terminal_parse_failure('august')
2282
2206
  r8 = nil
2283
2207
  end
2284
2208
  if r8
2285
- r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
2286
2209
  r0 = r8
2287
2210
  else
2288
- if (match_len = has_terminal?('september', false, index))
2289
- r9 = instantiate_node(MonthName,input, index...(index + match_len))
2290
- @index += match_len
2211
+ if has_terminal?('september', false, index)
2212
+ r9 = instantiate_node(MonthName,input, index...(index + 9))
2213
+ @index += 9
2291
2214
  else
2292
- terminal_parse_failure('\'september\'')
2215
+ terminal_parse_failure('september')
2293
2216
  r9 = nil
2294
2217
  end
2295
2218
  if r9
2296
- r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2297
2219
  r0 = r9
2298
2220
  else
2299
- if (match_len = has_terminal?('october', false, index))
2300
- r10 = instantiate_node(MonthName,input, index...(index + match_len))
2301
- @index += match_len
2221
+ if has_terminal?('october', false, index)
2222
+ r10 = instantiate_node(MonthName,input, index...(index + 7))
2223
+ @index += 7
2302
2224
  else
2303
- terminal_parse_failure('\'october\'')
2225
+ terminal_parse_failure('october')
2304
2226
  r10 = nil
2305
2227
  end
2306
2228
  if r10
2307
- r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
2308
2229
  r0 = r10
2309
2230
  else
2310
- if (match_len = has_terminal?('november', false, index))
2311
- r11 = instantiate_node(MonthName,input, index...(index + match_len))
2312
- @index += match_len
2231
+ if has_terminal?('november', false, index)
2232
+ r11 = instantiate_node(MonthName,input, index...(index + 8))
2233
+ @index += 8
2313
2234
  else
2314
- terminal_parse_failure('\'november\'')
2235
+ terminal_parse_failure('november')
2315
2236
  r11 = nil
2316
2237
  end
2317
2238
  if r11
2318
- r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
2319
2239
  r0 = r11
2320
2240
  else
2321
- if (match_len = has_terminal?('december', false, index))
2322
- r12 = instantiate_node(MonthName,input, index...(index + match_len))
2323
- @index += match_len
2241
+ if has_terminal?('december', false, index)
2242
+ r12 = instantiate_node(MonthName,input, index...(index + 8))
2243
+ @index += 8
2324
2244
  else
2325
- terminal_parse_failure('\'december\'')
2245
+ terminal_parse_failure('december')
2326
2246
  r12 = nil
2327
2247
  end
2328
2248
  if r12
2329
- r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
2330
2249
  r0 = r12
2331
2250
  else
2332
2251
  @index = i0
@@ -2354,143 +2273,131 @@ module Timing
2354
2273
  if node_cache[:short_month_name].has_key?(index)
2355
2274
  cached = node_cache[:short_month_name][index]
2356
2275
  if cached
2357
- node_cache[:short_month_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2276
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2358
2277
  @index = cached.interval.end
2359
2278
  end
2360
2279
  return cached
2361
2280
  end
2362
2281
 
2363
2282
  i0 = index
2364
- if (match_len = has_terminal?('jan', false, index))
2365
- r1 = instantiate_node(MonthName,input, index...(index + match_len))
2366
- @index += match_len
2283
+ if has_terminal?('jan', false, index)
2284
+ r1 = instantiate_node(MonthName,input, index...(index + 3))
2285
+ @index += 3
2367
2286
  else
2368
- terminal_parse_failure('\'jan\'')
2287
+ terminal_parse_failure('jan')
2369
2288
  r1 = nil
2370
2289
  end
2371
2290
  if r1
2372
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2373
2291
  r0 = r1
2374
2292
  else
2375
- if (match_len = has_terminal?('feb', false, index))
2376
- r2 = instantiate_node(MonthName,input, index...(index + match_len))
2377
- @index += match_len
2293
+ if has_terminal?('feb', false, index)
2294
+ r2 = instantiate_node(MonthName,input, index...(index + 3))
2295
+ @index += 3
2378
2296
  else
2379
- terminal_parse_failure('\'feb\'')
2297
+ terminal_parse_failure('feb')
2380
2298
  r2 = nil
2381
2299
  end
2382
2300
  if r2
2383
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2384
2301
  r0 = r2
2385
2302
  else
2386
- if (match_len = has_terminal?('mar', false, index))
2387
- r3 = instantiate_node(MonthName,input, index...(index + match_len))
2388
- @index += match_len
2303
+ if has_terminal?('mar', false, index)
2304
+ r3 = instantiate_node(MonthName,input, index...(index + 3))
2305
+ @index += 3
2389
2306
  else
2390
- terminal_parse_failure('\'mar\'')
2307
+ terminal_parse_failure('mar')
2391
2308
  r3 = nil
2392
2309
  end
2393
2310
  if r3
2394
- r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2395
2311
  r0 = r3
2396
2312
  else
2397
- if (match_len = has_terminal?('apr', false, index))
2398
- r4 = instantiate_node(MonthName,input, index...(index + match_len))
2399
- @index += match_len
2313
+ if has_terminal?('apr', false, index)
2314
+ r4 = instantiate_node(MonthName,input, index...(index + 3))
2315
+ @index += 3
2400
2316
  else
2401
- terminal_parse_failure('\'apr\'')
2317
+ terminal_parse_failure('apr')
2402
2318
  r4 = nil
2403
2319
  end
2404
2320
  if r4
2405
- r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2406
2321
  r0 = r4
2407
2322
  else
2408
- if (match_len = has_terminal?('may', false, index))
2409
- r5 = instantiate_node(MonthName,input, index...(index + match_len))
2410
- @index += match_len
2323
+ if has_terminal?('may', false, index)
2324
+ r5 = instantiate_node(MonthName,input, index...(index + 3))
2325
+ @index += 3
2411
2326
  else
2412
- terminal_parse_failure('\'may\'')
2327
+ terminal_parse_failure('may')
2413
2328
  r5 = nil
2414
2329
  end
2415
2330
  if r5
2416
- r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
2417
2331
  r0 = r5
2418
2332
  else
2419
- if (match_len = has_terminal?('jun', false, index))
2420
- r6 = instantiate_node(MonthName,input, index...(index + match_len))
2421
- @index += match_len
2333
+ if has_terminal?('jun', false, index)
2334
+ r6 = instantiate_node(MonthName,input, index...(index + 3))
2335
+ @index += 3
2422
2336
  else
2423
- terminal_parse_failure('\'jun\'')
2337
+ terminal_parse_failure('jun')
2424
2338
  r6 = nil
2425
2339
  end
2426
2340
  if r6
2427
- r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
2428
2341
  r0 = r6
2429
2342
  else
2430
- if (match_len = has_terminal?('jul', false, index))
2431
- r7 = instantiate_node(MonthName,input, index...(index + match_len))
2432
- @index += match_len
2343
+ if has_terminal?('jul', false, index)
2344
+ r7 = instantiate_node(MonthName,input, index...(index + 3))
2345
+ @index += 3
2433
2346
  else
2434
- terminal_parse_failure('\'jul\'')
2347
+ terminal_parse_failure('jul')
2435
2348
  r7 = nil
2436
2349
  end
2437
2350
  if r7
2438
- r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2439
2351
  r0 = r7
2440
2352
  else
2441
- if (match_len = has_terminal?('aug', false, index))
2442
- r8 = instantiate_node(MonthName,input, index...(index + match_len))
2443
- @index += match_len
2353
+ if has_terminal?('aug', false, index)
2354
+ r8 = instantiate_node(MonthName,input, index...(index + 3))
2355
+ @index += 3
2444
2356
  else
2445
- terminal_parse_failure('\'aug\'')
2357
+ terminal_parse_failure('aug')
2446
2358
  r8 = nil
2447
2359
  end
2448
2360
  if r8
2449
- r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
2450
2361
  r0 = r8
2451
2362
  else
2452
- if (match_len = has_terminal?('sep', false, index))
2453
- r9 = instantiate_node(MonthName,input, index...(index + match_len))
2454
- @index += match_len
2363
+ if has_terminal?('sep', false, index)
2364
+ r9 = instantiate_node(MonthName,input, index...(index + 3))
2365
+ @index += 3
2455
2366
  else
2456
- terminal_parse_failure('\'sep\'')
2367
+ terminal_parse_failure('sep')
2457
2368
  r9 = nil
2458
2369
  end
2459
2370
  if r9
2460
- r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2461
2371
  r0 = r9
2462
2372
  else
2463
- if (match_len = has_terminal?('oct', false, index))
2464
- r10 = instantiate_node(MonthName,input, index...(index + match_len))
2465
- @index += match_len
2373
+ if has_terminal?('oct', false, index)
2374
+ r10 = instantiate_node(MonthName,input, index...(index + 3))
2375
+ @index += 3
2466
2376
  else
2467
- terminal_parse_failure('\'oct\'')
2377
+ terminal_parse_failure('oct')
2468
2378
  r10 = nil
2469
2379
  end
2470
2380
  if r10
2471
- r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
2472
2381
  r0 = r10
2473
2382
  else
2474
- if (match_len = has_terminal?('nov', false, index))
2475
- r11 = instantiate_node(MonthName,input, index...(index + match_len))
2476
- @index += match_len
2383
+ if has_terminal?('nov', false, index)
2384
+ r11 = instantiate_node(MonthName,input, index...(index + 3))
2385
+ @index += 3
2477
2386
  else
2478
- terminal_parse_failure('\'nov\'')
2387
+ terminal_parse_failure('nov')
2479
2388
  r11 = nil
2480
2389
  end
2481
2390
  if r11
2482
- r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
2483
2391
  r0 = r11
2484
2392
  else
2485
- if (match_len = has_terminal?('dec', false, index))
2486
- r12 = instantiate_node(MonthName,input, index...(index + match_len))
2487
- @index += match_len
2393
+ if has_terminal?('dec', false, index)
2394
+ r12 = instantiate_node(MonthName,input, index...(index + 3))
2395
+ @index += 3
2488
2396
  else
2489
- terminal_parse_failure('\'dec\'')
2397
+ terminal_parse_failure('dec')
2490
2398
  r12 = nil
2491
2399
  end
2492
2400
  if r12
2493
- r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
2494
2401
  r0 = r12
2495
2402
  else
2496
2403
  @index = i0
@@ -2521,29 +2428,27 @@ module Timing
2521
2428
  if node_cache[:zone_offset].has_key?(index)
2522
2429
  cached = node_cache[:zone_offset][index]
2523
2430
  if cached
2524
- node_cache[:zone_offset][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2431
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2525
2432
  @index = cached.interval.end
2526
2433
  end
2527
2434
  return cached
2528
2435
  end
2529
2436
 
2530
2437
  i0, s0 = index, []
2531
- if has_terminal?(@regexps[gr = '\A[+-]'] ||= Regexp.new(gr), :regexp, index)
2438
+ if has_terminal?('\G[+-]', true, index)
2532
2439
  r1 = true
2533
2440
  @index += 1
2534
2441
  else
2535
- terminal_parse_failure('[+-]')
2536
2442
  r1 = nil
2537
2443
  end
2538
2444
  s0 << r1
2539
2445
  if r1
2540
2446
  s2, i2 = [], index
2541
2447
  loop do
2542
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2448
+ if has_terminal?('\G[\\d]', true, index)
2543
2449
  r3 = true
2544
2450
  @index += 1
2545
2451
  else
2546
- terminal_parse_failure('[\\d]')
2547
2452
  r3 = nil
2548
2453
  end
2549
2454
  if r3
@@ -2559,18 +2464,15 @@ module Timing
2559
2464
  @index = i2
2560
2465
  r2 = nil
2561
2466
  else
2562
- if s2.size < 2
2563
- @terminal_failures.pop
2564
- end
2565
2467
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2566
2468
  end
2567
2469
  s0 << r2
2568
2470
  if r2
2569
- if (match_len = has_terminal?(':', false, index))
2570
- r5 = true
2571
- @index += match_len
2471
+ if has_terminal?(':', false, index)
2472
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
2473
+ @index += 1
2572
2474
  else
2573
- terminal_parse_failure('\':\'')
2475
+ terminal_parse_failure(':')
2574
2476
  r5 = nil
2575
2477
  end
2576
2478
  if r5
@@ -2582,11 +2484,10 @@ module Timing
2582
2484
  if r4
2583
2485
  s6, i6 = [], index
2584
2486
  loop do
2585
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2487
+ if has_terminal?('\G[\\d]', true, index)
2586
2488
  r7 = true
2587
2489
  @index += 1
2588
2490
  else
2589
- terminal_parse_failure('[\\d]')
2590
2491
  r7 = nil
2591
2492
  end
2592
2493
  if r7
@@ -2602,9 +2503,6 @@ module Timing
2602
2503
  @index = i6
2603
2504
  r6 = nil
2604
2505
  else
2605
- if s6.size < 2
2606
- @terminal_failures.pop
2607
- end
2608
2506
  r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
2609
2507
  end
2610
2508
  s0 << r6
@@ -2635,7 +2533,7 @@ module Timing
2635
2533
  if node_cache[:hour_minute_second].has_key?(index)
2636
2534
  cached = node_cache[:hour_minute_second][index]
2637
2535
  if cached
2638
- node_cache[:hour_minute_second][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2536
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2639
2537
  @index = cached.interval.end
2640
2538
  end
2641
2539
  return cached
@@ -2645,11 +2543,10 @@ module Timing
2645
2543
  i1, s1 = index, []
2646
2544
  s2, i2 = [], index
2647
2545
  loop do
2648
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2546
+ if has_terminal?('\G[\\d]', true, index)
2649
2547
  r3 = true
2650
2548
  @index += 1
2651
2549
  else
2652
- terminal_parse_failure('[\\d]')
2653
2550
  r3 = nil
2654
2551
  end
2655
2552
  if r3
@@ -2665,29 +2562,25 @@ module Timing
2665
2562
  @index = i2
2666
2563
  r2 = nil
2667
2564
  else
2668
- if s2.size < 2
2669
- @terminal_failures.pop
2670
- end
2671
2565
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2672
2566
  end
2673
2567
  s1 << r2
2674
2568
  if r2
2675
- if (match_len = has_terminal?(':', false, index))
2676
- r4 = true
2677
- @index += match_len
2569
+ if has_terminal?(':', false, index)
2570
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2571
+ @index += 1
2678
2572
  else
2679
- terminal_parse_failure('\':\'')
2573
+ terminal_parse_failure(':')
2680
2574
  r4 = nil
2681
2575
  end
2682
2576
  s1 << r4
2683
2577
  if r4
2684
2578
  s5, i5 = [], index
2685
2579
  loop do
2686
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2580
+ if has_terminal?('\G[\\d]', true, index)
2687
2581
  r6 = true
2688
2582
  @index += 1
2689
2583
  else
2690
- terminal_parse_failure('[\\d]')
2691
2584
  r6 = nil
2692
2585
  end
2693
2586
  if r6
@@ -2703,30 +2596,26 @@ module Timing
2703
2596
  @index = i5
2704
2597
  r5 = nil
2705
2598
  else
2706
- if s5.size < 2
2707
- @terminal_failures.pop
2708
- end
2709
2599
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2710
2600
  end
2711
2601
  s1 << r5
2712
2602
  if r5
2713
2603
  i8, s8 = index, []
2714
- if (match_len = has_terminal?(':', false, index))
2715
- r9 = true
2716
- @index += match_len
2604
+ if has_terminal?(':', false, index)
2605
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
2606
+ @index += 1
2717
2607
  else
2718
- terminal_parse_failure('\':\'')
2608
+ terminal_parse_failure(':')
2719
2609
  r9 = nil
2720
2610
  end
2721
2611
  s8 << r9
2722
2612
  if r9
2723
2613
  s10, i10 = [], index
2724
2614
  loop do
2725
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2615
+ if has_terminal?('\G[\\d]', true, index)
2726
2616
  r11 = true
2727
2617
  @index += 1
2728
2618
  else
2729
- terminal_parse_failure('[\\d]')
2730
2619
  r11 = nil
2731
2620
  end
2732
2621
  if r11
@@ -2742,9 +2631,6 @@ module Timing
2742
2631
  @index = i10
2743
2632
  r10 = nil
2744
2633
  else
2745
- if s10.size < 2
2746
- @terminal_failures.pop
2747
- end
2748
2634
  r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
2749
2635
  end
2750
2636
  s8 << r10
@@ -2773,29 +2659,26 @@ module Timing
2773
2659
  r1 = nil
2774
2660
  end
2775
2661
  if r1
2776
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2777
2662
  r0 = r1
2778
2663
  else
2779
- if (match_len = has_terminal?('beginning', false, index))
2780
- r12 = instantiate_node(HourMinuteSecond,input, index...(index + match_len))
2781
- @index += match_len
2664
+ if has_terminal?('beginning', false, index)
2665
+ r12 = instantiate_node(HourMinuteSecond,input, index...(index + 9))
2666
+ @index += 9
2782
2667
  else
2783
- terminal_parse_failure('\'beginning\'')
2668
+ terminal_parse_failure('beginning')
2784
2669
  r12 = nil
2785
2670
  end
2786
2671
  if r12
2787
- r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
2788
2672
  r0 = r12
2789
2673
  else
2790
- if (match_len = has_terminal?('end', false, index))
2791
- r13 = instantiate_node(HourMinuteSecond,input, index...(index + match_len))
2792
- @index += match_len
2674
+ if has_terminal?('end', false, index)
2675
+ r13 = instantiate_node(HourMinuteSecond,input, index...(index + 3))
2676
+ @index += 3
2793
2677
  else
2794
- terminal_parse_failure('\'end\'')
2678
+ terminal_parse_failure('end')
2795
2679
  r13 = nil
2796
2680
  end
2797
2681
  if r13
2798
- r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true
2799
2682
  r0 = r13
2800
2683
  else
2801
2684
  @index = i0
@@ -2814,7 +2697,7 @@ module Timing
2814
2697
  if node_cache[:integer].has_key?(index)
2815
2698
  cached = node_cache[:integer][index]
2816
2699
  if cached
2817
- node_cache[:integer][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2700
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2818
2701
  @index = cached.interval.end
2819
2702
  end
2820
2703
  return cached
@@ -2822,11 +2705,10 @@ module Timing
2822
2705
 
2823
2706
  s0, i0 = [], index
2824
2707
  loop do
2825
- if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
2708
+ if has_terminal?('\G[\\d]', true, index)
2826
2709
  r1 = true
2827
2710
  @index += 1
2828
2711
  else
2829
- terminal_parse_failure('[\\d]')
2830
2712
  r1 = nil
2831
2713
  end
2832
2714
  if r1
@@ -2852,17 +2734,16 @@ module Timing
2852
2734
  if node_cache[:space].has_key?(index)
2853
2735
  cached = node_cache[:space][index]
2854
2736
  if cached
2855
- node_cache[:space][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2737
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2856
2738
  @index = cached.interval.end
2857
2739
  end
2858
2740
  return cached
2859
2741
  end
2860
2742
 
2861
- if has_terminal?(@regexps[gr = '\A[\\s\\t\\n]'] ||= Regexp.new(gr), :regexp, index)
2743
+ if has_terminal?('\G[\\s\\t\\n]', true, index)
2862
2744
  r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
2863
2745
  @index += 1
2864
2746
  else
2865
- terminal_parse_failure('[\\s\\t\\n]')
2866
2747
  r0 = nil
2867
2748
  end
2868
2749