dimus-biodiversity 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/bin/nnparse +1 -1
- data/conf/environment.rb +1 -0
- data/lib/biodiversity/parser.rb +1 -0
- data/lib/biodiversity/parser/scientific_name.rb +158 -157
- data/spec/parser/scientific_name.spec.rb +1 -0
- metadata +2 -10
data/Rakefile
CHANGED
data/bin/nnparse
CHANGED
@@ -4,7 +4,7 @@ gem 'dimus-biodiversity' rescue gem 'biodiversity'
|
|
4
4
|
|
5
5
|
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/../lib"))
|
6
6
|
require 'biodiversity'
|
7
|
-
require 'json
|
7
|
+
require 'json'
|
8
8
|
|
9
9
|
if ARGV.empty?
|
10
10
|
puts "Usage:\n\nnnparse file_with_scientific_names [output_file]\n\ndefault output_file is parsed.json\n\n"
|
data/conf/environment.rb
CHANGED
data/lib/biodiversity/parser.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
module ScientificName
|
2
3
|
include Treetop::Runtime
|
3
4
|
|
@@ -109,7 +110,7 @@ module ScientificName
|
|
109
110
|
end
|
110
111
|
end
|
111
112
|
if s1.last
|
112
|
-
r1 = (SyntaxNode
|
113
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
113
114
|
r1.extend(CompositeScientificName0)
|
114
115
|
r1.extend(CompositeScientificName1)
|
115
116
|
else
|
@@ -133,7 +134,7 @@ module ScientificName
|
|
133
134
|
s8 << r12
|
134
135
|
if r12
|
135
136
|
if input.index(Regexp.new('[\\?]'), index) == index
|
136
|
-
r14 = (SyntaxNode
|
137
|
+
r14 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
137
138
|
@index += 1
|
138
139
|
else
|
139
140
|
r14 = nil
|
@@ -141,7 +142,7 @@ module ScientificName
|
|
141
142
|
if r14
|
142
143
|
r13 = r14
|
143
144
|
else
|
144
|
-
r13 = SyntaxNode
|
145
|
+
r13 = instantiate_node(SyntaxNode,input, index...index)
|
145
146
|
end
|
146
147
|
s8 << r13
|
147
148
|
end
|
@@ -149,7 +150,7 @@ module ScientificName
|
|
149
150
|
end
|
150
151
|
end
|
151
152
|
if s8.last
|
152
|
-
r8 = (SyntaxNode
|
153
|
+
r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
|
153
154
|
r8.extend(CompositeScientificName2)
|
154
155
|
r8.extend(CompositeScientificName3)
|
155
156
|
else
|
@@ -327,7 +328,7 @@ module ScientificName
|
|
327
328
|
end
|
328
329
|
end
|
329
330
|
if s2.last
|
330
|
-
r2 = (SyntaxNode
|
331
|
+
r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
|
331
332
|
r2.extend(ScientificName0)
|
332
333
|
r2.extend(ScientificName1)
|
333
334
|
else
|
@@ -357,7 +358,7 @@ module ScientificName
|
|
357
358
|
end
|
358
359
|
end
|
359
360
|
if s10.last
|
360
|
-
r10 = (SyntaxNode
|
361
|
+
r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
|
361
362
|
r10.extend(ScientificName2)
|
362
363
|
r10.extend(ScientificName3)
|
363
364
|
else
|
@@ -387,7 +388,7 @@ module ScientificName
|
|
387
388
|
end
|
388
389
|
end
|
389
390
|
if s16.last
|
390
|
-
r16 = (SyntaxNode
|
391
|
+
r16 = instantiate_node(SyntaxNode,input, i16...index, s16)
|
391
392
|
r16.extend(ScientificName4)
|
392
393
|
r16.extend(ScientificName5)
|
393
394
|
else
|
@@ -458,7 +459,7 @@ module ScientificName
|
|
458
459
|
end
|
459
460
|
end
|
460
461
|
if s1.last
|
461
|
-
r1 = (SyntaxNode
|
462
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
462
463
|
r1.extend(StatusPart0)
|
463
464
|
r1.extend(StatusPart1)
|
464
465
|
else
|
@@ -512,7 +513,7 @@ module ScientificName
|
|
512
513
|
s1 << r2
|
513
514
|
if r2
|
514
515
|
if input.index(Regexp.new('[\\.]'), index) == index
|
515
|
-
r3 = (SyntaxNode
|
516
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
516
517
|
@index += 1
|
517
518
|
else
|
518
519
|
r3 = nil
|
@@ -520,7 +521,7 @@ module ScientificName
|
|
520
521
|
s1 << r3
|
521
522
|
end
|
522
523
|
if s1.last
|
523
|
-
r1 = (SyntaxNode
|
524
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
524
525
|
r1.extend(StatusWord0)
|
525
526
|
r1.extend(StatusWord1)
|
526
527
|
else
|
@@ -657,7 +658,7 @@ module ScientificName
|
|
657
658
|
end
|
658
659
|
end
|
659
660
|
if s1.last
|
660
|
-
r1 = (SyntaxNode
|
661
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
661
662
|
r1.extend(NamePartAuthorsMix0)
|
662
663
|
r1.extend(NamePartAuthorsMix1)
|
663
664
|
else
|
@@ -687,7 +688,7 @@ module ScientificName
|
|
687
688
|
end
|
688
689
|
end
|
689
690
|
if s9.last
|
690
|
-
r9 = (SyntaxNode
|
691
|
+
r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
|
691
692
|
r9.extend(NamePartAuthorsMix2)
|
692
693
|
r9.extend(NamePartAuthorsMix3)
|
693
694
|
else
|
@@ -803,7 +804,7 @@ module ScientificName
|
|
803
804
|
end
|
804
805
|
end
|
805
806
|
if s1.last
|
806
|
-
r1 = (SyntaxNode
|
807
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
807
808
|
r1.extend(AuthorsPart0)
|
808
809
|
r1.extend(AuthorsPart1)
|
809
810
|
else
|
@@ -821,7 +822,7 @@ module ScientificName
|
|
821
822
|
s5 << r7
|
822
823
|
if r7
|
823
824
|
if input.index("ex", index) == index
|
824
|
-
r8 = (SyntaxNode
|
825
|
+
r8 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
825
826
|
@index += 2
|
826
827
|
else
|
827
828
|
terminal_parse_failure("ex")
|
@@ -839,7 +840,7 @@ module ScientificName
|
|
839
840
|
end
|
840
841
|
end
|
841
842
|
if s5.last
|
842
|
-
r5 = (SyntaxNode
|
843
|
+
r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
|
843
844
|
r5.extend(AuthorsPart2)
|
844
845
|
r5.extend(AuthorsPart3)
|
845
846
|
else
|
@@ -861,7 +862,7 @@ module ScientificName
|
|
861
862
|
end
|
862
863
|
end
|
863
864
|
if s11.last
|
864
|
-
r11 = (SyntaxNode
|
865
|
+
r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
|
865
866
|
r11.extend(AuthorsPart4)
|
866
867
|
r11.extend(AuthorsPart5)
|
867
868
|
else
|
@@ -941,7 +942,7 @@ module ScientificName
|
|
941
942
|
end
|
942
943
|
end
|
943
944
|
if s1.last
|
944
|
-
r1 = (SyntaxNode
|
945
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
945
946
|
r1.extend(SimpleAuthorsPart0)
|
946
947
|
r1.extend(SimpleAuthorsPart1)
|
947
948
|
else
|
@@ -1004,7 +1005,7 @@ module ScientificName
|
|
1004
1005
|
|
1005
1006
|
i0, s0 = index, []
|
1006
1007
|
if input.index("(", index) == index
|
1007
|
-
r1 = (SyntaxNode
|
1008
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1008
1009
|
@index += 1
|
1009
1010
|
else
|
1010
1011
|
terminal_parse_failure("(")
|
@@ -1022,7 +1023,7 @@ module ScientificName
|
|
1022
1023
|
s0 << r4
|
1023
1024
|
if r4
|
1024
1025
|
if input.index(")", index) == index
|
1025
|
-
r5 = (SyntaxNode
|
1026
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1026
1027
|
@index += 1
|
1027
1028
|
else
|
1028
1029
|
terminal_parse_failure(")")
|
@@ -1034,7 +1035,7 @@ module ScientificName
|
|
1034
1035
|
end
|
1035
1036
|
end
|
1036
1037
|
if s0.last
|
1037
|
-
r0 = (SyntaxNode
|
1038
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
1038
1039
|
r0.extend(OriginalAuthorsNamesFull0)
|
1039
1040
|
r0.extend(OriginalAuthorsNamesFull1)
|
1040
1041
|
else
|
@@ -1082,7 +1083,7 @@ module ScientificName
|
|
1082
1083
|
|
1083
1084
|
i0, s0 = index, []
|
1084
1085
|
if input.index("(", index) == index
|
1085
|
-
r1 = (SyntaxNode
|
1086
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1086
1087
|
@index += 1
|
1087
1088
|
else
|
1088
1089
|
terminal_parse_failure("(")
|
@@ -1100,7 +1101,7 @@ module ScientificName
|
|
1100
1101
|
s0 << r4
|
1101
1102
|
if r4
|
1102
1103
|
if input.index(")", index) == index
|
1103
|
-
r5 = (SyntaxNode
|
1104
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1104
1105
|
@index += 1
|
1105
1106
|
else
|
1106
1107
|
terminal_parse_failure(")")
|
@@ -1112,7 +1113,7 @@ module ScientificName
|
|
1112
1113
|
end
|
1113
1114
|
end
|
1114
1115
|
if s0.last
|
1115
|
-
r0 = (SyntaxNode
|
1116
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
1116
1117
|
r0.extend(OriginalAuthorsRevisedName0)
|
1117
1118
|
r0.extend(OriginalAuthorsRevisedName1)
|
1118
1119
|
else
|
@@ -1168,7 +1169,7 @@ module ScientificName
|
|
1168
1169
|
s0 << r2
|
1169
1170
|
if r2
|
1170
1171
|
if input.index("ex", index) == index
|
1171
|
-
r3 = (SyntaxNode
|
1172
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1172
1173
|
@index += 2
|
1173
1174
|
else
|
1174
1175
|
terminal_parse_failure("ex")
|
@@ -1186,7 +1187,7 @@ module ScientificName
|
|
1186
1187
|
end
|
1187
1188
|
end
|
1188
1189
|
if s0.last
|
1189
|
-
r0 = (SyntaxNode
|
1190
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
1190
1191
|
r0.extend(AuthorsRevisedName0)
|
1191
1192
|
r0.extend(AuthorsRevisedName1)
|
1192
1193
|
else
|
@@ -1243,7 +1244,7 @@ module ScientificName
|
|
1243
1244
|
s1 << r3
|
1244
1245
|
if r3
|
1245
1246
|
if input.index(Regexp.new('[,]'), index) == index
|
1246
|
-
r5 = (SyntaxNode
|
1247
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1247
1248
|
@index += 1
|
1248
1249
|
else
|
1249
1250
|
r5 = nil
|
@@ -1251,7 +1252,7 @@ module ScientificName
|
|
1251
1252
|
if r5
|
1252
1253
|
r4 = r5
|
1253
1254
|
else
|
1254
|
-
r4 = SyntaxNode
|
1255
|
+
r4 = instantiate_node(SyntaxNode,input, index...index)
|
1255
1256
|
end
|
1256
1257
|
s1 << r4
|
1257
1258
|
if r4
|
@@ -1265,7 +1266,7 @@ module ScientificName
|
|
1265
1266
|
end
|
1266
1267
|
end
|
1267
1268
|
if s1.last
|
1268
|
-
r1 = (SyntaxNode
|
1269
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
1269
1270
|
r1.extend(AuthorsNamesFull0)
|
1270
1271
|
r1.extend(AuthorsNamesFull1)
|
1271
1272
|
else
|
@@ -1350,7 +1351,7 @@ module ScientificName
|
|
1350
1351
|
end
|
1351
1352
|
end
|
1352
1353
|
if s1.last
|
1353
|
-
r1 = (SyntaxNode
|
1354
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
1354
1355
|
r1.extend(AuthorsNames0)
|
1355
1356
|
r1.extend(AuthorsNames1)
|
1356
1357
|
else
|
@@ -1396,7 +1397,7 @@ module ScientificName
|
|
1396
1397
|
|
1397
1398
|
i0 = index
|
1398
1399
|
if input.index("&", index) == index
|
1399
|
-
r1 = (SyntaxNode
|
1400
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1400
1401
|
@index += 1
|
1401
1402
|
else
|
1402
1403
|
terminal_parse_failure("&")
|
@@ -1407,7 +1408,7 @@ module ScientificName
|
|
1407
1408
|
r0.extend(AuthorNameSeparator0)
|
1408
1409
|
else
|
1409
1410
|
if input.index(",", index) == index
|
1410
|
-
r2 = (SyntaxNode
|
1411
|
+
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1411
1412
|
@index += 1
|
1412
1413
|
else
|
1413
1414
|
terminal_parse_failure(",")
|
@@ -1488,7 +1489,7 @@ module ScientificName
|
|
1488
1489
|
end
|
1489
1490
|
end
|
1490
1491
|
if s1.last
|
1491
|
-
r1 = (SyntaxNode
|
1492
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
1492
1493
|
r1.extend(AuthorName0)
|
1493
1494
|
r1.extend(AuthorName1)
|
1494
1495
|
else
|
@@ -1543,7 +1544,7 @@ module ScientificName
|
|
1543
1544
|
|
1544
1545
|
i0 = index
|
1545
1546
|
if input.index("A S. Xu", index) == index
|
1546
|
-
r1 = (SyntaxNode
|
1547
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
|
1547
1548
|
@index += 7
|
1548
1549
|
else
|
1549
1550
|
terminal_parse_failure("A S. Xu")
|
@@ -1554,7 +1555,7 @@ module ScientificName
|
|
1554
1555
|
else
|
1555
1556
|
i2 = index
|
1556
1557
|
if input.index("anon.", index) == index
|
1557
|
-
r3 = (SyntaxNode
|
1558
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
1558
1559
|
@index += 5
|
1559
1560
|
else
|
1560
1561
|
terminal_parse_failure("anon.")
|
@@ -1565,7 +1566,7 @@ module ScientificName
|
|
1565
1566
|
r2.extend(AuthorWord0)
|
1566
1567
|
else
|
1567
1568
|
if input.index("f.", index) == index
|
1568
|
-
r4 = (SyntaxNode
|
1569
|
+
r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1569
1570
|
@index += 2
|
1570
1571
|
else
|
1571
1572
|
terminal_parse_failure("f.")
|
@@ -1576,7 +1577,7 @@ module ScientificName
|
|
1576
1577
|
r2.extend(AuthorWord0)
|
1577
1578
|
else
|
1578
1579
|
if input.index("bis", index) == index
|
1579
|
-
r5 = (SyntaxNode
|
1580
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
1580
1581
|
@index += 3
|
1581
1582
|
else
|
1582
1583
|
terminal_parse_failure("bis")
|
@@ -1587,7 +1588,7 @@ module ScientificName
|
|
1587
1588
|
r2.extend(AuthorWord0)
|
1588
1589
|
else
|
1589
1590
|
if input.index("arg.", index) == index
|
1590
|
-
r6 = (SyntaxNode
|
1591
|
+
r6 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
1591
1592
|
@index += 4
|
1592
1593
|
else
|
1593
1594
|
terminal_parse_failure("arg.")
|
@@ -1598,7 +1599,7 @@ module ScientificName
|
|
1598
1599
|
r2.extend(AuthorWord0)
|
1599
1600
|
else
|
1600
1601
|
if input.index("da", index) == index
|
1601
|
-
r7 = (SyntaxNode
|
1602
|
+
r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1602
1603
|
@index += 2
|
1603
1604
|
else
|
1604
1605
|
terminal_parse_failure("da")
|
@@ -1609,7 +1610,7 @@ module ScientificName
|
|
1609
1610
|
r2.extend(AuthorWord0)
|
1610
1611
|
else
|
1611
1612
|
if input.index("der", index) == index
|
1612
|
-
r8 = (SyntaxNode
|
1613
|
+
r8 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
1613
1614
|
@index += 3
|
1614
1615
|
else
|
1615
1616
|
terminal_parse_failure("der")
|
@@ -1620,7 +1621,7 @@ module ScientificName
|
|
1620
1621
|
r2.extend(AuthorWord0)
|
1621
1622
|
else
|
1622
1623
|
if input.index("den", index) == index
|
1623
|
-
r9 = (SyntaxNode
|
1624
|
+
r9 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
1624
1625
|
@index += 3
|
1625
1626
|
else
|
1626
1627
|
terminal_parse_failure("den")
|
@@ -1631,7 +1632,7 @@ module ScientificName
|
|
1631
1632
|
r2.extend(AuthorWord0)
|
1632
1633
|
else
|
1633
1634
|
if input.index("de", index) == index
|
1634
|
-
r10 = (SyntaxNode
|
1635
|
+
r10 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1635
1636
|
@index += 2
|
1636
1637
|
else
|
1637
1638
|
terminal_parse_failure("de")
|
@@ -1642,7 +1643,7 @@ module ScientificName
|
|
1642
1643
|
r2.extend(AuthorWord0)
|
1643
1644
|
else
|
1644
1645
|
if input.index("du", index) == index
|
1645
|
-
r11 = (SyntaxNode
|
1646
|
+
r11 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1646
1647
|
@index += 2
|
1647
1648
|
else
|
1648
1649
|
terminal_parse_failure("du")
|
@@ -1653,7 +1654,7 @@ module ScientificName
|
|
1653
1654
|
r2.extend(AuthorWord0)
|
1654
1655
|
else
|
1655
1656
|
if input.index("la", index) == index
|
1656
|
-
r12 = (SyntaxNode
|
1657
|
+
r12 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
1657
1658
|
@index += 2
|
1658
1659
|
else
|
1659
1660
|
terminal_parse_failure("la")
|
@@ -1664,7 +1665,7 @@ module ScientificName
|
|
1664
1665
|
r2.extend(AuthorWord0)
|
1665
1666
|
else
|
1666
1667
|
if input.index("ter", index) == index
|
1667
|
-
r13 = (SyntaxNode
|
1668
|
+
r13 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
1668
1669
|
@index += 3
|
1669
1670
|
else
|
1670
1671
|
terminal_parse_failure("ter")
|
@@ -1675,7 +1676,7 @@ module ScientificName
|
|
1675
1676
|
r2.extend(AuthorWord0)
|
1676
1677
|
else
|
1677
1678
|
if input.index("van", index) == index
|
1678
|
-
r14 = (SyntaxNode
|
1679
|
+
r14 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
1679
1680
|
@index += 3
|
1680
1681
|
else
|
1681
1682
|
terminal_parse_failure("van")
|
@@ -1686,7 +1687,7 @@ module ScientificName
|
|
1686
1687
|
r2.extend(AuthorWord0)
|
1687
1688
|
else
|
1688
1689
|
if input.index("et al.\{\?\}", index) == index
|
1689
|
-
r15 = (SyntaxNode
|
1690
|
+
r15 = instantiate_node(SyntaxNode,input, index...(index + 9))
|
1690
1691
|
@index += 9
|
1691
1692
|
else
|
1692
1693
|
terminal_parse_failure("et al.\{\?\}")
|
@@ -1697,7 +1698,7 @@ module ScientificName
|
|
1697
1698
|
r2.extend(AuthorWord0)
|
1698
1699
|
else
|
1699
1700
|
if input.index("et al.", index) == index
|
1700
|
-
r16 = (SyntaxNode
|
1701
|
+
r16 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
1701
1702
|
@index += 6
|
1702
1703
|
else
|
1703
1704
|
terminal_parse_failure("et al.")
|
@@ -1729,8 +1730,8 @@ module ScientificName
|
|
1729
1730
|
i17, s17 = index, []
|
1730
1731
|
i18 = index
|
1731
1732
|
if input.index("Å", index) == index
|
1732
|
-
r19 = (SyntaxNode
|
1733
|
-
@index +=
|
1733
|
+
r19 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1734
|
+
@index += 1
|
1734
1735
|
else
|
1735
1736
|
terminal_parse_failure("Å")
|
1736
1737
|
r19 = nil
|
@@ -1739,8 +1740,8 @@ module ScientificName
|
|
1739
1740
|
r18 = r19
|
1740
1741
|
else
|
1741
1742
|
if input.index("Ö", index) == index
|
1742
|
-
r20 = (SyntaxNode
|
1743
|
-
@index +=
|
1743
|
+
r20 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1744
|
+
@index += 1
|
1744
1745
|
else
|
1745
1746
|
terminal_parse_failure("Ö")
|
1746
1747
|
r20 = nil
|
@@ -1749,8 +1750,8 @@ module ScientificName
|
|
1749
1750
|
r18 = r20
|
1750
1751
|
else
|
1751
1752
|
if input.index("Á", index) == index
|
1752
|
-
r21 = (SyntaxNode
|
1753
|
-
@index +=
|
1753
|
+
r21 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1754
|
+
@index += 1
|
1754
1755
|
else
|
1755
1756
|
terminal_parse_failure("Á")
|
1756
1757
|
r21 = nil
|
@@ -1759,8 +1760,8 @@ module ScientificName
|
|
1759
1760
|
r18 = r21
|
1760
1761
|
else
|
1761
1762
|
if input.index("Ø", index) == index
|
1762
|
-
r22 = (SyntaxNode
|
1763
|
-
@index +=
|
1763
|
+
r22 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1764
|
+
@index += 1
|
1764
1765
|
else
|
1765
1766
|
terminal_parse_failure("Ø")
|
1766
1767
|
r22 = nil
|
@@ -1769,8 +1770,8 @@ module ScientificName
|
|
1769
1770
|
r18 = r22
|
1770
1771
|
else
|
1771
1772
|
if input.index("Ô", index) == index
|
1772
|
-
r23 = (SyntaxNode
|
1773
|
-
@index +=
|
1773
|
+
r23 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1774
|
+
@index += 1
|
1774
1775
|
else
|
1775
1776
|
terminal_parse_failure("Ô")
|
1776
1777
|
r23 = nil
|
@@ -1779,8 +1780,8 @@ module ScientificName
|
|
1779
1780
|
r18 = r23
|
1780
1781
|
else
|
1781
1782
|
if input.index("Š", index) == index
|
1782
|
-
r24 = (SyntaxNode
|
1783
|
-
@index +=
|
1783
|
+
r24 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1784
|
+
@index += 1
|
1784
1785
|
else
|
1785
1786
|
terminal_parse_failure("Š")
|
1786
1787
|
r24 = nil
|
@@ -1789,8 +1790,8 @@ module ScientificName
|
|
1789
1790
|
r18 = r24
|
1790
1791
|
else
|
1791
1792
|
if input.index("Ś", index) == index
|
1792
|
-
r25 = (SyntaxNode
|
1793
|
-
@index +=
|
1793
|
+
r25 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1794
|
+
@index += 1
|
1794
1795
|
else
|
1795
1796
|
terminal_parse_failure("Ś")
|
1796
1797
|
r25 = nil
|
@@ -1799,8 +1800,8 @@ module ScientificName
|
|
1799
1800
|
r18 = r25
|
1800
1801
|
else
|
1801
1802
|
if input.index("Č", index) == index
|
1802
|
-
r26 = (SyntaxNode
|
1803
|
-
@index +=
|
1803
|
+
r26 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1804
|
+
@index += 1
|
1804
1805
|
else
|
1805
1806
|
terminal_parse_failure("Č")
|
1806
1807
|
r26 = nil
|
@@ -1809,8 +1810,8 @@ module ScientificName
|
|
1809
1810
|
r18 = r26
|
1810
1811
|
else
|
1811
1812
|
if input.index("Ķ", index) == index
|
1812
|
-
r27 = (SyntaxNode
|
1813
|
-
@index +=
|
1813
|
+
r27 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1814
|
+
@index += 1
|
1814
1815
|
else
|
1815
1816
|
terminal_parse_failure("Ķ")
|
1816
1817
|
r27 = nil
|
@@ -1819,8 +1820,8 @@ module ScientificName
|
|
1819
1820
|
r18 = r27
|
1820
1821
|
else
|
1821
1822
|
if input.index("Ł", index) == index
|
1822
|
-
r28 = (SyntaxNode
|
1823
|
-
@index +=
|
1823
|
+
r28 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1824
|
+
@index += 1
|
1824
1825
|
else
|
1825
1826
|
terminal_parse_failure("Ł")
|
1826
1827
|
r28 = nil
|
@@ -1829,8 +1830,8 @@ module ScientificName
|
|
1829
1830
|
r18 = r28
|
1830
1831
|
else
|
1831
1832
|
if input.index("É", index) == index
|
1832
|
-
r29 = (SyntaxNode
|
1833
|
-
@index +=
|
1833
|
+
r29 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1834
|
+
@index += 1
|
1834
1835
|
else
|
1835
1836
|
terminal_parse_failure("É")
|
1836
1837
|
r29 = nil
|
@@ -1839,8 +1840,8 @@ module ScientificName
|
|
1839
1840
|
r18 = r29
|
1840
1841
|
else
|
1841
1842
|
if input.index("Ž", index) == index
|
1842
|
-
r30 = (SyntaxNode
|
1843
|
-
@index +=
|
1843
|
+
r30 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1844
|
+
@index += 1
|
1844
1845
|
else
|
1845
1846
|
terminal_parse_failure("Ž")
|
1846
1847
|
r30 = nil
|
@@ -1849,7 +1850,7 @@ module ScientificName
|
|
1849
1850
|
r18 = r30
|
1850
1851
|
else
|
1851
1852
|
if input.index(Regexp.new('[A-Z]'), index) == index
|
1852
|
-
r31 = (SyntaxNode
|
1853
|
+
r31 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1853
1854
|
@index += 1
|
1854
1855
|
else
|
1855
1856
|
r31 = nil
|
@@ -1877,7 +1878,7 @@ module ScientificName
|
|
1877
1878
|
s32, i32 = [], index
|
1878
1879
|
loop do
|
1879
1880
|
if input.index(Regexp.new('[^0-9()\\s&,]'), index) == index
|
1880
|
-
r33 = (SyntaxNode
|
1881
|
+
r33 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1881
1882
|
@index += 1
|
1882
1883
|
else
|
1883
1884
|
r33 = nil
|
@@ -1892,12 +1893,12 @@ module ScientificName
|
|
1892
1893
|
self.index = i32
|
1893
1894
|
r32 = nil
|
1894
1895
|
else
|
1895
|
-
r32 = SyntaxNode
|
1896
|
+
r32 = instantiate_node(SyntaxNode,input, i32...index, s32)
|
1896
1897
|
end
|
1897
1898
|
s17 << r32
|
1898
1899
|
end
|
1899
1900
|
if s17.last
|
1900
|
-
r17 = (SyntaxNode
|
1901
|
+
r17 = instantiate_node(SyntaxNode,input, i17...index, s17)
|
1901
1902
|
r17.extend(AuthorWord1)
|
1902
1903
|
r17.extend(AuthorWord2)
|
1903
1904
|
else
|
@@ -2053,7 +2054,7 @@ module ScientificName
|
|
2053
2054
|
end
|
2054
2055
|
end
|
2055
2056
|
if s1.last
|
2056
|
-
r1 = (SyntaxNode
|
2057
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
2057
2058
|
r1.extend(NamePart0)
|
2058
2059
|
r1.extend(NamePart1)
|
2059
2060
|
else
|
@@ -2079,7 +2080,7 @@ module ScientificName
|
|
2079
2080
|
end
|
2080
2081
|
end
|
2081
2082
|
if s8.last
|
2082
|
-
r8 = (SyntaxNode
|
2083
|
+
r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
|
2083
2084
|
r8.extend(NamePart2)
|
2084
2085
|
r8.extend(NamePart3)
|
2085
2086
|
else
|
@@ -2104,14 +2105,14 @@ module ScientificName
|
|
2104
2105
|
if r17
|
2105
2106
|
i18 = index
|
2106
2107
|
if input.index(Regexp.new('[^\\.]'), index) == index
|
2107
|
-
r19 = (SyntaxNode
|
2108
|
+
r19 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2108
2109
|
@index += 1
|
2109
2110
|
else
|
2110
2111
|
r19 = nil
|
2111
2112
|
end
|
2112
2113
|
if r19
|
2113
2114
|
self.index = i18
|
2114
|
-
r18 = SyntaxNode
|
2115
|
+
r18 = instantiate_node(SyntaxNode,input, index...index)
|
2115
2116
|
else
|
2116
2117
|
r18 = nil
|
2117
2118
|
end
|
@@ -2121,7 +2122,7 @@ module ScientificName
|
|
2121
2122
|
end
|
2122
2123
|
end
|
2123
2124
|
if s13.last
|
2124
|
-
r13 = (SyntaxNode
|
2125
|
+
r13 = instantiate_node(SyntaxNode,input, i13...index, s13)
|
2125
2126
|
r13.extend(NamePart4)
|
2126
2127
|
r13.extend(NamePart5)
|
2127
2128
|
else
|
@@ -2202,7 +2203,7 @@ module ScientificName
|
|
2202
2203
|
end
|
2203
2204
|
end
|
2204
2205
|
if s1.last
|
2205
|
-
r1 = (SyntaxNode
|
2206
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
2206
2207
|
r1.extend(SubspeciesNames0)
|
2207
2208
|
r1.extend(SubspeciesNames1)
|
2208
2209
|
else
|
@@ -2275,7 +2276,7 @@ module ScientificName
|
|
2275
2276
|
end
|
2276
2277
|
end
|
2277
2278
|
if s0.last
|
2278
|
-
r0 = (SyntaxNode
|
2279
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
2279
2280
|
r0.extend(SubspeciesName0)
|
2280
2281
|
r0.extend(SubspeciesName1)
|
2281
2282
|
else
|
@@ -2322,7 +2323,7 @@ module ScientificName
|
|
2322
2323
|
|
2323
2324
|
i0, s0 = index, []
|
2324
2325
|
if input.index("(", index) == index
|
2325
|
-
r1 = (SyntaxNode
|
2326
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2326
2327
|
@index += 1
|
2327
2328
|
else
|
2328
2329
|
terminal_parse_failure("(")
|
@@ -2340,7 +2341,7 @@ module ScientificName
|
|
2340
2341
|
s0 << r4
|
2341
2342
|
if r4
|
2342
2343
|
if input.index(")", index) == index
|
2343
|
-
r5 = (SyntaxNode
|
2344
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2344
2345
|
@index += 1
|
2345
2346
|
else
|
2346
2347
|
terminal_parse_failure(")")
|
@@ -2352,7 +2353,7 @@ module ScientificName
|
|
2352
2353
|
end
|
2353
2354
|
end
|
2354
2355
|
if s0.last
|
2355
|
-
r0 = (SyntaxNode
|
2356
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
2356
2357
|
r0.extend(EditorialsFull0)
|
2357
2358
|
r0.extend(EditorialsFull1)
|
2358
2359
|
else
|
@@ -2413,7 +2414,7 @@ module ScientificName
|
|
2413
2414
|
s1 << r4
|
2414
2415
|
if r4
|
2415
2416
|
if input.index(Regexp.new('[&]'), index) == index
|
2416
|
-
r6 = (SyntaxNode
|
2417
|
+
r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2417
2418
|
@index += 1
|
2418
2419
|
else
|
2419
2420
|
r6 = nil
|
@@ -2421,7 +2422,7 @@ module ScientificName
|
|
2421
2422
|
if r6
|
2422
2423
|
r5 = r6
|
2423
2424
|
else
|
2424
|
-
r5 = SyntaxNode
|
2425
|
+
r5 = instantiate_node(SyntaxNode,input, index...index)
|
2425
2426
|
end
|
2426
2427
|
s1 << r5
|
2427
2428
|
if r5
|
@@ -2436,7 +2437,7 @@ module ScientificName
|
|
2436
2437
|
end
|
2437
2438
|
end
|
2438
2439
|
if s1.last
|
2439
|
-
r1 = (SyntaxNode
|
2440
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
2440
2441
|
r1.extend(Editorials0)
|
2441
2442
|
r1.extend(Editorials1)
|
2442
2443
|
else
|
@@ -2485,7 +2486,7 @@ module ScientificName
|
|
2485
2486
|
|
2486
2487
|
i0 = index
|
2487
2488
|
if input.index("f.sp.", index) == index
|
2488
|
-
r1 = (SyntaxNode
|
2489
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
2489
2490
|
@index += 5
|
2490
2491
|
else
|
2491
2492
|
terminal_parse_failure("f.sp.")
|
@@ -2496,7 +2497,7 @@ module ScientificName
|
|
2496
2497
|
r0.extend(Rank0)
|
2497
2498
|
else
|
2498
2499
|
if input.index("f.", index) == index
|
2499
|
-
r2 = (SyntaxNode
|
2500
|
+
r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2500
2501
|
@index += 2
|
2501
2502
|
else
|
2502
2503
|
terminal_parse_failure("f.")
|
@@ -2507,7 +2508,7 @@ module ScientificName
|
|
2507
2508
|
r0.extend(Rank0)
|
2508
2509
|
else
|
2509
2510
|
if input.index("B", index) == index
|
2510
|
-
r3 = (SyntaxNode
|
2511
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2511
2512
|
@index += 1
|
2512
2513
|
else
|
2513
2514
|
terminal_parse_failure("B")
|
@@ -2518,7 +2519,7 @@ module ScientificName
|
|
2518
2519
|
r0.extend(Rank0)
|
2519
2520
|
else
|
2520
2521
|
if input.index("ssp.", index) == index
|
2521
|
-
r4 = (SyntaxNode
|
2522
|
+
r4 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2522
2523
|
@index += 4
|
2523
2524
|
else
|
2524
2525
|
terminal_parse_failure("ssp.")
|
@@ -2529,7 +2530,7 @@ module ScientificName
|
|
2529
2530
|
r0.extend(Rank0)
|
2530
2531
|
else
|
2531
2532
|
if input.index("mut.", index) == index
|
2532
|
-
r5 = (SyntaxNode
|
2533
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2533
2534
|
@index += 4
|
2534
2535
|
else
|
2535
2536
|
terminal_parse_failure("mut.")
|
@@ -2540,7 +2541,7 @@ module ScientificName
|
|
2540
2541
|
r0.extend(Rank0)
|
2541
2542
|
else
|
2542
2543
|
if input.index("pseudovar.", index) == index
|
2543
|
-
r6 = (SyntaxNode
|
2544
|
+
r6 = instantiate_node(SyntaxNode,input, index...(index + 10))
|
2544
2545
|
@index += 10
|
2545
2546
|
else
|
2546
2547
|
terminal_parse_failure("pseudovar.")
|
@@ -2551,7 +2552,7 @@ module ScientificName
|
|
2551
2552
|
r0.extend(Rank0)
|
2552
2553
|
else
|
2553
2554
|
if input.index("sect.", index) == index
|
2554
|
-
r7 = (SyntaxNode
|
2555
|
+
r7 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
2555
2556
|
@index += 5
|
2556
2557
|
else
|
2557
2558
|
terminal_parse_failure("sect.")
|
@@ -2562,7 +2563,7 @@ module ScientificName
|
|
2562
2563
|
r0.extend(Rank0)
|
2563
2564
|
else
|
2564
2565
|
if input.index("ser.", index) == index
|
2565
|
-
r8 = (SyntaxNode
|
2566
|
+
r8 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2566
2567
|
@index += 4
|
2567
2568
|
else
|
2568
2569
|
terminal_parse_failure("ser.")
|
@@ -2573,7 +2574,7 @@ module ScientificName
|
|
2573
2574
|
r0.extend(Rank0)
|
2574
2575
|
else
|
2575
2576
|
if input.index("var.", index) == index
|
2576
|
-
r9 = (SyntaxNode
|
2577
|
+
r9 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2577
2578
|
@index += 4
|
2578
2579
|
else
|
2579
2580
|
terminal_parse_failure("var.")
|
@@ -2584,7 +2585,7 @@ module ScientificName
|
|
2584
2585
|
r0.extend(Rank0)
|
2585
2586
|
else
|
2586
2587
|
if input.index("subvar.", index) == index
|
2587
|
-
r10 = (SyntaxNode
|
2588
|
+
r10 = instantiate_node(SyntaxNode,input, index...(index + 7))
|
2588
2589
|
@index += 7
|
2589
2590
|
else
|
2590
2591
|
terminal_parse_failure("subvar.")
|
@@ -2595,7 +2596,7 @@ module ScientificName
|
|
2595
2596
|
r0.extend(Rank0)
|
2596
2597
|
else
|
2597
2598
|
if input.index("[var.]", index) == index
|
2598
|
-
r11 = (SyntaxNode
|
2599
|
+
r11 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
2599
2600
|
@index += 6
|
2600
2601
|
else
|
2601
2602
|
terminal_parse_failure("[var.]")
|
@@ -2606,7 +2607,7 @@ module ScientificName
|
|
2606
2607
|
r0.extend(Rank0)
|
2607
2608
|
else
|
2608
2609
|
if input.index("subsp.", index) == index
|
2609
|
-
r12 = (SyntaxNode
|
2610
|
+
r12 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
2610
2611
|
@index += 6
|
2611
2612
|
else
|
2612
2613
|
terminal_parse_failure("subsp.")
|
@@ -2617,7 +2618,7 @@ module ScientificName
|
|
2617
2618
|
r0.extend(Rank0)
|
2618
2619
|
else
|
2619
2620
|
if input.index("subf.", index) == index
|
2620
|
-
r13 = (SyntaxNode
|
2621
|
+
r13 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
2621
2622
|
@index += 5
|
2622
2623
|
else
|
2623
2624
|
terminal_parse_failure("subf.")
|
@@ -2628,7 +2629,7 @@ module ScientificName
|
|
2628
2629
|
r0.extend(Rank0)
|
2629
2630
|
else
|
2630
2631
|
if input.index("race", index) == index
|
2631
|
-
r14 = (SyntaxNode
|
2632
|
+
r14 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2632
2633
|
@index += 4
|
2633
2634
|
else
|
2634
2635
|
terminal_parse_failure("race")
|
@@ -2639,8 +2640,8 @@ module ScientificName
|
|
2639
2640
|
r0.extend(Rank0)
|
2640
2641
|
else
|
2641
2642
|
if input.index("α", index) == index
|
2642
|
-
r15 = (SyntaxNode
|
2643
|
-
@index +=
|
2643
|
+
r15 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2644
|
+
@index += 1
|
2644
2645
|
else
|
2645
2646
|
terminal_parse_failure("α")
|
2646
2647
|
r15 = nil
|
@@ -2650,8 +2651,8 @@ module ScientificName
|
|
2650
2651
|
r0.extend(Rank0)
|
2651
2652
|
else
|
2652
2653
|
if input.index("ββ", index) == index
|
2653
|
-
r16 = (SyntaxNode
|
2654
|
-
@index +=
|
2654
|
+
r16 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2655
|
+
@index += 2
|
2655
2656
|
else
|
2656
2657
|
terminal_parse_failure("ββ")
|
2657
2658
|
r16 = nil
|
@@ -2661,8 +2662,8 @@ module ScientificName
|
|
2661
2662
|
r0.extend(Rank0)
|
2662
2663
|
else
|
2663
2664
|
if input.index("β", index) == index
|
2664
|
-
r17 = (SyntaxNode
|
2665
|
-
@index +=
|
2665
|
+
r17 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2666
|
+
@index += 1
|
2666
2667
|
else
|
2667
2668
|
terminal_parse_failure("β")
|
2668
2669
|
r17 = nil
|
@@ -2672,8 +2673,8 @@ module ScientificName
|
|
2672
2673
|
r0.extend(Rank0)
|
2673
2674
|
else
|
2674
2675
|
if input.index("γ", index) == index
|
2675
|
-
r18 = (SyntaxNode
|
2676
|
-
@index +=
|
2676
|
+
r18 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2677
|
+
@index += 1
|
2677
2678
|
else
|
2678
2679
|
terminal_parse_failure("γ")
|
2679
2680
|
r18 = nil
|
@@ -2683,8 +2684,8 @@ module ScientificName
|
|
2683
2684
|
r0.extend(Rank0)
|
2684
2685
|
else
|
2685
2686
|
if input.index("δ", index) == index
|
2686
|
-
r19 = (SyntaxNode
|
2687
|
-
@index +=
|
2687
|
+
r19 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2688
|
+
@index += 1
|
2688
2689
|
else
|
2689
2690
|
terminal_parse_failure("δ")
|
2690
2691
|
r19 = nil
|
@@ -2694,8 +2695,8 @@ module ScientificName
|
|
2694
2695
|
r0.extend(Rank0)
|
2695
2696
|
else
|
2696
2697
|
if input.index("ε", index) == index
|
2697
|
-
r20 = (SyntaxNode
|
2698
|
-
@index +=
|
2698
|
+
r20 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2699
|
+
@index += 1
|
2699
2700
|
else
|
2700
2701
|
terminal_parse_failure("ε")
|
2701
2702
|
r20 = nil
|
@@ -2705,8 +2706,8 @@ module ScientificName
|
|
2705
2706
|
r0.extend(Rank0)
|
2706
2707
|
else
|
2707
2708
|
if input.index("φ", index) == index
|
2708
|
-
r21 = (SyntaxNode
|
2709
|
-
@index +=
|
2709
|
+
r21 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2710
|
+
@index += 1
|
2710
2711
|
else
|
2711
2712
|
terminal_parse_failure("φ")
|
2712
2713
|
r21 = nil
|
@@ -2716,8 +2717,8 @@ module ScientificName
|
|
2716
2717
|
r0.extend(Rank0)
|
2717
2718
|
else
|
2718
2719
|
if input.index("θ", index) == index
|
2719
|
-
r22 = (SyntaxNode
|
2720
|
-
@index +=
|
2720
|
+
r22 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2721
|
+
@index += 1
|
2721
2722
|
else
|
2722
2723
|
terminal_parse_failure("θ")
|
2723
2724
|
r22 = nil
|
@@ -2727,8 +2728,8 @@ module ScientificName
|
|
2727
2728
|
r0.extend(Rank0)
|
2728
2729
|
else
|
2729
2730
|
if input.index("μ", index) == index
|
2730
|
-
r23 = (SyntaxNode
|
2731
|
-
@index +=
|
2731
|
+
r23 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2732
|
+
@index += 1
|
2732
2733
|
else
|
2733
2734
|
terminal_parse_failure("μ")
|
2734
2735
|
r23 = nil
|
@@ -2738,7 +2739,7 @@ module ScientificName
|
|
2738
2739
|
r0.extend(Rank0)
|
2739
2740
|
else
|
2740
2741
|
if input.index("a.", index) == index
|
2741
|
-
r24 = (SyntaxNode
|
2742
|
+
r24 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2742
2743
|
@index += 2
|
2743
2744
|
else
|
2744
2745
|
terminal_parse_failure("a.")
|
@@ -2749,7 +2750,7 @@ module ScientificName
|
|
2749
2750
|
r0.extend(Rank0)
|
2750
2751
|
else
|
2751
2752
|
if input.index("b.", index) == index
|
2752
|
-
r25 = (SyntaxNode
|
2753
|
+
r25 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2753
2754
|
@index += 2
|
2754
2755
|
else
|
2755
2756
|
terminal_parse_failure("b.")
|
@@ -2760,7 +2761,7 @@ module ScientificName
|
|
2760
2761
|
r0.extend(Rank0)
|
2761
2762
|
else
|
2762
2763
|
if input.index("c.", index) == index
|
2763
|
-
r26 = (SyntaxNode
|
2764
|
+
r26 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2764
2765
|
@index += 2
|
2765
2766
|
else
|
2766
2767
|
terminal_parse_failure("c.")
|
@@ -2771,7 +2772,7 @@ module ScientificName
|
|
2771
2772
|
r0.extend(Rank0)
|
2772
2773
|
else
|
2773
2774
|
if input.index("d.", index) == index
|
2774
|
-
r27 = (SyntaxNode
|
2775
|
+
r27 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2775
2776
|
@index += 2
|
2776
2777
|
else
|
2777
2778
|
terminal_parse_failure("d.")
|
@@ -2782,7 +2783,7 @@ module ScientificName
|
|
2782
2783
|
r0.extend(Rank0)
|
2783
2784
|
else
|
2784
2785
|
if input.index("e.", index) == index
|
2785
|
-
r28 = (SyntaxNode
|
2786
|
+
r28 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2786
2787
|
@index += 2
|
2787
2788
|
else
|
2788
2789
|
terminal_parse_failure("e.")
|
@@ -2793,7 +2794,7 @@ module ScientificName
|
|
2793
2794
|
r0.extend(Rank0)
|
2794
2795
|
else
|
2795
2796
|
if input.index("g.", index) == index
|
2796
|
-
r29 = (SyntaxNode
|
2797
|
+
r29 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2797
2798
|
@index += 2
|
2798
2799
|
else
|
2799
2800
|
terminal_parse_failure("g.")
|
@@ -2804,7 +2805,7 @@ module ScientificName
|
|
2804
2805
|
r0.extend(Rank0)
|
2805
2806
|
else
|
2806
2807
|
if input.index("k.", index) == index
|
2807
|
-
r30 = (SyntaxNode
|
2808
|
+
r30 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2808
2809
|
@index += 2
|
2809
2810
|
else
|
2810
2811
|
terminal_parse_failure("k.")
|
@@ -2815,7 +2816,7 @@ module ScientificName
|
|
2815
2816
|
r0.extend(Rank0)
|
2816
2817
|
else
|
2817
2818
|
if input.index("****", index) == index
|
2818
|
-
r31 = (SyntaxNode
|
2819
|
+
r31 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
2819
2820
|
@index += 4
|
2820
2821
|
else
|
2821
2822
|
terminal_parse_failure("****")
|
@@ -2826,7 +2827,7 @@ module ScientificName
|
|
2826
2827
|
r0.extend(Rank0)
|
2827
2828
|
else
|
2828
2829
|
if input.index("**", index) == index
|
2829
|
-
r32 = (SyntaxNode
|
2830
|
+
r32 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
2830
2831
|
@index += 2
|
2831
2832
|
else
|
2832
2833
|
terminal_parse_failure("**")
|
@@ -2837,7 +2838,7 @@ module ScientificName
|
|
2837
2838
|
r0.extend(Rank0)
|
2838
2839
|
else
|
2839
2840
|
if input.index("*", index) == index
|
2840
|
-
r33 = (SyntaxNode
|
2841
|
+
r33 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
2841
2842
|
@index += 1
|
2842
2843
|
else
|
2843
2844
|
terminal_parse_failure("*")
|
@@ -3072,7 +3073,7 @@ module ScientificName
|
|
3072
3073
|
end
|
3073
3074
|
end
|
3074
3075
|
if s1.last
|
3075
|
-
r1 = (SyntaxNode
|
3076
|
+
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
3076
3077
|
r1.extend(SpeciesName0)
|
3077
3078
|
r1.extend(SpeciesName1)
|
3078
3079
|
else
|
@@ -3094,7 +3095,7 @@ module ScientificName
|
|
3094
3095
|
end
|
3095
3096
|
end
|
3096
3097
|
if s7.last
|
3097
|
-
r7 = (SyntaxNode
|
3098
|
+
r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
|
3098
3099
|
r7.extend(SpeciesName2)
|
3099
3100
|
r7.extend(SpeciesName3)
|
3100
3101
|
else
|
@@ -3124,7 +3125,7 @@ module ScientificName
|
|
3124
3125
|
end
|
3125
3126
|
end
|
3126
3127
|
if s11.last
|
3127
|
-
r11 = (SyntaxNode
|
3128
|
+
r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
|
3128
3129
|
r11.extend(SpeciesName4)
|
3129
3130
|
r11.extend(SpeciesName5)
|
3130
3131
|
else
|
@@ -3154,7 +3155,7 @@ module ScientificName
|
|
3154
3155
|
end
|
3155
3156
|
end
|
3156
3157
|
if s17.last
|
3157
|
-
r17 = (SyntaxNode
|
3158
|
+
r17 = instantiate_node(SyntaxNode,input, i17...index, s17)
|
3158
3159
|
r17.extend(SpeciesName6)
|
3159
3160
|
r17.extend(SpeciesName7)
|
3160
3161
|
else
|
@@ -3176,7 +3177,7 @@ module ScientificName
|
|
3176
3177
|
end
|
3177
3178
|
end
|
3178
3179
|
if s23.last
|
3179
|
-
r23 = (SyntaxNode
|
3180
|
+
r23 = instantiate_node(SyntaxNode,input, i23...index, s23)
|
3180
3181
|
r23.extend(SpeciesName8)
|
3181
3182
|
r23.extend(SpeciesName9)
|
3182
3183
|
else
|
@@ -3233,7 +3234,7 @@ module ScientificName
|
|
3233
3234
|
|
3234
3235
|
i0, s0 = index, []
|
3235
3236
|
if input.index("(", index) == index
|
3236
|
-
r1 = (SyntaxNode
|
3237
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3237
3238
|
@index += 1
|
3238
3239
|
else
|
3239
3240
|
terminal_parse_failure("(")
|
@@ -3251,7 +3252,7 @@ module ScientificName
|
|
3251
3252
|
s0 << r4
|
3252
3253
|
if r4
|
3253
3254
|
if input.index(")", index) == index
|
3254
|
-
r5 = (SyntaxNode
|
3255
|
+
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3255
3256
|
@index += 1
|
3256
3257
|
else
|
3257
3258
|
terminal_parse_failure(")")
|
@@ -3263,7 +3264,7 @@ module ScientificName
|
|
3263
3264
|
end
|
3264
3265
|
end
|
3265
3266
|
if s0.last
|
3266
|
-
r0 = (SyntaxNode
|
3267
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3267
3268
|
r0.extend(Subgenus0)
|
3268
3269
|
r0.extend(Subgenus1)
|
3269
3270
|
else
|
@@ -3295,7 +3296,7 @@ module ScientificName
|
|
3295
3296
|
|
3296
3297
|
i0, s0 = index, []
|
3297
3298
|
if input.index(Regexp.new('[a-zë]'), index) == index
|
3298
|
-
r1 = (SyntaxNode
|
3299
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3299
3300
|
@index += 1
|
3300
3301
|
else
|
3301
3302
|
r1 = nil
|
@@ -3305,7 +3306,7 @@ module ScientificName
|
|
3305
3306
|
s2, i2 = [], index
|
3306
3307
|
loop do
|
3307
3308
|
if input.index(Regexp.new('[a-z\\-ëüäöï]'), index) == index
|
3308
|
-
r3 = (SyntaxNode
|
3309
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3309
3310
|
@index += 1
|
3310
3311
|
else
|
3311
3312
|
r3 = nil
|
@@ -3320,12 +3321,12 @@ module ScientificName
|
|
3320
3321
|
self.index = i2
|
3321
3322
|
r2 = nil
|
3322
3323
|
else
|
3323
|
-
r2 = SyntaxNode
|
3324
|
+
r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
|
3324
3325
|
end
|
3325
3326
|
s0 << r2
|
3326
3327
|
end
|
3327
3328
|
if s0.last
|
3328
|
-
r0 = (SyntaxNode
|
3329
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3329
3330
|
r0.extend(LatinWord0)
|
3330
3331
|
r0.extend(LatinWord1)
|
3331
3332
|
else
|
@@ -3365,7 +3366,7 @@ module ScientificName
|
|
3365
3366
|
|
3366
3367
|
i0, s0 = index, []
|
3367
3368
|
if input.index(Regexp.new('[A-Z]'), index) == index
|
3368
|
-
r1 = (SyntaxNode
|
3369
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3369
3370
|
@index += 1
|
3370
3371
|
else
|
3371
3372
|
r1 = nil
|
@@ -3373,7 +3374,7 @@ module ScientificName
|
|
3373
3374
|
s0 << r1
|
3374
3375
|
if r1
|
3375
3376
|
if input.index(Regexp.new('[a-zë]'), index) == index
|
3376
|
-
r2 = (SyntaxNode
|
3377
|
+
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3377
3378
|
@index += 1
|
3378
3379
|
else
|
3379
3380
|
r2 = nil
|
@@ -3383,7 +3384,7 @@ module ScientificName
|
|
3383
3384
|
s3, i3 = [], index
|
3384
3385
|
loop do
|
3385
3386
|
if input.index(Regexp.new('[a-z\\-ëüäöï]'), index) == index
|
3386
|
-
r4 = (SyntaxNode
|
3387
|
+
r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3387
3388
|
@index += 1
|
3388
3389
|
else
|
3389
3390
|
r4 = nil
|
@@ -3398,13 +3399,13 @@ module ScientificName
|
|
3398
3399
|
self.index = i3
|
3399
3400
|
r3 = nil
|
3400
3401
|
else
|
3401
|
-
r3 = SyntaxNode
|
3402
|
+
r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
|
3402
3403
|
end
|
3403
3404
|
s0 << r3
|
3404
3405
|
end
|
3405
3406
|
end
|
3406
3407
|
if s0.last
|
3407
|
-
r0 = (SyntaxNode
|
3408
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3408
3409
|
r0.extend(CapLatinWord0)
|
3409
3410
|
r0.extend(CapLatinWord1)
|
3410
3411
|
else
|
@@ -3433,7 +3434,7 @@ module ScientificName
|
|
3433
3434
|
|
3434
3435
|
i0 = index
|
3435
3436
|
if input.index("x", index) == index
|
3436
|
-
r1 = (SyntaxNode
|
3437
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3437
3438
|
@index += 1
|
3438
3439
|
else
|
3439
3440
|
terminal_parse_failure("x")
|
@@ -3444,7 +3445,7 @@ module ScientificName
|
|
3444
3445
|
r0.extend(HybridSeparator0)
|
3445
3446
|
else
|
3446
3447
|
if input.index("X", index) == index
|
3447
|
-
r2 = (SyntaxNode
|
3448
|
+
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3448
3449
|
@index += 1
|
3449
3450
|
else
|
3450
3451
|
terminal_parse_failure("X")
|
@@ -3455,8 +3456,8 @@ module ScientificName
|
|
3455
3456
|
r0.extend(HybridSeparator0)
|
3456
3457
|
else
|
3457
3458
|
if input.index("×", index) == index
|
3458
|
-
r3 = (SyntaxNode
|
3459
|
-
@index +=
|
3459
|
+
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3460
|
+
@index += 1
|
3460
3461
|
else
|
3461
3462
|
terminal_parse_failure("×")
|
3462
3463
|
r3 = nil
|
@@ -3496,7 +3497,7 @@ module ScientificName
|
|
3496
3497
|
s0, i0 = [], index
|
3497
3498
|
loop do
|
3498
3499
|
if input.index(Regexp.new('[0-9\\?]'), index) == index
|
3499
|
-
r1 = (SyntaxNode
|
3500
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3500
3501
|
@index += 1
|
3501
3502
|
else
|
3502
3503
|
r1 = nil
|
@@ -3511,7 +3512,7 @@ module ScientificName
|
|
3511
3512
|
self.index = i0
|
3512
3513
|
r0 = nil
|
3513
3514
|
else
|
3514
|
-
r0 = SyntaxNode
|
3515
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3515
3516
|
r0.extend(Year0)
|
3516
3517
|
end
|
3517
3518
|
|
@@ -3531,7 +3532,7 @@ module ScientificName
|
|
3531
3532
|
s0, i0 = [], index
|
3532
3533
|
loop do
|
3533
3534
|
if input.index(Regexp.new('[\\s]'), index) == index
|
3534
|
-
r1 = (SyntaxNode
|
3535
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3535
3536
|
@index += 1
|
3536
3537
|
else
|
3537
3538
|
r1 = nil
|
@@ -3542,7 +3543,7 @@ module ScientificName
|
|
3542
3543
|
break
|
3543
3544
|
end
|
3544
3545
|
end
|
3545
|
-
r0 = SyntaxNode
|
3546
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3546
3547
|
|
3547
3548
|
node_cache[:space][start_index] = r0
|
3548
3549
|
|
@@ -3560,7 +3561,7 @@ module ScientificName
|
|
3560
3561
|
s0, i0 = [], index
|
3561
3562
|
loop do
|
3562
3563
|
if input.index(Regexp.new('[\\s]'), index) == index
|
3563
|
-
r1 = (SyntaxNode
|
3564
|
+
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
3564
3565
|
@index += 1
|
3565
3566
|
else
|
3566
3567
|
r1 = nil
|
@@ -3575,7 +3576,7 @@ module ScientificName
|
|
3575
3576
|
self.index = i0
|
3576
3577
|
r0 = nil
|
3577
3578
|
else
|
3578
|
-
r0 = SyntaxNode
|
3579
|
+
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
3579
3580
|
end
|
3580
3581
|
|
3581
3582
|
node_cache[:space_hard][start_index] = r0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dimus-biodiversity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Mozzherin
|
@@ -14,6 +14,7 @@ default_executable:
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: treetop
|
17
|
+
type: :runtime
|
17
18
|
version_requirement:
|
18
19
|
version_requirements: !ruby/object:Gem::Requirement
|
19
20
|
requirements:
|
@@ -21,15 +22,6 @@ dependencies:
|
|
21
22
|
- !ruby/object:Gem::Version
|
22
23
|
version: 1.2.4
|
23
24
|
version:
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: json
|
26
|
-
version_requirement:
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
requirements:
|
29
|
-
- - ">="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: 1.1.3
|
32
|
-
version:
|
33
25
|
description: Biodiversity library provides a parser tool for scientific species names
|
34
26
|
email: dmozzherin {et} eol {dt} org
|
35
27
|
executables:
|