biodiversity19 3.1.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,7 +56,7 @@ module ScientificNameDirty
56
56
  if node_cache[:root].has_key?(index)
57
57
  cached = node_cache[:root][index]
58
58
  if cached
59
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
59
+ node_cache[:root][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
60
60
  @index = cached.interval.end
61
61
  end
62
62
  return cached
@@ -120,7 +120,7 @@ module ScientificNameDirty
120
120
  if node_cache[:scientific_name_5].has_key?(index)
121
121
  cached = node_cache[:scientific_name_5][index]
122
122
  if cached
123
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
123
+ node_cache[:scientific_name_5][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
124
124
  @index = cached.interval.end
125
125
  end
126
126
  return cached
@@ -143,10 +143,12 @@ module ScientificNameDirty
143
143
  r1 = nil
144
144
  end
145
145
  if r1
146
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
146
147
  r0 = r1
147
148
  else
148
149
  r4 = super
149
150
  if r4
151
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
150
152
  r0 = r4
151
153
  else
152
154
  @index = i0
@@ -236,7 +238,7 @@ module ScientificNameDirty
236
238
  if node_cache[:infraspecies].has_key?(index)
237
239
  cached = node_cache[:infraspecies][index]
238
240
  if cached
239
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
241
+ node_cache[:infraspecies][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
240
242
  @index = cached.interval.end
241
243
  end
242
244
  return cached
@@ -263,6 +265,7 @@ module ScientificNameDirty
263
265
  r1 = nil
264
266
  end
265
267
  if r1
268
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
266
269
  r0 = r1
267
270
  else
268
271
  i5, s5 = index, []
@@ -293,10 +296,12 @@ module ScientificNameDirty
293
296
  r5 = nil
294
297
  end
295
298
  if r5
299
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
296
300
  r0 = r5
297
301
  else
298
302
  r11 = super
299
303
  if r11
304
+ r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
300
305
  r0 = r11
301
306
  else
302
307
  @index = i0
@@ -347,7 +352,7 @@ module ScientificNameDirty
347
352
  if node_cache[:species].has_key?(index)
348
353
  cached = node_cache[:species][index]
349
354
  if cached
350
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
355
+ node_cache[:species][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
351
356
  @index = cached.interval.end
352
357
  end
353
358
  return cached
@@ -374,10 +379,12 @@ module ScientificNameDirty
374
379
  r1 = nil
375
380
  end
376
381
  if r1
382
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
377
383
  r0 = r1
378
384
  else
379
385
  r5 = super
380
386
  if r5
387
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
381
388
  r0 = r5
382
389
  else
383
390
  @index = i0
@@ -418,17 +425,18 @@ module ScientificNameDirty
418
425
  if node_cache[:latin_word].has_key?(index)
419
426
  cached = node_cache[:latin_word][index]
420
427
  if cached
421
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
428
+ node_cache[:latin_word][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
422
429
  @index = cached.interval.end
423
430
  end
424
431
  return cached
425
432
  end
426
433
 
427
434
  i0, s0 = index, []
428
- if has_terminal?('\G[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]', true, index)
435
+ if has_terminal?(@regexps[gr = '\A[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]'] ||= Regexp.new(gr), :regexp, index)
429
436
  r1 = true
430
437
  @index += 1
431
438
  else
439
+ terminal_parse_failure('[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]')
432
440
  r1 = nil
433
441
  end
434
442
  s0 << r1
@@ -469,7 +477,7 @@ module ScientificNameDirty
469
477
  if node_cache[:valid_name_letters].has_key?(index)
470
478
  cached = node_cache[:valid_name_letters][index]
471
479
  if cached
472
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
480
+ node_cache[:valid_name_letters][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
473
481
  @index = cached.interval.end
474
482
  end
475
483
  return cached
@@ -477,10 +485,11 @@ module ScientificNameDirty
477
485
 
478
486
  s0, i0 = [], index
479
487
  loop do
480
- if has_terminal?('\G[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]', true, index)
488
+ if has_terminal?(@regexps[gr = '\A[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]'] ||= Regexp.new(gr), :regexp, index)
481
489
  r1 = true
482
490
  @index += 1
483
491
  else
492
+ terminal_parse_failure('[a-z\\-æœàâåãäáçčëéèíìïňññóòôøõöúùüŕřŗššşž]')
484
493
  r1 = nil
485
494
  end
486
495
  if r1
@@ -514,7 +523,7 @@ module ScientificNameDirty
514
523
  if node_cache[:right_paren].has_key?(index)
515
524
  cached = node_cache[:right_paren][index]
516
525
  if cached
517
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
526
+ node_cache[:right_paren][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
518
527
  @index = cached.interval.end
519
528
  end
520
529
  return cached
@@ -522,9 +531,9 @@ module ScientificNameDirty
522
531
 
523
532
  i0 = index
524
533
  i1, s1 = index, []
525
- if has_terminal?(")", false, index)
526
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
527
- @index += 1
534
+ if (match_len = has_terminal?(")", false, index))
535
+ r2 = true
536
+ @index += match_len
528
537
  else
529
538
  terminal_parse_failure(")")
530
539
  r2 = nil
@@ -534,9 +543,9 @@ module ScientificNameDirty
534
543
  r3 = _nt_space
535
544
  s1 << r3
536
545
  if r3
537
- if has_terminal?(")", false, index)
538
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
539
- @index += 1
546
+ if (match_len = has_terminal?(")", false, index))
547
+ r4 = true
548
+ @index += match_len
540
549
  else
541
550
  terminal_parse_failure(")")
542
551
  r4 = nil
@@ -552,10 +561,12 @@ module ScientificNameDirty
552
561
  r1 = nil
553
562
  end
554
563
  if r1
564
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
555
565
  r0 = r1
556
566
  else
557
567
  r5 = super
558
568
  if r5
569
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
559
570
  r0 = r5
560
571
  else
561
572
  @index = i0
@@ -580,7 +591,7 @@ module ScientificNameDirty
580
591
  if node_cache[:left_paren].has_key?(index)
581
592
  cached = node_cache[:left_paren][index]
582
593
  if cached
583
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
594
+ node_cache[:left_paren][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
584
595
  @index = cached.interval.end
585
596
  end
586
597
  return cached
@@ -588,9 +599,9 @@ module ScientificNameDirty
588
599
 
589
600
  i0 = index
590
601
  i1, s1 = index, []
591
- if has_terminal?("(", false, index)
592
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
593
- @index += 1
602
+ if (match_len = has_terminal?("(", false, index))
603
+ r2 = true
604
+ @index += match_len
594
605
  else
595
606
  terminal_parse_failure("(")
596
607
  r2 = nil
@@ -600,9 +611,9 @@ module ScientificNameDirty
600
611
  r3 = _nt_space
601
612
  s1 << r3
602
613
  if r3
603
- if has_terminal?("(", false, index)
604
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
605
- @index += 1
614
+ if (match_len = has_terminal?("(", false, index))
615
+ r4 = true
616
+ @index += match_len
606
617
  else
607
618
  terminal_parse_failure("(")
608
619
  r4 = nil
@@ -618,10 +629,12 @@ module ScientificNameDirty
618
629
  r1 = nil
619
630
  end
620
631
  if r1
632
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
621
633
  r0 = r1
622
634
  else
623
635
  r5 = super
624
636
  if r5
637
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
625
638
  r0 = r5
626
639
  else
627
640
  @index = i0
@@ -695,7 +708,7 @@ module ScientificNameDirty
695
708
  if node_cache[:year].has_key?(index)
696
709
  cached = node_cache[:year][index]
697
710
  if cached
698
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
711
+ node_cache[:year][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
699
712
  @index = cached.interval.end
700
713
  end
701
714
  return cached
@@ -722,6 +735,7 @@ module ScientificNameDirty
722
735
  r1 = nil
723
736
  end
724
737
  if r1
738
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
725
739
  r0 = r1
726
740
  else
727
741
  i5, s5 = index, []
@@ -744,22 +758,27 @@ module ScientificNameDirty
744
758
  r5 = nil
745
759
  end
746
760
  if r5
761
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
747
762
  r0 = r5
748
763
  else
749
764
  r9 = _nt_year_number_with_punctuation
750
765
  if r9
766
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
751
767
  r0 = r9
752
768
  else
753
769
  r10 = _nt_approximate_year
754
770
  if r10
771
+ r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
755
772
  r0 = r10
756
773
  else
757
774
  r11 = _nt_double_year
758
775
  if r11
776
+ r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
759
777
  r0 = r11
760
778
  else
761
779
  r12 = super
762
780
  if r12
781
+ r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
763
782
  r0 = r12
764
783
  else
765
784
  @index = i0
@@ -810,16 +829,16 @@ module ScientificNameDirty
810
829
  if node_cache[:approximate_year].has_key?(index)
811
830
  cached = node_cache[:approximate_year][index]
812
831
  if cached
813
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
832
+ node_cache[:approximate_year][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
814
833
  @index = cached.interval.end
815
834
  end
816
835
  return cached
817
836
  end
818
837
 
819
838
  i0, s0 = index, []
820
- if has_terminal?("[", false, index)
821
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
822
- @index += 1
839
+ if (match_len = has_terminal?("[", false, index))
840
+ r1 = true
841
+ @index += match_len
823
842
  else
824
843
  terminal_parse_failure("[")
825
844
  r1 = nil
@@ -837,9 +856,9 @@ module ScientificNameDirty
837
856
  if r4
838
857
  s5, i5 = [], index
839
858
  loop do
840
- if has_terminal?("]", false, index)
841
- r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
842
- @index += 1
859
+ if (match_len = has_terminal?("]", false, index))
860
+ r6 = true
861
+ @index += match_len
843
862
  else
844
863
  terminal_parse_failure("]")
845
864
  r6 = nil
@@ -901,7 +920,7 @@ module ScientificNameDirty
901
920
  if node_cache[:double_year].has_key?(index)
902
921
  cached = node_cache[:double_year][index]
903
922
  if cached
904
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
923
+ node_cache[:double_year][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
905
924
  @index = cached.interval.end
906
925
  end
907
926
  return cached
@@ -911,9 +930,9 @@ module ScientificNameDirty
911
930
  r1 = _nt_year_number
912
931
  s0 << r1
913
932
  if r1
914
- if has_terminal?("-", false, index)
915
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
916
- @index += 1
933
+ if (match_len = has_terminal?("-", false, index))
934
+ r2 = true
935
+ @index += match_len
917
936
  else
918
937
  terminal_parse_failure("-")
919
938
  r2 = nil
@@ -922,10 +941,11 @@ module ScientificNameDirty
922
941
  if r2
923
942
  s3, i3 = [], index
924
943
  loop do
925
- if has_terminal?('\G[0-9]', true, index)
944
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
926
945
  r4 = true
927
946
  @index += 1
928
947
  else
948
+ terminal_parse_failure('[0-9]')
929
949
  r4 = nil
930
950
  end
931
951
  if r4
@@ -942,10 +962,11 @@ module ScientificNameDirty
942
962
  end
943
963
  s0 << r3
944
964
  if r3
945
- if has_terminal?('\G[A-Za-z]', true, index)
965
+ if has_terminal?(@regexps[gr = '\A[A-Za-z]'] ||= Regexp.new(gr), :regexp, index)
946
966
  r6 = true
947
967
  @index += 1
948
968
  else
969
+ terminal_parse_failure('[A-Za-z]')
949
970
  r6 = nil
950
971
  end
951
972
  if r6
@@ -955,10 +976,11 @@ module ScientificNameDirty
955
976
  end
956
977
  s0 << r5
957
978
  if r5
958
- if has_terminal?('\G[\\?]', true, index)
979
+ if has_terminal?(@regexps[gr = '\A[\\?]'] ||= Regexp.new(gr), :regexp, index)
959
980
  r8 = true
960
981
  @index += 1
961
982
  else
983
+ terminal_parse_failure('[\\?]')
962
984
  r8 = nil
963
985
  end
964
986
  if r8
@@ -1011,7 +1033,7 @@ module ScientificNameDirty
1011
1033
  if node_cache[:year_number_with_punctuation].has_key?(index)
1012
1034
  cached = node_cache[:year_number_with_punctuation][index]
1013
1035
  if cached
1014
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1036
+ node_cache[:year_number_with_punctuation][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1015
1037
  @index = cached.interval.end
1016
1038
  end
1017
1039
  return cached
@@ -1021,9 +1043,9 @@ module ScientificNameDirty
1021
1043
  r1 = _nt_year_number
1022
1044
  s0 << r1
1023
1045
  if r1
1024
- if has_terminal?(".", false, index)
1025
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
1026
- @index += 1
1046
+ if (match_len = has_terminal?(".", false, index))
1047
+ r2 = true
1048
+ @index += match_len
1027
1049
  else
1028
1050
  terminal_parse_failure(".")
1029
1051
  r2 = nil
@@ -1061,16 +1083,16 @@ module ScientificNameDirty
1061
1083
  if node_cache[:page_number].has_key?(index)
1062
1084
  cached = node_cache[:page_number][index]
1063
1085
  if cached
1064
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1086
+ node_cache[:page_number][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1065
1087
  @index = cached.interval.end
1066
1088
  end
1067
1089
  return cached
1068
1090
  end
1069
1091
 
1070
1092
  i0, s0 = index, []
1071
- if has_terminal?(":", false, index)
1072
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1073
- @index += 1
1093
+ if (match_len = has_terminal?(":", false, index))
1094
+ r1 = true
1095
+ @index += match_len
1074
1096
  else
1075
1097
  terminal_parse_failure(":")
1076
1098
  r1 = nil
@@ -1082,10 +1104,11 @@ module ScientificNameDirty
1082
1104
  if r2
1083
1105
  s3, i3 = [], index
1084
1106
  loop do
1085
- if has_terminal?('\G[\\d]', true, index)
1107
+ if has_terminal?(@regexps[gr = '\A[\\d]'] ||= Regexp.new(gr), :regexp, index)
1086
1108
  r4 = true
1087
1109
  @index += 1
1088
1110
  else
1111
+ terminal_parse_failure('[\\d]')
1089
1112
  r4 = nil
1090
1113
  end
1091
1114
  if r4
@@ -1122,15 +1145,15 @@ module ScientificNameDirty
1122
1145
  if node_cache[:string_authorship_inconsistencies].has_key?(index)
1123
1146
  cached = node_cache[:string_authorship_inconsistencies][index]
1124
1147
  if cached
1125
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1148
+ node_cache[:string_authorship_inconsistencies][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1126
1149
  @index = cached.interval.end
1127
1150
  end
1128
1151
  return cached
1129
1152
  end
1130
1153
 
1131
- if has_terminal?("corrig.", false, index)
1132
- r0 = instantiate_node(SyntaxNode,input, index...(index + 7))
1133
- @index += 7
1154
+ if (match_len = has_terminal?("corrig.", false, index))
1155
+ r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1156
+ @index += match_len
1134
1157
  else
1135
1158
  terminal_parse_failure("corrig.")
1136
1159
  r0 = nil
@@ -1164,7 +1187,7 @@ module ScientificNameDirty
1164
1187
  if node_cache[:garbage].has_key?(index)
1165
1188
  cached = node_cache[:garbage][index]
1166
1189
  if cached
1167
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1190
+ node_cache[:garbage][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1168
1191
  @index = cached.interval.end
1169
1192
  end
1170
1193
  return cached
@@ -1175,10 +1198,11 @@ module ScientificNameDirty
1175
1198
  r2 = _nt_space
1176
1199
  s1 << r2
1177
1200
  if r2
1178
- if has_terminal?('\G["\',]', true, index)
1201
+ if has_terminal?(@regexps[gr = '\A["\',]'] ||= Regexp.new(gr), :regexp, index)
1179
1202
  r3 = true
1180
1203
  @index += 1
1181
1204
  else
1205
+ terminal_parse_failure('["\',]')
1182
1206
  r3 = nil
1183
1207
  end
1184
1208
  s1 << r3
@@ -1188,10 +1212,11 @@ module ScientificNameDirty
1188
1212
  if r4
1189
1213
  s5, i5 = [], index
1190
1214
  loop do
1191
- if has_terminal?('\G[^щ]', true, index)
1215
+ if has_terminal?(@regexps[gr = '\A[^щ]'] ||= Regexp.new(gr), :regexp, index)
1192
1216
  r6 = true
1193
1217
  @index += 1
1194
1218
  else
1219
+ terminal_parse_failure('[^щ]')
1195
1220
  r6 = nil
1196
1221
  end
1197
1222
  if r6
@@ -1213,6 +1238,7 @@ module ScientificNameDirty
1213
1238
  r1 = nil
1214
1239
  end
1215
1240
  if r1
1241
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1216
1242
  r0 = r1
1217
1243
  else
1218
1244
  i7, s7 = index, []
@@ -1221,10 +1247,11 @@ module ScientificNameDirty
1221
1247
  if r8
1222
1248
  s9, i9 = [], index
1223
1249
  loop do
1224
- if has_terminal?('\G[^ш]', true, index)
1250
+ if has_terminal?(@regexps[gr = '\A[^ш]'] ||= Regexp.new(gr), :regexp, index)
1225
1251
  r10 = true
1226
1252
  @index += 1
1227
1253
  else
1254
+ terminal_parse_failure('[^ш]')
1228
1255
  r10 = nil
1229
1256
  end
1230
1257
  if r10
@@ -1249,6 +1276,7 @@ module ScientificNameDirty
1249
1276
  r7 = nil
1250
1277
  end
1251
1278
  if r7
1279
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
1252
1280
  r0 = r7
1253
1281
  else
1254
1282
  @index = i0