dimus-biodiversity 0.0.9 → 0.0.10

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.
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rake'
4
4
  $LOAD_PATH.unshift(File.join(dir, 'vendor', 'rspec', 'lib'))
5
5
  require 'spec/rake/spectask'
6
6
 
7
- Gem::manage_gems
7
+ #Gem::manage_gems
8
8
  require 'rake/gempackagetask'
9
9
 
10
10
  task :default => :spec
@@ -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/ext'
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"
@@ -1,2 +1,3 @@
1
+
1
2
  #Constants
2
3
  LSID_RESOLVER_URL = "http://lsid.tdwg.org/"
@@ -1,2 +1,3 @@
1
+ # encoding: UTF-8
1
2
  dir = File.dirname(__FILE__)
2
3
  require File.join(dir, *%w[parser scientific_name])
@@ -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).new(input, i1...index, s1)
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).new(input, index...(index + 1))
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.new(input, index...index)
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).new(input, i8...index, s8)
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).new(input, i2...index, s2)
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).new(input, i10...index, s10)
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).new(input, i16...index, s16)
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).new(input, i1...index, s1)
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).new(input, index...(index + 1))
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).new(input, i1...index, s1)
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).new(input, i1...index, s1)
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).new(input, i9...index, s9)
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).new(input, i1...index, s1)
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).new(input, index...(index + 2))
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).new(input, i5...index, s5)
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).new(input, i11...index, s11)
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).new(input, i1...index, s1)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, i0...index, s0)
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).new(input, index...(index + 2))
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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.new(input, index...index)
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).new(input, i1...index, s1)
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).new(input, i1...index, s1)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, i1...index, s1)
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).new(input, index...(index + 7))
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).new(input, index...(index + 5))
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).new(input, index...(index + 2))
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).new(input, index...(index + 3))
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).new(input, index...(index + 4))
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).new(input, index...(index + 2))
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).new(input, index...(index + 3))
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).new(input, index...(index + 3))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 3))
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).new(input, index...(index + 3))
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).new(input, index...(index + 9))
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).new(input, index...(index + 6))
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).new(input, index...(index + 2))
1733
- @index += 2
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).new(input, index...(index + 2))
1743
- @index += 2
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).new(input, index...(index + 2))
1753
- @index += 2
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).new(input, index...(index + 2))
1763
- @index += 2
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).new(input, index...(index + 2))
1773
- @index += 2
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).new(input, index...(index + 2))
1783
- @index += 2
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).new(input, index...(index + 2))
1793
- @index += 2
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).new(input, index...(index + 2))
1803
- @index += 2
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).new(input, index...(index + 2))
1813
- @index += 2
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).new(input, index...(index + 2))
1823
- @index += 2
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).new(input, index...(index + 2))
1833
- @index += 2
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).new(input, index...(index + 2))
1843
- @index += 2
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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.new(input, i32...index, s32)
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).new(input, i17...index, s17)
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).new(input, i1...index, s1)
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).new(input, i8...index, s8)
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).new(input, index...(index + 1))
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.new(input, index...index)
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).new(input, i13...index, s13)
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).new(input, i1...index, s1)
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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.new(input, index...index)
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).new(input, i1...index, s1)
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).new(input, index...(index + 5))
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).new(input, index...(index + 2))
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).new(input, index...(index + 1))
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).new(input, index...(index + 4))
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).new(input, index...(index + 4))
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).new(input, index...(index + 10))
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).new(input, index...(index + 5))
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).new(input, index...(index + 4))
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).new(input, index...(index + 4))
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).new(input, index...(index + 7))
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).new(input, index...(index + 6))
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).new(input, index...(index + 6))
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).new(input, index...(index + 5))
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).new(input, index...(index + 4))
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).new(input, index...(index + 2))
2643
- @index += 2
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).new(input, index...(index + 4))
2654
- @index += 4
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).new(input, index...(index + 2))
2665
- @index += 2
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).new(input, index...(index + 2))
2676
- @index += 2
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).new(input, index...(index + 2))
2687
- @index += 2
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).new(input, index...(index + 2))
2698
- @index += 2
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).new(input, index...(index + 2))
2709
- @index += 2
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).new(input, index...(index + 2))
2720
- @index += 2
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).new(input, index...(index + 2))
2731
- @index += 2
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 2))
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).new(input, index...(index + 4))
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).new(input, index...(index + 2))
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).new(input, index...(index + 1))
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).new(input, i1...index, s1)
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).new(input, i7...index, s7)
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).new(input, i11...index, s11)
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).new(input, i17...index, s17)
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).new(input, i23...index, s23)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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.new(input, i2...index, s2)
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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.new(input, i3...index, s3)
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).new(input, i0...index, s0)
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).new(input, index...(index + 1))
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).new(input, index...(index + 1))
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).new(input, index...(index + 2))
3459
- @index += 2
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).new(input, index...(index + 1))
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.new(input, i0...index, s0)
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).new(input, index...(index + 1))
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.new(input, i0...index, s0)
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).new(input, index...(index + 1))
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.new(input, i0...index, s0)
3579
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3579
3580
  end
3580
3581
 
3581
3582
  node_cache[:space_hard][start_index] = r0
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  dir = File.dirname("__FILE__")
2
3
  require 'rubygems'
3
4
  require 'spec'
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.9
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: