dimus-biodiversity 0.5.10 → 0.5.11
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/README.rdoc +10 -4
- data/VERSION +1 -1
- data/bin/nnparse +2 -1
- data/bin/parserver +14 -0
- data/biodiversity.gemspec +84 -0
- data/lib/biodiversity/parser.rb +11 -6
- data/lib/biodiversity/parser/scientific_name_canonical.rb +17 -17
- data/lib/biodiversity/parser/scientific_name_clean.rb +306 -306
- data/lib/biodiversity/parser/scientific_name_dirty.rb +55 -55
- data/spec/parser/scientific_name.spec.rb +12 -12
- metadata +5 -3
data/README.rdoc
CHANGED
|
@@ -21,17 +21,23 @@ You can use it as a library
|
|
|
21
21
|
|
|
22
22
|
parser = ScientificNameParser.new
|
|
23
23
|
|
|
24
|
-
# to parse a scientific name
|
|
24
|
+
# to parse a scientific name into a ruby hash
|
|
25
25
|
parser.parse("Plantago major")
|
|
26
26
|
|
|
27
|
+
#to get json representation
|
|
28
|
+
parser.parse("Plantago").to_json
|
|
29
|
+
#or
|
|
30
|
+
parser.parse("Plantago")
|
|
31
|
+
parser.all_json
|
|
32
|
+
|
|
27
33
|
# to clean name up
|
|
28
|
-
parser.parse(" Plantago major ")
|
|
34
|
+
parser.parse(" Plantago major ")[:normalized]
|
|
29
35
|
|
|
30
36
|
# to get only cleaned up latin part of the name
|
|
31
|
-
parser.parse("Pseudocercospora dendrobii (H.C. Burnett) U. Braun & Crous 2003")
|
|
37
|
+
parser.parse("Pseudocercospora dendrobii (H.C. Burnett) U. Braun & Crous 2003")[:canonical]
|
|
32
38
|
|
|
33
39
|
# to get detailed information about elements of the name
|
|
34
|
-
parser.parse("Pseudocercospora dendrobii (H.C. Burnett 1883) U. Braun & Crous 2003")
|
|
40
|
+
parser.parse("Pseudocercospora dendrobii (H.C. Burnett 1883) U. Braun & Crous 2003")[:details]
|
|
35
41
|
|
|
36
42
|
# to resolve lsid and get back RDF file
|
|
37
43
|
LsidResolver.resolve("urn:lsid:ubio.org:classificationbank:2232671")
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.5.
|
|
1
|
+
0.5.11
|
data/bin/nnparse
CHANGED
|
@@ -22,7 +22,8 @@ IO.foreach(input) do |line|
|
|
|
22
22
|
count += 1
|
|
23
23
|
puts("%s lines parsed" % count) if count % 10000 == 0
|
|
24
24
|
name = line.gsub(/^[\d]*\s*/, '').strip
|
|
25
|
-
|
|
25
|
+
p.parse(name)
|
|
26
|
+
parsed_data = p.parsed.all_json rescue {'parsed' => false, 'vernacular' => name, 'error' => 'Parser error'}.to_json
|
|
26
27
|
o.write parsed_data + "\n"
|
|
27
28
|
end
|
|
28
29
|
|
data/bin/parserver
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'rubygems'
|
|
3
|
+
require 'socket'
|
|
4
|
+
require 'biodiversity' # Get sockets from stdlib
|
|
5
|
+
parser = ScientificNameParser.new
|
|
6
|
+
server = TCPServer.open(4334) # Socket to listen on port 4334
|
|
7
|
+
loop do # Servers run forever
|
|
8
|
+
client = server.accept # Wait for a client to connect
|
|
9
|
+
while a = client.readline
|
|
10
|
+
client.close if ['end','exit','q', '.'].include? a.strip
|
|
11
|
+
client.puts parser.parse(a).to_json
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = %q{biodiversity}
|
|
8
|
+
s.version = "0.5.11"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["Dmitry Mozzherin"]
|
|
12
|
+
s.date = %q{2009-08-16}
|
|
13
|
+
s.default_executable = %q{nnparse}
|
|
14
|
+
s.description = %q{Tools for biodiversity informatics}
|
|
15
|
+
s.email = %q{dmozzherin@gmail.com}
|
|
16
|
+
s.executables = ["nnparse"]
|
|
17
|
+
s.extra_rdoc_files = [
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"README.rdoc"
|
|
20
|
+
]
|
|
21
|
+
s.files = [
|
|
22
|
+
".document",
|
|
23
|
+
".gitignore",
|
|
24
|
+
"LICENSE",
|
|
25
|
+
"README.rdoc",
|
|
26
|
+
"Rakefile",
|
|
27
|
+
"VERSION",
|
|
28
|
+
"bin/nnparse",
|
|
29
|
+
"bin/parserver",
|
|
30
|
+
"biodiversity.gemspec",
|
|
31
|
+
"conf/environment.rb",
|
|
32
|
+
"lib/biodiversity.rb",
|
|
33
|
+
"lib/biodiversity/guid.rb",
|
|
34
|
+
"lib/biodiversity/guid/lsid.rb",
|
|
35
|
+
"lib/biodiversity/parser.rb",
|
|
36
|
+
"lib/biodiversity/parser/scientific_name_canonical.rb",
|
|
37
|
+
"lib/biodiversity/parser/scientific_name_canonical.treetop",
|
|
38
|
+
"lib/biodiversity/parser/scientific_name_clean.rb",
|
|
39
|
+
"lib/biodiversity/parser/scientific_name_clean.treetop",
|
|
40
|
+
"lib/biodiversity/parser/scientific_name_dirty.rb",
|
|
41
|
+
"lib/biodiversity/parser/scientific_name_dirty.treetop",
|
|
42
|
+
"pkg/.gitignore",
|
|
43
|
+
"spec/biodiversity_spec.rb",
|
|
44
|
+
"spec/guid/lsid.spec.rb",
|
|
45
|
+
"spec/parser/scientific_name.spec.rb",
|
|
46
|
+
"spec/parser/scientific_name_canonical.spec.rb",
|
|
47
|
+
"spec/parser/scientific_name_clean.spec.rb",
|
|
48
|
+
"spec/parser/scientific_name_dirty.spec.rb",
|
|
49
|
+
"spec/parser/spec_helper.rb",
|
|
50
|
+
"spec/parser/test_data.txt",
|
|
51
|
+
"spec/spec_helper.rb"
|
|
52
|
+
]
|
|
53
|
+
s.homepage = %q{http://github.com/dimus/biodiversity}
|
|
54
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
|
55
|
+
s.require_paths = ["lib"]
|
|
56
|
+
s.rubygems_version = %q{1.3.5}
|
|
57
|
+
s.summary = %q{Parser of scientific names}
|
|
58
|
+
s.test_files = [
|
|
59
|
+
"spec/biodiversity_spec.rb",
|
|
60
|
+
"spec/guid/lsid.spec.rb",
|
|
61
|
+
"spec/parser/scientific_name.spec.rb",
|
|
62
|
+
"spec/parser/scientific_name_canonical.spec.rb",
|
|
63
|
+
"spec/parser/scientific_name_clean.spec.rb",
|
|
64
|
+
"spec/parser/scientific_name_dirty.spec.rb",
|
|
65
|
+
"spec/parser/spec_helper.rb",
|
|
66
|
+
"spec/spec_helper.rb"
|
|
67
|
+
]
|
|
68
|
+
|
|
69
|
+
if s.respond_to? :specification_version then
|
|
70
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
71
|
+
s.specification_version = 3
|
|
72
|
+
|
|
73
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
|
74
|
+
s.add_runtime_dependency(%q<treetop>, [">= 0"])
|
|
75
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
|
76
|
+
else
|
|
77
|
+
s.add_dependency(%q<treetop>, [">= 0"])
|
|
78
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
79
|
+
end
|
|
80
|
+
else
|
|
81
|
+
s.add_dependency(%q<treetop>, [">= 0"])
|
|
82
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
83
|
+
end
|
|
84
|
+
end
|
data/lib/biodiversity/parser.rb
CHANGED
|
@@ -13,13 +13,13 @@ class ScientificNameParser
|
|
|
13
13
|
@clean = ScientificNameCleanParser.new
|
|
14
14
|
@dirty = ScientificNameDirtyParser.new
|
|
15
15
|
@canonical = ScientificNameCanonicalParser.new
|
|
16
|
-
@
|
|
16
|
+
@parsed = nil
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def parse(a_string)
|
|
20
20
|
@verbatim = a_string
|
|
21
|
-
@
|
|
22
|
-
def @
|
|
21
|
+
@parsed = @clean.parse(a_string) || @dirty.parse(a_string) || @canonical.parse(a_string) || {:verbatim => a_string}
|
|
22
|
+
def @parsed.all
|
|
23
23
|
parsed = self.class != Hash
|
|
24
24
|
res = {:parsed => parsed}
|
|
25
25
|
if parsed
|
|
@@ -36,13 +36,18 @@ class ScientificNameParser
|
|
|
36
36
|
res.merge!(self)
|
|
37
37
|
end
|
|
38
38
|
res = {:scientificName => res}
|
|
39
|
-
|
|
39
|
+
res
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
def @
|
|
42
|
+
def @parsed.pos_json
|
|
43
43
|
JSON.generate self.pos rescue ''
|
|
44
44
|
end
|
|
45
|
-
|
|
45
|
+
|
|
46
|
+
def @parsed.all_json
|
|
47
|
+
JSON.generate self.all
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
@parsed.all
|
|
46
51
|
end
|
|
47
52
|
end
|
|
48
53
|
|
|
@@ -49,14 +49,14 @@ module ScientificNameCanonical
|
|
|
49
49
|
if r2
|
|
50
50
|
r0 = r2
|
|
51
51
|
else
|
|
52
|
-
|
|
52
|
+
@index = i0
|
|
53
53
|
r0 = nil
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
node_cache[:root][start_index] = r0
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
r0
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
module MultinomialWithGarbage0
|
|
@@ -212,7 +212,7 @@ module ScientificNameCanonical
|
|
|
212
212
|
r1.extend(MultinomialWithGarbage0)
|
|
213
213
|
r1.extend(MultinomialWithGarbage1)
|
|
214
214
|
else
|
|
215
|
-
|
|
215
|
+
@index = i1
|
|
216
216
|
r1 = nil
|
|
217
217
|
end
|
|
218
218
|
if r1
|
|
@@ -238,7 +238,7 @@ module ScientificNameCanonical
|
|
|
238
238
|
r8.extend(MultinomialWithGarbage2)
|
|
239
239
|
r8.extend(MultinomialWithGarbage3)
|
|
240
240
|
else
|
|
241
|
-
|
|
241
|
+
@index = i8
|
|
242
242
|
r8 = nil
|
|
243
243
|
end
|
|
244
244
|
if r8
|
|
@@ -264,13 +264,13 @@ module ScientificNameCanonical
|
|
|
264
264
|
r13.extend(MultinomialWithGarbage4)
|
|
265
265
|
r13.extend(MultinomialWithGarbage5)
|
|
266
266
|
else
|
|
267
|
-
|
|
267
|
+
@index = i13
|
|
268
268
|
r13 = nil
|
|
269
269
|
end
|
|
270
270
|
if r13
|
|
271
271
|
r0 = r13
|
|
272
272
|
else
|
|
273
|
-
|
|
273
|
+
@index = i0
|
|
274
274
|
r0 = nil
|
|
275
275
|
end
|
|
276
276
|
end
|
|
@@ -278,7 +278,7 @@ module ScientificNameCanonical
|
|
|
278
278
|
|
|
279
279
|
node_cache[:multinomial_with_garbage][start_index] = r0
|
|
280
280
|
|
|
281
|
-
|
|
281
|
+
r0
|
|
282
282
|
end
|
|
283
283
|
|
|
284
284
|
module UninomialWithGarbage0
|
|
@@ -329,13 +329,13 @@ module ScientificNameCanonical
|
|
|
329
329
|
r0.extend(UninomialWithGarbage0)
|
|
330
330
|
r0.extend(UninomialWithGarbage1)
|
|
331
331
|
else
|
|
332
|
-
|
|
332
|
+
@index = i0
|
|
333
333
|
r0 = nil
|
|
334
334
|
end
|
|
335
335
|
|
|
336
336
|
node_cache[:uninomial_with_garbage][start_index] = r0
|
|
337
337
|
|
|
338
|
-
|
|
338
|
+
r0
|
|
339
339
|
end
|
|
340
340
|
|
|
341
341
|
module Garbage0
|
|
@@ -369,7 +369,7 @@ module ScientificNameCanonical
|
|
|
369
369
|
r2 = _nt_space
|
|
370
370
|
s1 << r2
|
|
371
371
|
if r2
|
|
372
|
-
if
|
|
372
|
+
if has_terminal?('\G["\',.]', true, index)
|
|
373
373
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
374
374
|
@index += 1
|
|
375
375
|
else
|
|
@@ -382,7 +382,7 @@ module ScientificNameCanonical
|
|
|
382
382
|
if r4
|
|
383
383
|
s5, i5 = [], index
|
|
384
384
|
loop do
|
|
385
|
-
if
|
|
385
|
+
if has_terminal?('\G[^щ]', true, index)
|
|
386
386
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
387
387
|
@index += 1
|
|
388
388
|
else
|
|
@@ -403,7 +403,7 @@ module ScientificNameCanonical
|
|
|
403
403
|
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
|
404
404
|
r1.extend(Garbage0)
|
|
405
405
|
else
|
|
406
|
-
|
|
406
|
+
@index = i1
|
|
407
407
|
r1 = nil
|
|
408
408
|
end
|
|
409
409
|
if r1
|
|
@@ -415,7 +415,7 @@ module ScientificNameCanonical
|
|
|
415
415
|
if r8
|
|
416
416
|
s9, i9 = [], index
|
|
417
417
|
loop do
|
|
418
|
-
if
|
|
418
|
+
if has_terminal?('\G[^ш]', true, index)
|
|
419
419
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
420
420
|
@index += 1
|
|
421
421
|
else
|
|
@@ -428,7 +428,7 @@ module ScientificNameCanonical
|
|
|
428
428
|
end
|
|
429
429
|
end
|
|
430
430
|
if s9.empty?
|
|
431
|
-
|
|
431
|
+
@index = i9
|
|
432
432
|
r9 = nil
|
|
433
433
|
else
|
|
434
434
|
r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
|
|
@@ -439,20 +439,20 @@ module ScientificNameCanonical
|
|
|
439
439
|
r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
|
|
440
440
|
r7.extend(Garbage1)
|
|
441
441
|
else
|
|
442
|
-
|
|
442
|
+
@index = i7
|
|
443
443
|
r7 = nil
|
|
444
444
|
end
|
|
445
445
|
if r7
|
|
446
446
|
r0 = r7
|
|
447
447
|
else
|
|
448
|
-
|
|
448
|
+
@index = i0
|
|
449
449
|
r0 = nil
|
|
450
450
|
end
|
|
451
451
|
end
|
|
452
452
|
|
|
453
453
|
node_cache[:garbage][start_index] = r0
|
|
454
454
|
|
|
455
|
-
|
|
455
|
+
r0
|
|
456
456
|
end
|
|
457
457
|
|
|
458
458
|
end
|
|
@@ -66,13 +66,13 @@ module ScientificNameClean
|
|
|
66
66
|
r0.extend(Root0)
|
|
67
67
|
r0.extend(Root1)
|
|
68
68
|
else
|
|
69
|
-
|
|
69
|
+
@index = i0
|
|
70
70
|
r0 = nil
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
node_cache[:root][start_index] = r0
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
r0
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
module ScientificName50
|
|
@@ -152,7 +152,7 @@ module ScientificNameClean
|
|
|
152
152
|
r1.extend(ScientificName50)
|
|
153
153
|
r1.extend(ScientificName51)
|
|
154
154
|
else
|
|
155
|
-
|
|
155
|
+
@index = i1
|
|
156
156
|
r1 = nil
|
|
157
157
|
end
|
|
158
158
|
if r1
|
|
@@ -162,14 +162,14 @@ module ScientificNameClean
|
|
|
162
162
|
if r7
|
|
163
163
|
r0 = r7
|
|
164
164
|
else
|
|
165
|
-
|
|
165
|
+
@index = i0
|
|
166
166
|
r0 = nil
|
|
167
167
|
end
|
|
168
168
|
end
|
|
169
169
|
|
|
170
170
|
node_cache[:scientific_name_5][start_index] = r0
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
r0
|
|
173
173
|
end
|
|
174
174
|
|
|
175
175
|
module ScientificName40
|
|
@@ -290,7 +290,7 @@ module ScientificNameClean
|
|
|
290
290
|
r1.extend(ScientificName40)
|
|
291
291
|
r1.extend(ScientificName41)
|
|
292
292
|
else
|
|
293
|
-
|
|
293
|
+
@index = i1
|
|
294
294
|
r1 = nil
|
|
295
295
|
end
|
|
296
296
|
if r1
|
|
@@ -309,7 +309,7 @@ module ScientificNameClean
|
|
|
309
309
|
r11 = _nt_space
|
|
310
310
|
s7 << r11
|
|
311
311
|
if r11
|
|
312
|
-
if
|
|
312
|
+
if has_terminal?('\G[\\?]', true, index)
|
|
313
313
|
r13 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
314
314
|
@index += 1
|
|
315
315
|
else
|
|
@@ -330,7 +330,7 @@ module ScientificNameClean
|
|
|
330
330
|
r7.extend(ScientificName42)
|
|
331
331
|
r7.extend(ScientificName43)
|
|
332
332
|
else
|
|
333
|
-
|
|
333
|
+
@index = i7
|
|
334
334
|
r7 = nil
|
|
335
335
|
end
|
|
336
336
|
if r7
|
|
@@ -340,7 +340,7 @@ module ScientificNameClean
|
|
|
340
340
|
if r14
|
|
341
341
|
r0 = r14
|
|
342
342
|
else
|
|
343
|
-
|
|
343
|
+
@index = i0
|
|
344
344
|
r0 = nil
|
|
345
345
|
end
|
|
346
346
|
end
|
|
@@ -348,7 +348,7 @@ module ScientificNameClean
|
|
|
348
348
|
|
|
349
349
|
node_cache[:scientific_name_4][start_index] = r0
|
|
350
350
|
|
|
351
|
-
|
|
351
|
+
r0
|
|
352
352
|
end
|
|
353
353
|
|
|
354
354
|
module ScientificName30
|
|
@@ -412,7 +412,7 @@ module ScientificNameClean
|
|
|
412
412
|
r1.extend(ScientificName30)
|
|
413
413
|
r1.extend(ScientificName31)
|
|
414
414
|
else
|
|
415
|
-
|
|
415
|
+
@index = i1
|
|
416
416
|
r1 = nil
|
|
417
417
|
end
|
|
418
418
|
if r1
|
|
@@ -422,14 +422,14 @@ module ScientificNameClean
|
|
|
422
422
|
if r5
|
|
423
423
|
r0 = r5
|
|
424
424
|
else
|
|
425
|
-
|
|
425
|
+
@index = i0
|
|
426
426
|
r0 = nil
|
|
427
427
|
end
|
|
428
428
|
end
|
|
429
429
|
|
|
430
430
|
node_cache[:scientific_name_3][start_index] = r0
|
|
431
431
|
|
|
432
|
-
|
|
432
|
+
r0
|
|
433
433
|
end
|
|
434
434
|
|
|
435
435
|
module ScientificName20
|
|
@@ -493,7 +493,7 @@ module ScientificNameClean
|
|
|
493
493
|
r1.extend(ScientificName20)
|
|
494
494
|
r1.extend(ScientificName21)
|
|
495
495
|
else
|
|
496
|
-
|
|
496
|
+
@index = i1
|
|
497
497
|
r1 = nil
|
|
498
498
|
end
|
|
499
499
|
if r1
|
|
@@ -503,14 +503,14 @@ module ScientificNameClean
|
|
|
503
503
|
if r5
|
|
504
504
|
r0 = r5
|
|
505
505
|
else
|
|
506
|
-
|
|
506
|
+
@index = i0
|
|
507
507
|
r0 = nil
|
|
508
508
|
end
|
|
509
509
|
end
|
|
510
510
|
|
|
511
511
|
node_cache[:scientific_name_2][start_index] = r0
|
|
512
512
|
|
|
513
|
-
|
|
513
|
+
r0
|
|
514
514
|
end
|
|
515
515
|
|
|
516
516
|
def _nt_scientific_name_1
|
|
@@ -530,14 +530,14 @@ module ScientificNameClean
|
|
|
530
530
|
if r2
|
|
531
531
|
r0 = r2
|
|
532
532
|
else
|
|
533
|
-
|
|
533
|
+
@index = i0
|
|
534
534
|
r0 = nil
|
|
535
535
|
end
|
|
536
536
|
end
|
|
537
537
|
|
|
538
538
|
node_cache[:scientific_name_1][start_index] = r0
|
|
539
539
|
|
|
540
|
-
|
|
540
|
+
r0
|
|
541
541
|
end
|
|
542
542
|
|
|
543
543
|
module StatusPart0
|
|
@@ -588,7 +588,7 @@ module ScientificNameClean
|
|
|
588
588
|
r1.extend(StatusPart0)
|
|
589
589
|
r1.extend(StatusPart1)
|
|
590
590
|
else
|
|
591
|
-
|
|
591
|
+
@index = i1
|
|
592
592
|
r1 = nil
|
|
593
593
|
end
|
|
594
594
|
if r1
|
|
@@ -598,14 +598,14 @@ module ScientificNameClean
|
|
|
598
598
|
if r5
|
|
599
599
|
r0 = r5
|
|
600
600
|
else
|
|
601
|
-
|
|
601
|
+
@index = i0
|
|
602
602
|
r0 = nil
|
|
603
603
|
end
|
|
604
604
|
end
|
|
605
605
|
|
|
606
606
|
node_cache[:status_part][start_index] = r0
|
|
607
607
|
|
|
608
|
-
|
|
608
|
+
r0
|
|
609
609
|
end
|
|
610
610
|
|
|
611
611
|
module StatusWord0
|
|
@@ -636,7 +636,7 @@ module ScientificNameClean
|
|
|
636
636
|
r1 = _nt_latin_word
|
|
637
637
|
s0 << r1
|
|
638
638
|
if r1
|
|
639
|
-
if
|
|
639
|
+
if has_terminal?('\G[\\.]', true, index)
|
|
640
640
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
641
641
|
@index += 1
|
|
642
642
|
else
|
|
@@ -649,13 +649,13 @@ module ScientificNameClean
|
|
|
649
649
|
r0.extend(StatusWord0)
|
|
650
650
|
r0.extend(StatusWord1)
|
|
651
651
|
else
|
|
652
|
-
|
|
652
|
+
@index = i0
|
|
653
653
|
r0 = nil
|
|
654
654
|
end
|
|
655
655
|
|
|
656
656
|
node_cache[:status_word][start_index] = r0
|
|
657
657
|
|
|
658
|
-
|
|
658
|
+
r0
|
|
659
659
|
end
|
|
660
660
|
|
|
661
661
|
module MultinomialName0
|
|
@@ -904,7 +904,7 @@ module ScientificNameClean
|
|
|
904
904
|
r1.extend(MultinomialName0)
|
|
905
905
|
r1.extend(MultinomialName1)
|
|
906
906
|
else
|
|
907
|
-
|
|
907
|
+
@index = i1
|
|
908
908
|
r1 = nil
|
|
909
909
|
end
|
|
910
910
|
if r1
|
|
@@ -947,7 +947,7 @@ module ScientificNameClean
|
|
|
947
947
|
r12.extend(MultinomialName2)
|
|
948
948
|
r12.extend(MultinomialName3)
|
|
949
949
|
else
|
|
950
|
-
|
|
950
|
+
@index = i12
|
|
951
951
|
r12 = nil
|
|
952
952
|
end
|
|
953
953
|
if r12
|
|
@@ -990,7 +990,7 @@ module ScientificNameClean
|
|
|
990
990
|
r21.extend(MultinomialName4)
|
|
991
991
|
r21.extend(MultinomialName5)
|
|
992
992
|
else
|
|
993
|
-
|
|
993
|
+
@index = i21
|
|
994
994
|
r21 = nil
|
|
995
995
|
end
|
|
996
996
|
if r21
|
|
@@ -1025,13 +1025,13 @@ module ScientificNameClean
|
|
|
1025
1025
|
r30.extend(MultinomialName6)
|
|
1026
1026
|
r30.extend(MultinomialName7)
|
|
1027
1027
|
else
|
|
1028
|
-
|
|
1028
|
+
@index = i30
|
|
1029
1029
|
r30 = nil
|
|
1030
1030
|
end
|
|
1031
1031
|
if r30
|
|
1032
1032
|
r0 = r30
|
|
1033
1033
|
else
|
|
1034
|
-
|
|
1034
|
+
@index = i0
|
|
1035
1035
|
r0 = nil
|
|
1036
1036
|
end
|
|
1037
1037
|
end
|
|
@@ -1040,7 +1040,7 @@ module ScientificNameClean
|
|
|
1040
1040
|
|
|
1041
1041
|
node_cache[:multinomial_name][start_index] = r0
|
|
1042
1042
|
|
|
1043
|
-
|
|
1043
|
+
r0
|
|
1044
1044
|
end
|
|
1045
1045
|
|
|
1046
1046
|
module InfraspeciesMult0
|
|
@@ -1108,7 +1108,7 @@ module ScientificNameClean
|
|
|
1108
1108
|
r1.extend(InfraspeciesMult0)
|
|
1109
1109
|
r1.extend(InfraspeciesMult1)
|
|
1110
1110
|
else
|
|
1111
|
-
|
|
1111
|
+
@index = i1
|
|
1112
1112
|
r1 = nil
|
|
1113
1113
|
end
|
|
1114
1114
|
if r1
|
|
@@ -1119,14 +1119,14 @@ module ScientificNameClean
|
|
|
1119
1119
|
if r5
|
|
1120
1120
|
r0 = r5
|
|
1121
1121
|
else
|
|
1122
|
-
|
|
1122
|
+
@index = i0
|
|
1123
1123
|
r0 = nil
|
|
1124
1124
|
end
|
|
1125
1125
|
end
|
|
1126
1126
|
|
|
1127
1127
|
node_cache[:infraspecies_mult][start_index] = r0
|
|
1128
1128
|
|
|
1129
|
-
|
|
1129
|
+
r0
|
|
1130
1130
|
end
|
|
1131
1131
|
|
|
1132
1132
|
module Infraspecies0
|
|
@@ -1186,7 +1186,7 @@ module ScientificNameClean
|
|
|
1186
1186
|
r1.extend(Infraspecies0)
|
|
1187
1187
|
r1.extend(Infraspecies1)
|
|
1188
1188
|
else
|
|
1189
|
-
|
|
1189
|
+
@index = i1
|
|
1190
1190
|
r1 = nil
|
|
1191
1191
|
end
|
|
1192
1192
|
if r1
|
|
@@ -1196,14 +1196,14 @@ module ScientificNameClean
|
|
|
1196
1196
|
if r5
|
|
1197
1197
|
r0 = r5
|
|
1198
1198
|
else
|
|
1199
|
-
|
|
1199
|
+
@index = i0
|
|
1200
1200
|
r0 = nil
|
|
1201
1201
|
end
|
|
1202
1202
|
end
|
|
1203
1203
|
|
|
1204
1204
|
node_cache[:infraspecies][start_index] = r0
|
|
1205
1205
|
|
|
1206
|
-
|
|
1206
|
+
r0
|
|
1207
1207
|
end
|
|
1208
1208
|
|
|
1209
1209
|
module InfraspeciesEpitheton0
|
|
@@ -1287,7 +1287,7 @@ module ScientificNameClean
|
|
|
1287
1287
|
r1.extend(InfraspeciesEpitheton0)
|
|
1288
1288
|
r1.extend(InfraspeciesEpitheton1)
|
|
1289
1289
|
else
|
|
1290
|
-
|
|
1290
|
+
@index = i1
|
|
1291
1291
|
r1 = nil
|
|
1292
1292
|
end
|
|
1293
1293
|
if r1
|
|
@@ -1298,7 +1298,7 @@ module ScientificNameClean
|
|
|
1298
1298
|
s5 << r6
|
|
1299
1299
|
if r6
|
|
1300
1300
|
i7 = index
|
|
1301
|
-
if
|
|
1301
|
+
if has_terminal?('\G[\\.]', true, index)
|
|
1302
1302
|
r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
1303
1303
|
@index += 1
|
|
1304
1304
|
else
|
|
@@ -1307,7 +1307,7 @@ module ScientificNameClean
|
|
|
1307
1307
|
if r8
|
|
1308
1308
|
r7 = nil
|
|
1309
1309
|
else
|
|
1310
|
-
|
|
1310
|
+
@index = i7
|
|
1311
1311
|
r7 = instantiate_node(SyntaxNode,input, index...index)
|
|
1312
1312
|
end
|
|
1313
1313
|
s5 << r7
|
|
@@ -1317,20 +1317,20 @@ module ScientificNameClean
|
|
|
1317
1317
|
r5.extend(InfraspeciesEpitheton2)
|
|
1318
1318
|
r5.extend(InfraspeciesEpitheton3)
|
|
1319
1319
|
else
|
|
1320
|
-
|
|
1320
|
+
@index = i5
|
|
1321
1321
|
r5 = nil
|
|
1322
1322
|
end
|
|
1323
1323
|
if r5
|
|
1324
1324
|
r0 = r5
|
|
1325
1325
|
else
|
|
1326
|
-
|
|
1326
|
+
@index = i0
|
|
1327
1327
|
r0 = nil
|
|
1328
1328
|
end
|
|
1329
1329
|
end
|
|
1330
1330
|
|
|
1331
1331
|
node_cache[:infraspecies_epitheton][start_index] = r0
|
|
1332
1332
|
|
|
1333
|
-
|
|
1333
|
+
r0
|
|
1334
1334
|
end
|
|
1335
1335
|
|
|
1336
1336
|
module TaxonConceptRank0
|
|
@@ -1354,7 +1354,7 @@ module ScientificNameClean
|
|
|
1354
1354
|
end
|
|
1355
1355
|
|
|
1356
1356
|
i0 = index
|
|
1357
|
-
if
|
|
1357
|
+
if has_terminal?("sec.", false, index)
|
|
1358
1358
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1359
1359
|
@index += 4
|
|
1360
1360
|
else
|
|
@@ -1365,7 +1365,7 @@ module ScientificNameClean
|
|
|
1365
1365
|
r0 = r1
|
|
1366
1366
|
r0.extend(TaxonConceptRank0)
|
|
1367
1367
|
else
|
|
1368
|
-
if
|
|
1368
|
+
if has_terminal?("sensu.", false, index)
|
|
1369
1369
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
|
1370
1370
|
@index += 6
|
|
1371
1371
|
else
|
|
@@ -1376,14 +1376,14 @@ module ScientificNameClean
|
|
|
1376
1376
|
r0 = r2
|
|
1377
1377
|
r0.extend(TaxonConceptRank0)
|
|
1378
1378
|
else
|
|
1379
|
-
|
|
1379
|
+
@index = i0
|
|
1380
1380
|
r0 = nil
|
|
1381
1381
|
end
|
|
1382
1382
|
end
|
|
1383
1383
|
|
|
1384
1384
|
node_cache[:taxon_concept_rank][start_index] = r0
|
|
1385
1385
|
|
|
1386
|
-
|
|
1386
|
+
r0
|
|
1387
1387
|
end
|
|
1388
1388
|
|
|
1389
1389
|
module Rank0
|
|
@@ -1414,7 +1414,7 @@ module ScientificNameClean
|
|
|
1414
1414
|
|
|
1415
1415
|
i0 = index
|
|
1416
1416
|
i1 = index
|
|
1417
|
-
if
|
|
1417
|
+
if has_terminal?("morph.", false, index)
|
|
1418
1418
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
|
1419
1419
|
@index += 6
|
|
1420
1420
|
else
|
|
@@ -1425,7 +1425,7 @@ module ScientificNameClean
|
|
|
1425
1425
|
r1 = r2
|
|
1426
1426
|
r1.extend(Rank0)
|
|
1427
1427
|
else
|
|
1428
|
-
if
|
|
1428
|
+
if has_terminal?("f.sp.", false, index)
|
|
1429
1429
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
1430
1430
|
@index += 5
|
|
1431
1431
|
else
|
|
@@ -1436,7 +1436,7 @@ module ScientificNameClean
|
|
|
1436
1436
|
r1 = r3
|
|
1437
1437
|
r1.extend(Rank0)
|
|
1438
1438
|
else
|
|
1439
|
-
if
|
|
1439
|
+
if has_terminal?("B", false, index)
|
|
1440
1440
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
1441
1441
|
@index += 1
|
|
1442
1442
|
else
|
|
@@ -1447,7 +1447,7 @@ module ScientificNameClean
|
|
|
1447
1447
|
r1 = r4
|
|
1448
1448
|
r1.extend(Rank0)
|
|
1449
1449
|
else
|
|
1450
|
-
if
|
|
1450
|
+
if has_terminal?("ssp.", false, index)
|
|
1451
1451
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1452
1452
|
@index += 4
|
|
1453
1453
|
else
|
|
@@ -1458,7 +1458,7 @@ module ScientificNameClean
|
|
|
1458
1458
|
r1 = r5
|
|
1459
1459
|
r1.extend(Rank0)
|
|
1460
1460
|
else
|
|
1461
|
-
if
|
|
1461
|
+
if has_terminal?("mut.", false, index)
|
|
1462
1462
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1463
1463
|
@index += 4
|
|
1464
1464
|
else
|
|
@@ -1469,7 +1469,7 @@ module ScientificNameClean
|
|
|
1469
1469
|
r1 = r6
|
|
1470
1470
|
r1.extend(Rank0)
|
|
1471
1471
|
else
|
|
1472
|
-
if
|
|
1472
|
+
if has_terminal?("nat", false, index)
|
|
1473
1473
|
r7 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
1474
1474
|
@index += 3
|
|
1475
1475
|
else
|
|
@@ -1480,7 +1480,7 @@ module ScientificNameClean
|
|
|
1480
1480
|
r1 = r7
|
|
1481
1481
|
r1.extend(Rank0)
|
|
1482
1482
|
else
|
|
1483
|
-
if
|
|
1483
|
+
if has_terminal?("nothosubsp.", false, index)
|
|
1484
1484
|
r8 = instantiate_node(SyntaxNode,input, index...(index + 11))
|
|
1485
1485
|
@index += 11
|
|
1486
1486
|
else
|
|
@@ -1491,7 +1491,7 @@ module ScientificNameClean
|
|
|
1491
1491
|
r1 = r8
|
|
1492
1492
|
r1.extend(Rank0)
|
|
1493
1493
|
else
|
|
1494
|
-
if
|
|
1494
|
+
if has_terminal?("pseudovar.", false, index)
|
|
1495
1495
|
r9 = instantiate_node(SyntaxNode,input, index...(index + 10))
|
|
1496
1496
|
@index += 10
|
|
1497
1497
|
else
|
|
@@ -1502,7 +1502,7 @@ module ScientificNameClean
|
|
|
1502
1502
|
r1 = r9
|
|
1503
1503
|
r1.extend(Rank0)
|
|
1504
1504
|
else
|
|
1505
|
-
if
|
|
1505
|
+
if has_terminal?("sect.", false, index)
|
|
1506
1506
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
1507
1507
|
@index += 5
|
|
1508
1508
|
else
|
|
@@ -1513,7 +1513,7 @@ module ScientificNameClean
|
|
|
1513
1513
|
r1 = r10
|
|
1514
1514
|
r1.extend(Rank0)
|
|
1515
1515
|
else
|
|
1516
|
-
if
|
|
1516
|
+
if has_terminal?("ser.", false, index)
|
|
1517
1517
|
r11 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1518
1518
|
@index += 4
|
|
1519
1519
|
else
|
|
@@ -1524,7 +1524,7 @@ module ScientificNameClean
|
|
|
1524
1524
|
r1 = r11
|
|
1525
1525
|
r1.extend(Rank0)
|
|
1526
1526
|
else
|
|
1527
|
-
if
|
|
1527
|
+
if has_terminal?("var.", false, index)
|
|
1528
1528
|
r12 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1529
1529
|
@index += 4
|
|
1530
1530
|
else
|
|
@@ -1535,7 +1535,7 @@ module ScientificNameClean
|
|
|
1535
1535
|
r1 = r12
|
|
1536
1536
|
r1.extend(Rank0)
|
|
1537
1537
|
else
|
|
1538
|
-
if
|
|
1538
|
+
if has_terminal?("subvar.", false, index)
|
|
1539
1539
|
r13 = instantiate_node(SyntaxNode,input, index...(index + 7))
|
|
1540
1540
|
@index += 7
|
|
1541
1541
|
else
|
|
@@ -1546,7 +1546,7 @@ module ScientificNameClean
|
|
|
1546
1546
|
r1 = r13
|
|
1547
1547
|
r1.extend(Rank0)
|
|
1548
1548
|
else
|
|
1549
|
-
if
|
|
1549
|
+
if has_terminal?("[var.]", false, index)
|
|
1550
1550
|
r14 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
|
1551
1551
|
@index += 6
|
|
1552
1552
|
else
|
|
@@ -1557,7 +1557,7 @@ module ScientificNameClean
|
|
|
1557
1557
|
r1 = r14
|
|
1558
1558
|
r1.extend(Rank0)
|
|
1559
1559
|
else
|
|
1560
|
-
if
|
|
1560
|
+
if has_terminal?("subsp.", false, index)
|
|
1561
1561
|
r15 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
|
1562
1562
|
@index += 6
|
|
1563
1563
|
else
|
|
@@ -1568,7 +1568,7 @@ module ScientificNameClean
|
|
|
1568
1568
|
r1 = r15
|
|
1569
1569
|
r1.extend(Rank0)
|
|
1570
1570
|
else
|
|
1571
|
-
if
|
|
1571
|
+
if has_terminal?("subf.", false, index)
|
|
1572
1572
|
r16 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
1573
1573
|
@index += 5
|
|
1574
1574
|
else
|
|
@@ -1579,7 +1579,7 @@ module ScientificNameClean
|
|
|
1579
1579
|
r1 = r16
|
|
1580
1580
|
r1.extend(Rank0)
|
|
1581
1581
|
else
|
|
1582
|
-
if
|
|
1582
|
+
if has_terminal?("race", false, index)
|
|
1583
1583
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1584
1584
|
@index += 4
|
|
1585
1585
|
else
|
|
@@ -1590,7 +1590,7 @@ module ScientificNameClean
|
|
|
1590
1590
|
r1 = r17
|
|
1591
1591
|
r1.extend(Rank0)
|
|
1592
1592
|
else
|
|
1593
|
-
if
|
|
1593
|
+
if has_terminal?("α", false, index)
|
|
1594
1594
|
r18 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1595
1595
|
@index += 2
|
|
1596
1596
|
else
|
|
@@ -1601,7 +1601,7 @@ module ScientificNameClean
|
|
|
1601
1601
|
r1 = r18
|
|
1602
1602
|
r1.extend(Rank0)
|
|
1603
1603
|
else
|
|
1604
|
-
if
|
|
1604
|
+
if has_terminal?("ββ", false, index)
|
|
1605
1605
|
r19 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1606
1606
|
@index += 4
|
|
1607
1607
|
else
|
|
@@ -1612,7 +1612,7 @@ module ScientificNameClean
|
|
|
1612
1612
|
r1 = r19
|
|
1613
1613
|
r1.extend(Rank0)
|
|
1614
1614
|
else
|
|
1615
|
-
if
|
|
1615
|
+
if has_terminal?("β", false, index)
|
|
1616
1616
|
r20 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1617
1617
|
@index += 2
|
|
1618
1618
|
else
|
|
@@ -1623,7 +1623,7 @@ module ScientificNameClean
|
|
|
1623
1623
|
r1 = r20
|
|
1624
1624
|
r1.extend(Rank0)
|
|
1625
1625
|
else
|
|
1626
|
-
if
|
|
1626
|
+
if has_terminal?("γ", false, index)
|
|
1627
1627
|
r21 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1628
1628
|
@index += 2
|
|
1629
1629
|
else
|
|
@@ -1634,7 +1634,7 @@ module ScientificNameClean
|
|
|
1634
1634
|
r1 = r21
|
|
1635
1635
|
r1.extend(Rank0)
|
|
1636
1636
|
else
|
|
1637
|
-
if
|
|
1637
|
+
if has_terminal?("δ", false, index)
|
|
1638
1638
|
r22 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1639
1639
|
@index += 2
|
|
1640
1640
|
else
|
|
@@ -1645,7 +1645,7 @@ module ScientificNameClean
|
|
|
1645
1645
|
r1 = r22
|
|
1646
1646
|
r1.extend(Rank0)
|
|
1647
1647
|
else
|
|
1648
|
-
if
|
|
1648
|
+
if has_terminal?("ε", false, index)
|
|
1649
1649
|
r23 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1650
1650
|
@index += 2
|
|
1651
1651
|
else
|
|
@@ -1656,7 +1656,7 @@ module ScientificNameClean
|
|
|
1656
1656
|
r1 = r23
|
|
1657
1657
|
r1.extend(Rank0)
|
|
1658
1658
|
else
|
|
1659
|
-
if
|
|
1659
|
+
if has_terminal?("φ", false, index)
|
|
1660
1660
|
r24 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1661
1661
|
@index += 2
|
|
1662
1662
|
else
|
|
@@ -1667,7 +1667,7 @@ module ScientificNameClean
|
|
|
1667
1667
|
r1 = r24
|
|
1668
1668
|
r1.extend(Rank0)
|
|
1669
1669
|
else
|
|
1670
|
-
if
|
|
1670
|
+
if has_terminal?("θ", false, index)
|
|
1671
1671
|
r25 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1672
1672
|
@index += 2
|
|
1673
1673
|
else
|
|
@@ -1678,7 +1678,7 @@ module ScientificNameClean
|
|
|
1678
1678
|
r1 = r25
|
|
1679
1679
|
r1.extend(Rank0)
|
|
1680
1680
|
else
|
|
1681
|
-
if
|
|
1681
|
+
if has_terminal?("μ", false, index)
|
|
1682
1682
|
r26 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1683
1683
|
@index += 2
|
|
1684
1684
|
else
|
|
@@ -1689,7 +1689,7 @@ module ScientificNameClean
|
|
|
1689
1689
|
r1 = r26
|
|
1690
1690
|
r1.extend(Rank0)
|
|
1691
1691
|
else
|
|
1692
|
-
if
|
|
1692
|
+
if has_terminal?("a.", false, index)
|
|
1693
1693
|
r27 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1694
1694
|
@index += 2
|
|
1695
1695
|
else
|
|
@@ -1700,7 +1700,7 @@ module ScientificNameClean
|
|
|
1700
1700
|
r1 = r27
|
|
1701
1701
|
r1.extend(Rank0)
|
|
1702
1702
|
else
|
|
1703
|
-
if
|
|
1703
|
+
if has_terminal?("b.", false, index)
|
|
1704
1704
|
r28 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1705
1705
|
@index += 2
|
|
1706
1706
|
else
|
|
@@ -1711,7 +1711,7 @@ module ScientificNameClean
|
|
|
1711
1711
|
r1 = r28
|
|
1712
1712
|
r1.extend(Rank0)
|
|
1713
1713
|
else
|
|
1714
|
-
if
|
|
1714
|
+
if has_terminal?("c.", false, index)
|
|
1715
1715
|
r29 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1716
1716
|
@index += 2
|
|
1717
1717
|
else
|
|
@@ -1722,7 +1722,7 @@ module ScientificNameClean
|
|
|
1722
1722
|
r1 = r29
|
|
1723
1723
|
r1.extend(Rank0)
|
|
1724
1724
|
else
|
|
1725
|
-
if
|
|
1725
|
+
if has_terminal?("d.", false, index)
|
|
1726
1726
|
r30 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1727
1727
|
@index += 2
|
|
1728
1728
|
else
|
|
@@ -1733,7 +1733,7 @@ module ScientificNameClean
|
|
|
1733
1733
|
r1 = r30
|
|
1734
1734
|
r1.extend(Rank0)
|
|
1735
1735
|
else
|
|
1736
|
-
if
|
|
1736
|
+
if has_terminal?("e.", false, index)
|
|
1737
1737
|
r31 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1738
1738
|
@index += 2
|
|
1739
1739
|
else
|
|
@@ -1744,7 +1744,7 @@ module ScientificNameClean
|
|
|
1744
1744
|
r1 = r31
|
|
1745
1745
|
r1.extend(Rank0)
|
|
1746
1746
|
else
|
|
1747
|
-
if
|
|
1747
|
+
if has_terminal?("g.", false, index)
|
|
1748
1748
|
r32 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1749
1749
|
@index += 2
|
|
1750
1750
|
else
|
|
@@ -1755,7 +1755,7 @@ module ScientificNameClean
|
|
|
1755
1755
|
r1 = r32
|
|
1756
1756
|
r1.extend(Rank0)
|
|
1757
1757
|
else
|
|
1758
|
-
if
|
|
1758
|
+
if has_terminal?("k.", false, index)
|
|
1759
1759
|
r33 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1760
1760
|
@index += 2
|
|
1761
1761
|
else
|
|
@@ -1766,7 +1766,7 @@ module ScientificNameClean
|
|
|
1766
1766
|
r1 = r33
|
|
1767
1767
|
r1.extend(Rank0)
|
|
1768
1768
|
else
|
|
1769
|
-
if
|
|
1769
|
+
if has_terminal?("****", false, index)
|
|
1770
1770
|
r34 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
1771
1771
|
@index += 4
|
|
1772
1772
|
else
|
|
@@ -1777,7 +1777,7 @@ module ScientificNameClean
|
|
|
1777
1777
|
r1 = r34
|
|
1778
1778
|
r1.extend(Rank0)
|
|
1779
1779
|
else
|
|
1780
|
-
if
|
|
1780
|
+
if has_terminal?("**", false, index)
|
|
1781
1781
|
r35 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1782
1782
|
@index += 2
|
|
1783
1783
|
else
|
|
@@ -1788,7 +1788,7 @@ module ScientificNameClean
|
|
|
1788
1788
|
r1 = r35
|
|
1789
1789
|
r1.extend(Rank0)
|
|
1790
1790
|
else
|
|
1791
|
-
if
|
|
1791
|
+
if has_terminal?("*", false, index)
|
|
1792
1792
|
r36 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
1793
1793
|
@index += 1
|
|
1794
1794
|
else
|
|
@@ -1799,7 +1799,7 @@ module ScientificNameClean
|
|
|
1799
1799
|
r1 = r36
|
|
1800
1800
|
r1.extend(Rank0)
|
|
1801
1801
|
else
|
|
1802
|
-
|
|
1802
|
+
@index = i1
|
|
1803
1803
|
r1 = nil
|
|
1804
1804
|
end
|
|
1805
1805
|
end
|
|
@@ -1843,14 +1843,14 @@ module ScientificNameClean
|
|
|
1843
1843
|
if r37
|
|
1844
1844
|
r0 = r37
|
|
1845
1845
|
else
|
|
1846
|
-
|
|
1846
|
+
@index = i0
|
|
1847
1847
|
r0 = nil
|
|
1848
1848
|
end
|
|
1849
1849
|
end
|
|
1850
1850
|
|
|
1851
1851
|
node_cache[:rank][start_index] = r0
|
|
1852
1852
|
|
|
1853
|
-
|
|
1853
|
+
r0
|
|
1854
1854
|
end
|
|
1855
1855
|
|
|
1856
1856
|
module RankForma0
|
|
@@ -1877,7 +1877,7 @@ module ScientificNameClean
|
|
|
1877
1877
|
end
|
|
1878
1878
|
|
|
1879
1879
|
i0 = index
|
|
1880
|
-
if
|
|
1880
|
+
if has_terminal?("forma", false, index)
|
|
1881
1881
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
1882
1882
|
@index += 5
|
|
1883
1883
|
else
|
|
@@ -1888,7 +1888,7 @@ module ScientificNameClean
|
|
|
1888
1888
|
r0 = r1
|
|
1889
1889
|
r0.extend(RankForma0)
|
|
1890
1890
|
else
|
|
1891
|
-
if
|
|
1891
|
+
if has_terminal?("form.", false, index)
|
|
1892
1892
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
1893
1893
|
@index += 5
|
|
1894
1894
|
else
|
|
@@ -1899,7 +1899,7 @@ module ScientificNameClean
|
|
|
1899
1899
|
r0 = r2
|
|
1900
1900
|
r0.extend(RankForma0)
|
|
1901
1901
|
else
|
|
1902
|
-
if
|
|
1902
|
+
if has_terminal?("fo.", false, index)
|
|
1903
1903
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
1904
1904
|
@index += 3
|
|
1905
1905
|
else
|
|
@@ -1910,7 +1910,7 @@ module ScientificNameClean
|
|
|
1910
1910
|
r0 = r3
|
|
1911
1911
|
r0.extend(RankForma0)
|
|
1912
1912
|
else
|
|
1913
|
-
if
|
|
1913
|
+
if has_terminal?("f.", false, index)
|
|
1914
1914
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
1915
1915
|
@index += 2
|
|
1916
1916
|
else
|
|
@@ -1921,7 +1921,7 @@ module ScientificNameClean
|
|
|
1921
1921
|
r0 = r4
|
|
1922
1922
|
r0.extend(RankForma0)
|
|
1923
1923
|
else
|
|
1924
|
-
|
|
1924
|
+
@index = i0
|
|
1925
1925
|
r0 = nil
|
|
1926
1926
|
end
|
|
1927
1927
|
end
|
|
@@ -1930,7 +1930,7 @@ module ScientificNameClean
|
|
|
1930
1930
|
|
|
1931
1931
|
node_cache[:rank_forma][start_index] = r0
|
|
1932
1932
|
|
|
1933
|
-
|
|
1933
|
+
r0
|
|
1934
1934
|
end
|
|
1935
1935
|
|
|
1936
1936
|
module Species0
|
|
@@ -1994,7 +1994,7 @@ module ScientificNameClean
|
|
|
1994
1994
|
r1.extend(Species0)
|
|
1995
1995
|
r1.extend(Species1)
|
|
1996
1996
|
else
|
|
1997
|
-
|
|
1997
|
+
@index = i1
|
|
1998
1998
|
r1 = nil
|
|
1999
1999
|
end
|
|
2000
2000
|
if r1
|
|
@@ -2004,14 +2004,14 @@ module ScientificNameClean
|
|
|
2004
2004
|
if r5
|
|
2005
2005
|
r0 = r5
|
|
2006
2006
|
else
|
|
2007
|
-
|
|
2007
|
+
@index = i0
|
|
2008
2008
|
r0 = nil
|
|
2009
2009
|
end
|
|
2010
2010
|
end
|
|
2011
2011
|
|
|
2012
2012
|
node_cache[:species][start_index] = r0
|
|
2013
2013
|
|
|
2014
|
-
|
|
2014
|
+
r0
|
|
2015
2015
|
end
|
|
2016
2016
|
|
|
2017
2017
|
module SpeciesEpitheton0
|
|
@@ -2104,11 +2104,11 @@ module ScientificNameClean
|
|
|
2104
2104
|
r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
|
|
2105
2105
|
r4.extend(SpeciesEpitheton0)
|
|
2106
2106
|
else
|
|
2107
|
-
|
|
2107
|
+
@index = i4
|
|
2108
2108
|
r4 = nil
|
|
2109
2109
|
end
|
|
2110
2110
|
if r4
|
|
2111
|
-
|
|
2111
|
+
@index = i3
|
|
2112
2112
|
r3 = instantiate_node(SyntaxNode,input, index...index)
|
|
2113
2113
|
else
|
|
2114
2114
|
r3 = nil
|
|
@@ -2120,7 +2120,7 @@ module ScientificNameClean
|
|
|
2120
2120
|
r1.extend(SpeciesEpitheton1)
|
|
2121
2121
|
r1.extend(SpeciesEpitheton2)
|
|
2122
2122
|
else
|
|
2123
|
-
|
|
2123
|
+
@index = i1
|
|
2124
2124
|
r1 = nil
|
|
2125
2125
|
end
|
|
2126
2126
|
if r1
|
|
@@ -2135,7 +2135,7 @@ module ScientificNameClean
|
|
|
2135
2135
|
if r9
|
|
2136
2136
|
r0 = r9
|
|
2137
2137
|
else
|
|
2138
|
-
|
|
2138
|
+
@index = i0
|
|
2139
2139
|
r0 = nil
|
|
2140
2140
|
end
|
|
2141
2141
|
end
|
|
@@ -2143,7 +2143,7 @@ module ScientificNameClean
|
|
|
2143
2143
|
|
|
2144
2144
|
node_cache[:species_epitheton][start_index] = r0
|
|
2145
2145
|
|
|
2146
|
-
|
|
2146
|
+
r0
|
|
2147
2147
|
end
|
|
2148
2148
|
|
|
2149
2149
|
module Subgenus0
|
|
@@ -2218,13 +2218,13 @@ module ScientificNameClean
|
|
|
2218
2218
|
r0.extend(Subgenus0)
|
|
2219
2219
|
r0.extend(Subgenus1)
|
|
2220
2220
|
else
|
|
2221
|
-
|
|
2221
|
+
@index = i0
|
|
2222
2222
|
r0 = nil
|
|
2223
2223
|
end
|
|
2224
2224
|
|
|
2225
2225
|
node_cache[:subgenus][start_index] = r0
|
|
2226
2226
|
|
|
2227
|
-
|
|
2227
|
+
r0
|
|
2228
2228
|
end
|
|
2229
2229
|
|
|
2230
2230
|
module Genus0
|
|
@@ -2302,13 +2302,13 @@ module ScientificNameClean
|
|
|
2302
2302
|
r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
|
|
2303
2303
|
r3.extend(Genus0)
|
|
2304
2304
|
else
|
|
2305
|
-
|
|
2305
|
+
@index = i3
|
|
2306
2306
|
r3 = nil
|
|
2307
2307
|
end
|
|
2308
2308
|
if r3
|
|
2309
2309
|
r2 = nil
|
|
2310
2310
|
else
|
|
2311
|
-
|
|
2311
|
+
@index = i2
|
|
2312
2312
|
r2 = instantiate_node(SyntaxNode,input, index...index)
|
|
2313
2313
|
end
|
|
2314
2314
|
s0 << r2
|
|
@@ -2318,13 +2318,13 @@ module ScientificNameClean
|
|
|
2318
2318
|
r0.extend(Genus1)
|
|
2319
2319
|
r0.extend(Genus2)
|
|
2320
2320
|
else
|
|
2321
|
-
|
|
2321
|
+
@index = i0
|
|
2322
2322
|
r0 = nil
|
|
2323
2323
|
end
|
|
2324
2324
|
|
|
2325
2325
|
node_cache[:genus][start_index] = r0
|
|
2326
2326
|
|
|
2327
|
-
|
|
2327
|
+
r0
|
|
2328
2328
|
end
|
|
2329
2329
|
|
|
2330
2330
|
module UninomialName0
|
|
@@ -2388,7 +2388,7 @@ module ScientificNameClean
|
|
|
2388
2388
|
r1.extend(UninomialName0)
|
|
2389
2389
|
r1.extend(UninomialName1)
|
|
2390
2390
|
else
|
|
2391
|
-
|
|
2391
|
+
@index = i1
|
|
2392
2392
|
r1 = nil
|
|
2393
2393
|
end
|
|
2394
2394
|
if r1
|
|
@@ -2398,14 +2398,14 @@ module ScientificNameClean
|
|
|
2398
2398
|
if r5
|
|
2399
2399
|
r0 = r5
|
|
2400
2400
|
else
|
|
2401
|
-
|
|
2401
|
+
@index = i0
|
|
2402
2402
|
r0 = nil
|
|
2403
2403
|
end
|
|
2404
2404
|
end
|
|
2405
2405
|
|
|
2406
2406
|
node_cache[:uninomial_name][start_index] = r0
|
|
2407
2407
|
|
|
2408
|
-
|
|
2408
|
+
r0
|
|
2409
2409
|
end
|
|
2410
2410
|
|
|
2411
2411
|
module UninomialEpitheton0
|
|
@@ -2439,7 +2439,7 @@ module ScientificNameClean
|
|
|
2439
2439
|
|
|
2440
2440
|
node_cache[:uninomial_epitheton][start_index] = r0
|
|
2441
2441
|
|
|
2442
|
-
|
|
2442
|
+
r0
|
|
2443
2443
|
end
|
|
2444
2444
|
|
|
2445
2445
|
module Authorship0
|
|
@@ -2558,7 +2558,7 @@ module ScientificNameClean
|
|
|
2558
2558
|
r4 = _nt_simple_authorship
|
|
2559
2559
|
s1 << r4
|
|
2560
2560
|
if r4
|
|
2561
|
-
if
|
|
2561
|
+
if has_terminal?(",", false, index)
|
|
2562
2562
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
2563
2563
|
@index += 1
|
|
2564
2564
|
else
|
|
@@ -2587,7 +2587,7 @@ module ScientificNameClean
|
|
|
2587
2587
|
r1.extend(Authorship0)
|
|
2588
2588
|
r1.extend(Authorship1)
|
|
2589
2589
|
else
|
|
2590
|
-
|
|
2590
|
+
@index = i1
|
|
2591
2591
|
r1 = nil
|
|
2592
2592
|
end
|
|
2593
2593
|
if r1
|
|
@@ -2609,7 +2609,7 @@ module ScientificNameClean
|
|
|
2609
2609
|
r9.extend(Authorship2)
|
|
2610
2610
|
r9.extend(Authorship3)
|
|
2611
2611
|
else
|
|
2612
|
-
|
|
2612
|
+
@index = i9
|
|
2613
2613
|
r9 = nil
|
|
2614
2614
|
end
|
|
2615
2615
|
if r9
|
|
@@ -2623,7 +2623,7 @@ module ScientificNameClean
|
|
|
2623
2623
|
r15 = _nt_simple_authorship
|
|
2624
2624
|
s14 << r15
|
|
2625
2625
|
if r15
|
|
2626
|
-
if
|
|
2626
|
+
if has_terminal?(",", false, index)
|
|
2627
2627
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
2628
2628
|
@index += 1
|
|
2629
2629
|
else
|
|
@@ -2650,7 +2650,7 @@ module ScientificNameClean
|
|
|
2650
2650
|
r14.extend(Authorship4)
|
|
2651
2651
|
r14.extend(Authorship5)
|
|
2652
2652
|
else
|
|
2653
|
-
|
|
2653
|
+
@index = i14
|
|
2654
2654
|
r14 = nil
|
|
2655
2655
|
end
|
|
2656
2656
|
if r14
|
|
@@ -2660,7 +2660,7 @@ module ScientificNameClean
|
|
|
2660
2660
|
if r20
|
|
2661
2661
|
r0 = r20
|
|
2662
2662
|
else
|
|
2663
|
-
|
|
2663
|
+
@index = i0
|
|
2664
2664
|
r0 = nil
|
|
2665
2665
|
end
|
|
2666
2666
|
end
|
|
@@ -2670,7 +2670,7 @@ module ScientificNameClean
|
|
|
2670
2670
|
|
|
2671
2671
|
node_cache[:authorship][start_index] = r0
|
|
2672
2672
|
|
|
2673
|
-
|
|
2673
|
+
r0
|
|
2674
2674
|
end
|
|
2675
2675
|
|
|
2676
2676
|
module BasionymAuthorshipWithParenthesis0
|
|
@@ -2872,7 +2872,7 @@ module ScientificNameClean
|
|
|
2872
2872
|
r7 = _nt_space
|
|
2873
2873
|
s1 << r7
|
|
2874
2874
|
if r7
|
|
2875
|
-
if
|
|
2875
|
+
if has_terminal?('\G[,]', true, index)
|
|
2876
2876
|
r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
2877
2877
|
@index += 1
|
|
2878
2878
|
else
|
|
@@ -2903,7 +2903,7 @@ module ScientificNameClean
|
|
|
2903
2903
|
r1.extend(BasionymAuthorshipWithParenthesis0)
|
|
2904
2904
|
r1.extend(BasionymAuthorshipWithParenthesis1)
|
|
2905
2905
|
else
|
|
2906
|
-
|
|
2906
|
+
@index = i1
|
|
2907
2907
|
r1 = nil
|
|
2908
2908
|
end
|
|
2909
2909
|
if r1
|
|
@@ -2919,7 +2919,7 @@ module ScientificNameClean
|
|
|
2919
2919
|
r15 = _nt_simple_authorship
|
|
2920
2920
|
s12 << r15
|
|
2921
2921
|
if r15
|
|
2922
|
-
if
|
|
2922
|
+
if has_terminal?(",", false, index)
|
|
2923
2923
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
2924
2924
|
@index += 1
|
|
2925
2925
|
else
|
|
@@ -2956,7 +2956,7 @@ module ScientificNameClean
|
|
|
2956
2956
|
r12.extend(BasionymAuthorshipWithParenthesis2)
|
|
2957
2957
|
r12.extend(BasionymAuthorshipWithParenthesis3)
|
|
2958
2958
|
else
|
|
2959
|
-
|
|
2959
|
+
@index = i12
|
|
2960
2960
|
r12 = nil
|
|
2961
2961
|
end
|
|
2962
2962
|
if r12
|
|
@@ -2986,7 +2986,7 @@ module ScientificNameClean
|
|
|
2986
2986
|
r22.extend(BasionymAuthorshipWithParenthesis4)
|
|
2987
2987
|
r22.extend(BasionymAuthorshipWithParenthesis5)
|
|
2988
2988
|
else
|
|
2989
|
-
|
|
2989
|
+
@index = i22
|
|
2990
2990
|
r22 = nil
|
|
2991
2991
|
end
|
|
2992
2992
|
if r22
|
|
@@ -2999,7 +2999,7 @@ module ScientificNameClean
|
|
|
2999
2999
|
r30 = _nt_space
|
|
3000
3000
|
s28 << r30
|
|
3001
3001
|
if r30
|
|
3002
|
-
if
|
|
3002
|
+
if has_terminal?("?", false, index)
|
|
3003
3003
|
r31 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3004
3004
|
@index += 1
|
|
3005
3005
|
else
|
|
@@ -3022,13 +3022,13 @@ module ScientificNameClean
|
|
|
3022
3022
|
r28.extend(BasionymAuthorshipWithParenthesis6)
|
|
3023
3023
|
r28.extend(BasionymAuthorshipWithParenthesis7)
|
|
3024
3024
|
else
|
|
3025
|
-
|
|
3025
|
+
@index = i28
|
|
3026
3026
|
r28 = nil
|
|
3027
3027
|
end
|
|
3028
3028
|
if r28
|
|
3029
3029
|
r0 = r28
|
|
3030
3030
|
else
|
|
3031
|
-
|
|
3031
|
+
@index = i0
|
|
3032
3032
|
r0 = nil
|
|
3033
3033
|
end
|
|
3034
3034
|
end
|
|
@@ -3037,7 +3037,7 @@ module ScientificNameClean
|
|
|
3037
3037
|
|
|
3038
3038
|
node_cache[:basionym_authorship_with_parenthesis][start_index] = r0
|
|
3039
3039
|
|
|
3040
|
-
|
|
3040
|
+
r0
|
|
3041
3041
|
end
|
|
3042
3042
|
|
|
3043
3043
|
module ExAuthorship0
|
|
@@ -3093,13 +3093,13 @@ module ScientificNameClean
|
|
|
3093
3093
|
r0.extend(ExAuthorship0)
|
|
3094
3094
|
r0.extend(ExAuthorship1)
|
|
3095
3095
|
else
|
|
3096
|
-
|
|
3096
|
+
@index = i0
|
|
3097
3097
|
r0 = nil
|
|
3098
3098
|
end
|
|
3099
3099
|
|
|
3100
3100
|
node_cache[:ex_authorship][start_index] = r0
|
|
3101
3101
|
|
|
3102
|
-
|
|
3102
|
+
r0
|
|
3103
3103
|
end
|
|
3104
3104
|
|
|
3105
3105
|
module SimpleAuthorship0
|
|
@@ -3238,7 +3238,7 @@ module ScientificNameClean
|
|
|
3238
3238
|
r3 = _nt_space
|
|
3239
3239
|
s1 << r3
|
|
3240
3240
|
if r3
|
|
3241
|
-
if
|
|
3241
|
+
if has_terminal?('\G[,]', true, index)
|
|
3242
3242
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3243
3243
|
@index += 1
|
|
3244
3244
|
else
|
|
@@ -3262,7 +3262,7 @@ module ScientificNameClean
|
|
|
3262
3262
|
end
|
|
3263
3263
|
s1 << r7
|
|
3264
3264
|
if r7
|
|
3265
|
-
if
|
|
3265
|
+
if has_terminal?('\G[,]', true, index)
|
|
3266
3266
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3267
3267
|
@index += 1
|
|
3268
3268
|
else
|
|
@@ -3278,7 +3278,7 @@ module ScientificNameClean
|
|
|
3278
3278
|
r11 = _nt_space
|
|
3279
3279
|
s1 << r11
|
|
3280
3280
|
if r11
|
|
3281
|
-
if
|
|
3281
|
+
if has_terminal?("non", false, index)
|
|
3282
3282
|
r12 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
3283
3283
|
@index += 3
|
|
3284
3284
|
else
|
|
@@ -3296,7 +3296,7 @@ module ScientificNameClean
|
|
|
3296
3296
|
r15 = _nt_space
|
|
3297
3297
|
s1 << r15
|
|
3298
3298
|
if r15
|
|
3299
|
-
if
|
|
3299
|
+
if has_terminal?('\G[,]', true, index)
|
|
3300
3300
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3301
3301
|
@index += 1
|
|
3302
3302
|
else
|
|
@@ -3332,7 +3332,7 @@ module ScientificNameClean
|
|
|
3332
3332
|
r1.extend(SimpleAuthorship0)
|
|
3333
3333
|
r1.extend(SimpleAuthorship1)
|
|
3334
3334
|
else
|
|
3335
|
-
|
|
3335
|
+
@index = i1
|
|
3336
3336
|
r1 = nil
|
|
3337
3337
|
end
|
|
3338
3338
|
if r1
|
|
@@ -3345,7 +3345,7 @@ module ScientificNameClean
|
|
|
3345
3345
|
r22 = _nt_space
|
|
3346
3346
|
s20 << r22
|
|
3347
3347
|
if r22
|
|
3348
|
-
if
|
|
3348
|
+
if has_terminal?('\G[,]', true, index)
|
|
3349
3349
|
r24 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3350
3350
|
@index += 1
|
|
3351
3351
|
else
|
|
@@ -3372,7 +3372,7 @@ module ScientificNameClean
|
|
|
3372
3372
|
r20.extend(SimpleAuthorship2)
|
|
3373
3373
|
r20.extend(SimpleAuthorship3)
|
|
3374
3374
|
else
|
|
3375
|
-
|
|
3375
|
+
@index = i20
|
|
3376
3376
|
r20 = nil
|
|
3377
3377
|
end
|
|
3378
3378
|
if r20
|
|
@@ -3383,7 +3383,7 @@ module ScientificNameClean
|
|
|
3383
3383
|
if r27
|
|
3384
3384
|
r0 = r27
|
|
3385
3385
|
else
|
|
3386
|
-
|
|
3386
|
+
@index = i0
|
|
3387
3387
|
r0 = nil
|
|
3388
3388
|
end
|
|
3389
3389
|
end
|
|
@@ -3391,7 +3391,7 @@ module ScientificNameClean
|
|
|
3391
3391
|
|
|
3392
3392
|
node_cache[:simple_authorship][start_index] = r0
|
|
3393
3393
|
|
|
3394
|
-
|
|
3394
|
+
r0
|
|
3395
3395
|
end
|
|
3396
3396
|
|
|
3397
3397
|
module AuthorsNames0
|
|
@@ -3463,7 +3463,7 @@ module ScientificNameClean
|
|
|
3463
3463
|
r1.extend(AuthorsNames0)
|
|
3464
3464
|
r1.extend(AuthorsNames1)
|
|
3465
3465
|
else
|
|
3466
|
-
|
|
3466
|
+
@index = i1
|
|
3467
3467
|
r1 = nil
|
|
3468
3468
|
end
|
|
3469
3469
|
if r1
|
|
@@ -3477,7 +3477,7 @@ module ScientificNameClean
|
|
|
3477
3477
|
if r8
|
|
3478
3478
|
r0 = r8
|
|
3479
3479
|
else
|
|
3480
|
-
|
|
3480
|
+
@index = i0
|
|
3481
3481
|
r0 = nil
|
|
3482
3482
|
end
|
|
3483
3483
|
end
|
|
@@ -3485,7 +3485,7 @@ module ScientificNameClean
|
|
|
3485
3485
|
|
|
3486
3486
|
node_cache[:authors_names][start_index] = r0
|
|
3487
3487
|
|
|
3488
|
-
|
|
3488
|
+
r0
|
|
3489
3489
|
end
|
|
3490
3490
|
|
|
3491
3491
|
module UnknownAuth0
|
|
@@ -3511,7 +3511,7 @@ module ScientificNameClean
|
|
|
3511
3511
|
end
|
|
3512
3512
|
|
|
3513
3513
|
i0 = index
|
|
3514
|
-
if
|
|
3514
|
+
if has_terminal?("auct.", false, index)
|
|
3515
3515
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
3516
3516
|
@index += 5
|
|
3517
3517
|
else
|
|
@@ -3522,7 +3522,7 @@ module ScientificNameClean
|
|
|
3522
3522
|
r0 = r1
|
|
3523
3523
|
r0.extend(UnknownAuth0)
|
|
3524
3524
|
else
|
|
3525
|
-
if
|
|
3525
|
+
if has_terminal?("hort.", false, index)
|
|
3526
3526
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
3527
3527
|
@index += 5
|
|
3528
3528
|
else
|
|
@@ -3533,7 +3533,7 @@ module ScientificNameClean
|
|
|
3533
3533
|
r0 = r2
|
|
3534
3534
|
r0.extend(UnknownAuth0)
|
|
3535
3535
|
else
|
|
3536
|
-
if
|
|
3536
|
+
if has_terminal?("anon.", false, index)
|
|
3537
3537
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
3538
3538
|
@index += 5
|
|
3539
3539
|
else
|
|
@@ -3544,7 +3544,7 @@ module ScientificNameClean
|
|
|
3544
3544
|
r0 = r3
|
|
3545
3545
|
r0.extend(UnknownAuth0)
|
|
3546
3546
|
else
|
|
3547
|
-
if
|
|
3547
|
+
if has_terminal?("ht.", false, index)
|
|
3548
3548
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
3549
3549
|
@index += 3
|
|
3550
3550
|
else
|
|
@@ -3555,7 +3555,7 @@ module ScientificNameClean
|
|
|
3555
3555
|
r0 = r4
|
|
3556
3556
|
r0.extend(UnknownAuth0)
|
|
3557
3557
|
else
|
|
3558
|
-
|
|
3558
|
+
@index = i0
|
|
3559
3559
|
r0 = nil
|
|
3560
3560
|
end
|
|
3561
3561
|
end
|
|
@@ -3564,7 +3564,7 @@ module ScientificNameClean
|
|
|
3564
3564
|
|
|
3565
3565
|
node_cache[:unknown_auth][start_index] = r0
|
|
3566
3566
|
|
|
3567
|
-
|
|
3567
|
+
r0
|
|
3568
3568
|
end
|
|
3569
3569
|
|
|
3570
3570
|
module ExSep0
|
|
@@ -3580,7 +3580,7 @@ module ScientificNameClean
|
|
|
3580
3580
|
|
|
3581
3581
|
i0, s0 = index, []
|
|
3582
3582
|
i1 = index
|
|
3583
|
-
if
|
|
3583
|
+
if has_terminal?("ex", false, index)
|
|
3584
3584
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
3585
3585
|
@index += 2
|
|
3586
3586
|
else
|
|
@@ -3590,7 +3590,7 @@ module ScientificNameClean
|
|
|
3590
3590
|
if r2
|
|
3591
3591
|
r1 = r2
|
|
3592
3592
|
else
|
|
3593
|
-
if
|
|
3593
|
+
if has_terminal?("in", false, index)
|
|
3594
3594
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
3595
3595
|
@index += 2
|
|
3596
3596
|
else
|
|
@@ -3600,21 +3600,21 @@ module ScientificNameClean
|
|
|
3600
3600
|
if r3
|
|
3601
3601
|
r1 = r3
|
|
3602
3602
|
else
|
|
3603
|
-
|
|
3603
|
+
@index = i1
|
|
3604
3604
|
r1 = nil
|
|
3605
3605
|
end
|
|
3606
3606
|
end
|
|
3607
3607
|
s0 << r1
|
|
3608
3608
|
if r1
|
|
3609
3609
|
i4 = index
|
|
3610
|
-
if
|
|
3610
|
+
if has_terminal?('\G[\\s]', true, index)
|
|
3611
3611
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3612
3612
|
@index += 1
|
|
3613
3613
|
else
|
|
3614
3614
|
r5 = nil
|
|
3615
3615
|
end
|
|
3616
3616
|
if r5
|
|
3617
|
-
|
|
3617
|
+
@index = i4
|
|
3618
3618
|
r4 = instantiate_node(SyntaxNode,input, index...index)
|
|
3619
3619
|
else
|
|
3620
3620
|
r4 = nil
|
|
@@ -3625,13 +3625,13 @@ module ScientificNameClean
|
|
|
3625
3625
|
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
|
3626
3626
|
r0.extend(ExSep0)
|
|
3627
3627
|
else
|
|
3628
|
-
|
|
3628
|
+
@index = i0
|
|
3629
3629
|
r0 = nil
|
|
3630
3630
|
end
|
|
3631
3631
|
|
|
3632
3632
|
node_cache[:ex_sep][start_index] = r0
|
|
3633
3633
|
|
|
3634
|
-
|
|
3634
|
+
r0
|
|
3635
3635
|
end
|
|
3636
3636
|
|
|
3637
3637
|
module AuthorSeparator0
|
|
@@ -3659,7 +3659,7 @@ module ScientificNameClean
|
|
|
3659
3659
|
end
|
|
3660
3660
|
|
|
3661
3661
|
i0 = index
|
|
3662
|
-
if
|
|
3662
|
+
if has_terminal?("&", false, index)
|
|
3663
3663
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3664
3664
|
@index += 1
|
|
3665
3665
|
else
|
|
@@ -3670,7 +3670,7 @@ module ScientificNameClean
|
|
|
3670
3670
|
r0 = r1
|
|
3671
3671
|
r0.extend(AuthorSeparator0)
|
|
3672
3672
|
else
|
|
3673
|
-
if
|
|
3673
|
+
if has_terminal?(",", false, index)
|
|
3674
3674
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
3675
3675
|
@index += 1
|
|
3676
3676
|
else
|
|
@@ -3681,7 +3681,7 @@ module ScientificNameClean
|
|
|
3681
3681
|
r0 = r2
|
|
3682
3682
|
r0.extend(AuthorSeparator0)
|
|
3683
3683
|
else
|
|
3684
|
-
if
|
|
3684
|
+
if has_terminal?("and", false, index)
|
|
3685
3685
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
3686
3686
|
@index += 3
|
|
3687
3687
|
else
|
|
@@ -3692,7 +3692,7 @@ module ScientificNameClean
|
|
|
3692
3692
|
r0 = r3
|
|
3693
3693
|
r0.extend(AuthorSeparator0)
|
|
3694
3694
|
else
|
|
3695
|
-
if
|
|
3695
|
+
if has_terminal?("et", false, index)
|
|
3696
3696
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
3697
3697
|
@index += 2
|
|
3698
3698
|
else
|
|
@@ -3703,7 +3703,7 @@ module ScientificNameClean
|
|
|
3703
3703
|
r0 = r4
|
|
3704
3704
|
r0.extend(AuthorSeparator0)
|
|
3705
3705
|
else
|
|
3706
|
-
|
|
3706
|
+
@index = i0
|
|
3707
3707
|
r0 = nil
|
|
3708
3708
|
end
|
|
3709
3709
|
end
|
|
@@ -3712,7 +3712,7 @@ module ScientificNameClean
|
|
|
3712
3712
|
|
|
3713
3713
|
node_cache[:author_separator][start_index] = r0
|
|
3714
3714
|
|
|
3715
|
-
|
|
3715
|
+
r0
|
|
3716
3716
|
end
|
|
3717
3717
|
|
|
3718
3718
|
module AuthorName0
|
|
@@ -3820,7 +3820,7 @@ module ScientificNameClean
|
|
|
3820
3820
|
r1.extend(AuthorName0)
|
|
3821
3821
|
r1.extend(AuthorName1)
|
|
3822
3822
|
else
|
|
3823
|
-
|
|
3823
|
+
@index = i1
|
|
3824
3824
|
r1 = nil
|
|
3825
3825
|
end
|
|
3826
3826
|
if r1
|
|
@@ -3850,7 +3850,7 @@ module ScientificNameClean
|
|
|
3850
3850
|
r7.extend(AuthorName2)
|
|
3851
3851
|
r7.extend(AuthorName3)
|
|
3852
3852
|
else
|
|
3853
|
-
|
|
3853
|
+
@index = i7
|
|
3854
3854
|
r7 = nil
|
|
3855
3855
|
end
|
|
3856
3856
|
if r7
|
|
@@ -3860,7 +3860,7 @@ module ScientificNameClean
|
|
|
3860
3860
|
if r13
|
|
3861
3861
|
r0 = r13
|
|
3862
3862
|
else
|
|
3863
|
-
|
|
3863
|
+
@index = i0
|
|
3864
3864
|
r0 = nil
|
|
3865
3865
|
end
|
|
3866
3866
|
end
|
|
@@ -3868,7 +3868,7 @@ module ScientificNameClean
|
|
|
3868
3868
|
|
|
3869
3869
|
node_cache[:author_name][start_index] = r0
|
|
3870
3870
|
|
|
3871
|
-
|
|
3871
|
+
r0
|
|
3872
3872
|
end
|
|
3873
3873
|
|
|
3874
3874
|
module AuthorWord0
|
|
@@ -3943,7 +3943,7 @@ module ScientificNameClean
|
|
|
3943
3943
|
end
|
|
3944
3944
|
|
|
3945
3945
|
i0 = index
|
|
3946
|
-
if
|
|
3946
|
+
if has_terminal?("A S. Xu", false, index)
|
|
3947
3947
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
|
|
3948
3948
|
r1.extend(AuthorWord0)
|
|
3949
3949
|
@index += 7
|
|
@@ -3955,7 +3955,7 @@ module ScientificNameClean
|
|
|
3955
3955
|
r0 = r1
|
|
3956
3956
|
else
|
|
3957
3957
|
i2 = index
|
|
3958
|
-
if
|
|
3958
|
+
if has_terminal?("arg.", false, index)
|
|
3959
3959
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
3960
3960
|
@index += 4
|
|
3961
3961
|
else
|
|
@@ -3966,7 +3966,7 @@ module ScientificNameClean
|
|
|
3966
3966
|
r2 = r3
|
|
3967
3967
|
r2.extend(AuthorWord1)
|
|
3968
3968
|
else
|
|
3969
|
-
if
|
|
3969
|
+
if has_terminal?("et al.\{\?\}", false, index)
|
|
3970
3970
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 9))
|
|
3971
3971
|
@index += 9
|
|
3972
3972
|
else
|
|
@@ -3977,7 +3977,7 @@ module ScientificNameClean
|
|
|
3977
3977
|
r2 = r4
|
|
3978
3978
|
r2.extend(AuthorWord1)
|
|
3979
3979
|
else
|
|
3980
|
-
if
|
|
3980
|
+
if has_terminal?("et al.", false, index)
|
|
3981
3981
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 6))
|
|
3982
3982
|
@index += 6
|
|
3983
3983
|
else
|
|
@@ -3988,7 +3988,7 @@ module ScientificNameClean
|
|
|
3988
3988
|
r2 = r5
|
|
3989
3989
|
r2.extend(AuthorWord1)
|
|
3990
3990
|
else
|
|
3991
|
-
|
|
3991
|
+
@index = i2
|
|
3992
3992
|
r2 = nil
|
|
3993
3993
|
end
|
|
3994
3994
|
end
|
|
@@ -3998,7 +3998,7 @@ module ScientificNameClean
|
|
|
3998
3998
|
else
|
|
3999
3999
|
i6, s6 = index, []
|
|
4000
4000
|
i7 = index
|
|
4001
|
-
if
|
|
4001
|
+
if has_terminal?("Å", false, index)
|
|
4002
4002
|
r8 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4003
4003
|
@index += 2
|
|
4004
4004
|
else
|
|
@@ -4008,7 +4008,7 @@ module ScientificNameClean
|
|
|
4008
4008
|
if r8
|
|
4009
4009
|
r7 = r8
|
|
4010
4010
|
else
|
|
4011
|
-
if
|
|
4011
|
+
if has_terminal?("Ö", false, index)
|
|
4012
4012
|
r9 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4013
4013
|
@index += 2
|
|
4014
4014
|
else
|
|
@@ -4018,7 +4018,7 @@ module ScientificNameClean
|
|
|
4018
4018
|
if r9
|
|
4019
4019
|
r7 = r9
|
|
4020
4020
|
else
|
|
4021
|
-
if
|
|
4021
|
+
if has_terminal?("Á", false, index)
|
|
4022
4022
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4023
4023
|
@index += 2
|
|
4024
4024
|
else
|
|
@@ -4028,7 +4028,7 @@ module ScientificNameClean
|
|
|
4028
4028
|
if r10
|
|
4029
4029
|
r7 = r10
|
|
4030
4030
|
else
|
|
4031
|
-
if
|
|
4031
|
+
if has_terminal?("Ø", false, index)
|
|
4032
4032
|
r11 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4033
4033
|
@index += 2
|
|
4034
4034
|
else
|
|
@@ -4038,7 +4038,7 @@ module ScientificNameClean
|
|
|
4038
4038
|
if r11
|
|
4039
4039
|
r7 = r11
|
|
4040
4040
|
else
|
|
4041
|
-
if
|
|
4041
|
+
if has_terminal?("Ô", false, index)
|
|
4042
4042
|
r12 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4043
4043
|
@index += 2
|
|
4044
4044
|
else
|
|
@@ -4048,7 +4048,7 @@ module ScientificNameClean
|
|
|
4048
4048
|
if r12
|
|
4049
4049
|
r7 = r12
|
|
4050
4050
|
else
|
|
4051
|
-
if
|
|
4051
|
+
if has_terminal?("Š", false, index)
|
|
4052
4052
|
r13 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4053
4053
|
@index += 2
|
|
4054
4054
|
else
|
|
@@ -4058,7 +4058,7 @@ module ScientificNameClean
|
|
|
4058
4058
|
if r13
|
|
4059
4059
|
r7 = r13
|
|
4060
4060
|
else
|
|
4061
|
-
if
|
|
4061
|
+
if has_terminal?("Ś", false, index)
|
|
4062
4062
|
r14 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4063
4063
|
@index += 2
|
|
4064
4064
|
else
|
|
@@ -4068,7 +4068,7 @@ module ScientificNameClean
|
|
|
4068
4068
|
if r14
|
|
4069
4069
|
r7 = r14
|
|
4070
4070
|
else
|
|
4071
|
-
if
|
|
4071
|
+
if has_terminal?("Č", false, index)
|
|
4072
4072
|
r15 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4073
4073
|
@index += 2
|
|
4074
4074
|
else
|
|
@@ -4078,7 +4078,7 @@ module ScientificNameClean
|
|
|
4078
4078
|
if r15
|
|
4079
4079
|
r7 = r15
|
|
4080
4080
|
else
|
|
4081
|
-
if
|
|
4081
|
+
if has_terminal?("Ķ", false, index)
|
|
4082
4082
|
r16 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4083
4083
|
@index += 2
|
|
4084
4084
|
else
|
|
@@ -4088,7 +4088,7 @@ module ScientificNameClean
|
|
|
4088
4088
|
if r16
|
|
4089
4089
|
r7 = r16
|
|
4090
4090
|
else
|
|
4091
|
-
if
|
|
4091
|
+
if has_terminal?("Ł", false, index)
|
|
4092
4092
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4093
4093
|
@index += 2
|
|
4094
4094
|
else
|
|
@@ -4098,7 +4098,7 @@ module ScientificNameClean
|
|
|
4098
4098
|
if r17
|
|
4099
4099
|
r7 = r17
|
|
4100
4100
|
else
|
|
4101
|
-
if
|
|
4101
|
+
if has_terminal?("É", false, index)
|
|
4102
4102
|
r18 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4103
4103
|
@index += 2
|
|
4104
4104
|
else
|
|
@@ -4108,7 +4108,7 @@ module ScientificNameClean
|
|
|
4108
4108
|
if r18
|
|
4109
4109
|
r7 = r18
|
|
4110
4110
|
else
|
|
4111
|
-
if
|
|
4111
|
+
if has_terminal?("Ž", false, index)
|
|
4112
4112
|
r19 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4113
4113
|
@index += 2
|
|
4114
4114
|
else
|
|
@@ -4118,7 +4118,7 @@ module ScientificNameClean
|
|
|
4118
4118
|
if r19
|
|
4119
4119
|
r7 = r19
|
|
4120
4120
|
else
|
|
4121
|
-
if
|
|
4121
|
+
if has_terminal?('\G[A-W]', true, index)
|
|
4122
4122
|
r20 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4123
4123
|
@index += 1
|
|
4124
4124
|
else
|
|
@@ -4127,7 +4127,7 @@ module ScientificNameClean
|
|
|
4127
4127
|
if r20
|
|
4128
4128
|
r7 = r20
|
|
4129
4129
|
else
|
|
4130
|
-
if
|
|
4130
|
+
if has_terminal?('\G[Y-Z]', true, index)
|
|
4131
4131
|
r21 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4132
4132
|
@index += 1
|
|
4133
4133
|
else
|
|
@@ -4136,7 +4136,7 @@ module ScientificNameClean
|
|
|
4136
4136
|
if r21
|
|
4137
4137
|
r7 = r21
|
|
4138
4138
|
else
|
|
4139
|
-
|
|
4139
|
+
@index = i7
|
|
4140
4140
|
r7 = nil
|
|
4141
4141
|
end
|
|
4142
4142
|
end
|
|
@@ -4156,7 +4156,7 @@ module ScientificNameClean
|
|
|
4156
4156
|
if r7
|
|
4157
4157
|
s22, i22 = [], index
|
|
4158
4158
|
loop do
|
|
4159
|
-
if
|
|
4159
|
+
if has_terminal?('\G[^0-9\\[\\]\\(\\)\\s&,]', true, index)
|
|
4160
4160
|
r23 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4161
4161
|
@index += 1
|
|
4162
4162
|
else
|
|
@@ -4176,14 +4176,14 @@ module ScientificNameClean
|
|
|
4176
4176
|
r6.extend(AuthorWord2)
|
|
4177
4177
|
r6.extend(AuthorWord3)
|
|
4178
4178
|
else
|
|
4179
|
-
|
|
4179
|
+
@index = i6
|
|
4180
4180
|
r6 = nil
|
|
4181
4181
|
end
|
|
4182
4182
|
if r6
|
|
4183
4183
|
r0 = r6
|
|
4184
4184
|
else
|
|
4185
4185
|
i24, s24 = index, []
|
|
4186
|
-
if
|
|
4186
|
+
if has_terminal?("X", false, index)
|
|
4187
4187
|
r25 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4188
4188
|
@index += 1
|
|
4189
4189
|
else
|
|
@@ -4194,7 +4194,7 @@ module ScientificNameClean
|
|
|
4194
4194
|
if r25
|
|
4195
4195
|
s26, i26 = [], index
|
|
4196
4196
|
loop do
|
|
4197
|
-
if
|
|
4197
|
+
if has_terminal?('\G[^0-9\\[\\]\\(\\)\\s&,]', true, index)
|
|
4198
4198
|
r27 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4199
4199
|
@index += 1
|
|
4200
4200
|
else
|
|
@@ -4207,7 +4207,7 @@ module ScientificNameClean
|
|
|
4207
4207
|
end
|
|
4208
4208
|
end
|
|
4209
4209
|
if s26.empty?
|
|
4210
|
-
|
|
4210
|
+
@index = i26
|
|
4211
4211
|
r26 = nil
|
|
4212
4212
|
else
|
|
4213
4213
|
r26 = instantiate_node(SyntaxNode,input, i26...index, s26)
|
|
@@ -4219,7 +4219,7 @@ module ScientificNameClean
|
|
|
4219
4219
|
r24.extend(AuthorWord4)
|
|
4220
4220
|
r24.extend(AuthorWord5)
|
|
4221
4221
|
else
|
|
4222
|
-
|
|
4222
|
+
@index = i24
|
|
4223
4223
|
r24 = nil
|
|
4224
4224
|
end
|
|
4225
4225
|
if r24
|
|
@@ -4229,7 +4229,7 @@ module ScientificNameClean
|
|
|
4229
4229
|
if r28
|
|
4230
4230
|
r0 = r28
|
|
4231
4231
|
else
|
|
4232
|
-
|
|
4232
|
+
@index = i0
|
|
4233
4233
|
r0 = nil
|
|
4234
4234
|
end
|
|
4235
4235
|
end
|
|
@@ -4239,7 +4239,7 @@ module ScientificNameClean
|
|
|
4239
4239
|
|
|
4240
4240
|
node_cache[:author_word][start_index] = r0
|
|
4241
4241
|
|
|
4242
|
-
|
|
4242
|
+
r0
|
|
4243
4243
|
end
|
|
4244
4244
|
|
|
4245
4245
|
module AuthorPrefixWord0
|
|
@@ -4273,7 +4273,7 @@ module ScientificNameClean
|
|
|
4273
4273
|
s0 << r1
|
|
4274
4274
|
if r1
|
|
4275
4275
|
i2 = index
|
|
4276
|
-
if
|
|
4276
|
+
if has_terminal?("ab", false, index)
|
|
4277
4277
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4278
4278
|
@index += 2
|
|
4279
4279
|
else
|
|
@@ -4283,7 +4283,7 @@ module ScientificNameClean
|
|
|
4283
4283
|
if r3
|
|
4284
4284
|
r2 = r3
|
|
4285
4285
|
else
|
|
4286
|
-
if
|
|
4286
|
+
if has_terminal?("bis", false, index)
|
|
4287
4287
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4288
4288
|
@index += 3
|
|
4289
4289
|
else
|
|
@@ -4293,7 +4293,7 @@ module ScientificNameClean
|
|
|
4293
4293
|
if r4
|
|
4294
4294
|
r2 = r4
|
|
4295
4295
|
else
|
|
4296
|
-
if
|
|
4296
|
+
if has_terminal?("da", false, index)
|
|
4297
4297
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4298
4298
|
@index += 2
|
|
4299
4299
|
else
|
|
@@ -4303,7 +4303,7 @@ module ScientificNameClean
|
|
|
4303
4303
|
if r5
|
|
4304
4304
|
r2 = r5
|
|
4305
4305
|
else
|
|
4306
|
-
if
|
|
4306
|
+
if has_terminal?("der", false, index)
|
|
4307
4307
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4308
4308
|
@index += 3
|
|
4309
4309
|
else
|
|
@@ -4313,7 +4313,7 @@ module ScientificNameClean
|
|
|
4313
4313
|
if r6
|
|
4314
4314
|
r2 = r6
|
|
4315
4315
|
else
|
|
4316
|
-
if
|
|
4316
|
+
if has_terminal?("den", false, index)
|
|
4317
4317
|
r7 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4318
4318
|
@index += 3
|
|
4319
4319
|
else
|
|
@@ -4323,7 +4323,7 @@ module ScientificNameClean
|
|
|
4323
4323
|
if r7
|
|
4324
4324
|
r2 = r7
|
|
4325
4325
|
else
|
|
4326
|
-
if
|
|
4326
|
+
if has_terminal?("della", false, index)
|
|
4327
4327
|
r8 = instantiate_node(SyntaxNode,input, index...(index + 5))
|
|
4328
4328
|
@index += 5
|
|
4329
4329
|
else
|
|
@@ -4333,7 +4333,7 @@ module ScientificNameClean
|
|
|
4333
4333
|
if r8
|
|
4334
4334
|
r2 = r8
|
|
4335
4335
|
else
|
|
4336
|
-
if
|
|
4336
|
+
if has_terminal?("dela", false, index)
|
|
4337
4337
|
r9 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
4338
4338
|
@index += 4
|
|
4339
4339
|
else
|
|
@@ -4343,7 +4343,7 @@ module ScientificNameClean
|
|
|
4343
4343
|
if r9
|
|
4344
4344
|
r2 = r9
|
|
4345
4345
|
else
|
|
4346
|
-
if
|
|
4346
|
+
if has_terminal?("de", false, index)
|
|
4347
4347
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4348
4348
|
@index += 2
|
|
4349
4349
|
else
|
|
@@ -4353,7 +4353,7 @@ module ScientificNameClean
|
|
|
4353
4353
|
if r10
|
|
4354
4354
|
r2 = r10
|
|
4355
4355
|
else
|
|
4356
|
-
if
|
|
4356
|
+
if has_terminal?("di", false, index)
|
|
4357
4357
|
r11 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4358
4358
|
@index += 2
|
|
4359
4359
|
else
|
|
@@ -4363,7 +4363,7 @@ module ScientificNameClean
|
|
|
4363
4363
|
if r11
|
|
4364
4364
|
r2 = r11
|
|
4365
4365
|
else
|
|
4366
|
-
if
|
|
4366
|
+
if has_terminal?("du", false, index)
|
|
4367
4367
|
r12 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4368
4368
|
@index += 2
|
|
4369
4369
|
else
|
|
@@ -4373,7 +4373,7 @@ module ScientificNameClean
|
|
|
4373
4373
|
if r12
|
|
4374
4374
|
r2 = r12
|
|
4375
4375
|
else
|
|
4376
|
-
if
|
|
4376
|
+
if has_terminal?("la", false, index)
|
|
4377
4377
|
r13 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4378
4378
|
@index += 2
|
|
4379
4379
|
else
|
|
@@ -4383,7 +4383,7 @@ module ScientificNameClean
|
|
|
4383
4383
|
if r13
|
|
4384
4384
|
r2 = r13
|
|
4385
4385
|
else
|
|
4386
|
-
if
|
|
4386
|
+
if has_terminal?("ter", false, index)
|
|
4387
4387
|
r14 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4388
4388
|
@index += 3
|
|
4389
4389
|
else
|
|
@@ -4393,7 +4393,7 @@ module ScientificNameClean
|
|
|
4393
4393
|
if r14
|
|
4394
4394
|
r2 = r14
|
|
4395
4395
|
else
|
|
4396
|
-
if
|
|
4396
|
+
if has_terminal?("van", false, index)
|
|
4397
4397
|
r15 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4398
4398
|
@index += 3
|
|
4399
4399
|
else
|
|
@@ -4403,7 +4403,7 @@ module ScientificNameClean
|
|
|
4403
4403
|
if r15
|
|
4404
4404
|
r2 = r15
|
|
4405
4405
|
else
|
|
4406
|
-
if
|
|
4406
|
+
if has_terminal?("von", false, index)
|
|
4407
4407
|
r16 = instantiate_node(SyntaxNode,input, index...(index + 3))
|
|
4408
4408
|
@index += 3
|
|
4409
4409
|
else
|
|
@@ -4413,7 +4413,7 @@ module ScientificNameClean
|
|
|
4413
4413
|
if r16
|
|
4414
4414
|
r2 = r16
|
|
4415
4415
|
else
|
|
4416
|
-
|
|
4416
|
+
@index = i2
|
|
4417
4417
|
r2 = nil
|
|
4418
4418
|
end
|
|
4419
4419
|
end
|
|
@@ -4434,7 +4434,7 @@ module ScientificNameClean
|
|
|
4434
4434
|
i17 = index
|
|
4435
4435
|
r18 = _nt_space_hard
|
|
4436
4436
|
if r18
|
|
4437
|
-
|
|
4437
|
+
@index = i17
|
|
4438
4438
|
r17 = instantiate_node(SyntaxNode,input, index...index)
|
|
4439
4439
|
else
|
|
4440
4440
|
r17 = nil
|
|
@@ -4447,13 +4447,13 @@ module ScientificNameClean
|
|
|
4447
4447
|
r0.extend(AuthorPrefixWord0)
|
|
4448
4448
|
r0.extend(AuthorPrefixWord1)
|
|
4449
4449
|
else
|
|
4450
|
-
|
|
4450
|
+
@index = i0
|
|
4451
4451
|
r0 = nil
|
|
4452
4452
|
end
|
|
4453
4453
|
|
|
4454
4454
|
node_cache[:author_prefix_word][start_index] = r0
|
|
4455
4455
|
|
|
4456
|
-
|
|
4456
|
+
r0
|
|
4457
4457
|
end
|
|
4458
4458
|
|
|
4459
4459
|
module CapLatinWord0
|
|
@@ -4506,7 +4506,7 @@ module ScientificNameClean
|
|
|
4506
4506
|
i0 = index
|
|
4507
4507
|
i1, s1 = index, []
|
|
4508
4508
|
i2 = index
|
|
4509
|
-
if
|
|
4509
|
+
if has_terminal?('\G[A-Z]', true, index)
|
|
4510
4510
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4511
4511
|
@index += 1
|
|
4512
4512
|
else
|
|
@@ -4519,7 +4519,7 @@ module ScientificNameClean
|
|
|
4519
4519
|
if r4
|
|
4520
4520
|
r2 = r4
|
|
4521
4521
|
else
|
|
4522
|
-
|
|
4522
|
+
@index = i2
|
|
4523
4523
|
r2 = nil
|
|
4524
4524
|
end
|
|
4525
4525
|
end
|
|
@@ -4528,7 +4528,7 @@ module ScientificNameClean
|
|
|
4528
4528
|
r5 = _nt_latin_word
|
|
4529
4529
|
s1 << r5
|
|
4530
4530
|
if r5
|
|
4531
|
-
if
|
|
4531
|
+
if has_terminal?("?", false, index)
|
|
4532
4532
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4533
4533
|
@index += 1
|
|
4534
4534
|
else
|
|
@@ -4543,7 +4543,7 @@ module ScientificNameClean
|
|
|
4543
4543
|
r1.extend(CapLatinWord0)
|
|
4544
4544
|
r1.extend(CapLatinWord1)
|
|
4545
4545
|
else
|
|
4546
|
-
|
|
4546
|
+
@index = i1
|
|
4547
4547
|
r1 = nil
|
|
4548
4548
|
end
|
|
4549
4549
|
if r1
|
|
@@ -4551,7 +4551,7 @@ module ScientificNameClean
|
|
|
4551
4551
|
else
|
|
4552
4552
|
i7, s7 = index, []
|
|
4553
4553
|
i8 = index
|
|
4554
|
-
if
|
|
4554
|
+
if has_terminal?('\G[A-Z]', true, index)
|
|
4555
4555
|
r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4556
4556
|
@index += 1
|
|
4557
4557
|
else
|
|
@@ -4564,7 +4564,7 @@ module ScientificNameClean
|
|
|
4564
4564
|
if r10
|
|
4565
4565
|
r8 = r10
|
|
4566
4566
|
else
|
|
4567
|
-
|
|
4567
|
+
@index = i8
|
|
4568
4568
|
r8 = nil
|
|
4569
4569
|
end
|
|
4570
4570
|
end
|
|
@@ -4578,14 +4578,14 @@ module ScientificNameClean
|
|
|
4578
4578
|
r7.extend(CapLatinWord2)
|
|
4579
4579
|
r7.extend(CapLatinWord3)
|
|
4580
4580
|
else
|
|
4581
|
-
|
|
4581
|
+
@index = i7
|
|
4582
4582
|
r7 = nil
|
|
4583
4583
|
end
|
|
4584
4584
|
if r7
|
|
4585
4585
|
r0 = r7
|
|
4586
4586
|
else
|
|
4587
4587
|
i12 = index
|
|
4588
|
-
if
|
|
4588
|
+
if has_terminal?("Ca", false, index)
|
|
4589
4589
|
r13 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4590
4590
|
@index += 2
|
|
4591
4591
|
else
|
|
@@ -4596,7 +4596,7 @@ module ScientificNameClean
|
|
|
4596
4596
|
r12 = r13
|
|
4597
4597
|
r12.extend(CapLatinWord4)
|
|
4598
4598
|
else
|
|
4599
|
-
if
|
|
4599
|
+
if has_terminal?("Ea", false, index)
|
|
4600
4600
|
r14 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4601
4601
|
@index += 2
|
|
4602
4602
|
else
|
|
@@ -4607,7 +4607,7 @@ module ScientificNameClean
|
|
|
4607
4607
|
r12 = r14
|
|
4608
4608
|
r12.extend(CapLatinWord4)
|
|
4609
4609
|
else
|
|
4610
|
-
if
|
|
4610
|
+
if has_terminal?("Ge", false, index)
|
|
4611
4611
|
r15 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4612
4612
|
@index += 2
|
|
4613
4613
|
else
|
|
@@ -4618,7 +4618,7 @@ module ScientificNameClean
|
|
|
4618
4618
|
r12 = r15
|
|
4619
4619
|
r12.extend(CapLatinWord4)
|
|
4620
4620
|
else
|
|
4621
|
-
if
|
|
4621
|
+
if has_terminal?("Ia", false, index)
|
|
4622
4622
|
r16 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4623
4623
|
@index += 2
|
|
4624
4624
|
else
|
|
@@ -4629,7 +4629,7 @@ module ScientificNameClean
|
|
|
4629
4629
|
r12 = r16
|
|
4630
4630
|
r12.extend(CapLatinWord4)
|
|
4631
4631
|
else
|
|
4632
|
-
if
|
|
4632
|
+
if has_terminal?("Io", false, index)
|
|
4633
4633
|
r17 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4634
4634
|
@index += 2
|
|
4635
4635
|
else
|
|
@@ -4640,7 +4640,7 @@ module ScientificNameClean
|
|
|
4640
4640
|
r12 = r17
|
|
4641
4641
|
r12.extend(CapLatinWord4)
|
|
4642
4642
|
else
|
|
4643
|
-
if
|
|
4643
|
+
if has_terminal?("Io", false, index)
|
|
4644
4644
|
r18 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4645
4645
|
@index += 2
|
|
4646
4646
|
else
|
|
@@ -4651,7 +4651,7 @@ module ScientificNameClean
|
|
|
4651
4651
|
r12 = r18
|
|
4652
4652
|
r12.extend(CapLatinWord4)
|
|
4653
4653
|
else
|
|
4654
|
-
if
|
|
4654
|
+
if has_terminal?("Ix", false, index)
|
|
4655
4655
|
r19 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4656
4656
|
@index += 2
|
|
4657
4657
|
else
|
|
@@ -4662,7 +4662,7 @@ module ScientificNameClean
|
|
|
4662
4662
|
r12 = r19
|
|
4663
4663
|
r12.extend(CapLatinWord4)
|
|
4664
4664
|
else
|
|
4665
|
-
if
|
|
4665
|
+
if has_terminal?("Lo", false, index)
|
|
4666
4666
|
r20 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4667
4667
|
@index += 2
|
|
4668
4668
|
else
|
|
@@ -4673,7 +4673,7 @@ module ScientificNameClean
|
|
|
4673
4673
|
r12 = r20
|
|
4674
4674
|
r12.extend(CapLatinWord4)
|
|
4675
4675
|
else
|
|
4676
|
-
if
|
|
4676
|
+
if has_terminal?("Oa", false, index)
|
|
4677
4677
|
r21 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4678
4678
|
@index += 2
|
|
4679
4679
|
else
|
|
@@ -4684,7 +4684,7 @@ module ScientificNameClean
|
|
|
4684
4684
|
r12 = r21
|
|
4685
4685
|
r12.extend(CapLatinWord4)
|
|
4686
4686
|
else
|
|
4687
|
-
if
|
|
4687
|
+
if has_terminal?("Ra", false, index)
|
|
4688
4688
|
r22 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4689
4689
|
@index += 2
|
|
4690
4690
|
else
|
|
@@ -4695,7 +4695,7 @@ module ScientificNameClean
|
|
|
4695
4695
|
r12 = r22
|
|
4696
4696
|
r12.extend(CapLatinWord4)
|
|
4697
4697
|
else
|
|
4698
|
-
if
|
|
4698
|
+
if has_terminal?("Ty", false, index)
|
|
4699
4699
|
r23 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4700
4700
|
@index += 2
|
|
4701
4701
|
else
|
|
@@ -4706,7 +4706,7 @@ module ScientificNameClean
|
|
|
4706
4706
|
r12 = r23
|
|
4707
4707
|
r12.extend(CapLatinWord4)
|
|
4708
4708
|
else
|
|
4709
|
-
if
|
|
4709
|
+
if has_terminal?("Ua", false, index)
|
|
4710
4710
|
r24 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4711
4711
|
@index += 2
|
|
4712
4712
|
else
|
|
@@ -4717,7 +4717,7 @@ module ScientificNameClean
|
|
|
4717
4717
|
r12 = r24
|
|
4718
4718
|
r12.extend(CapLatinWord4)
|
|
4719
4719
|
else
|
|
4720
|
-
if
|
|
4720
|
+
if has_terminal?("Aa", false, index)
|
|
4721
4721
|
r25 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4722
4722
|
@index += 2
|
|
4723
4723
|
else
|
|
@@ -4728,7 +4728,7 @@ module ScientificNameClean
|
|
|
4728
4728
|
r12 = r25
|
|
4729
4729
|
r12.extend(CapLatinWord4)
|
|
4730
4730
|
else
|
|
4731
|
-
if
|
|
4731
|
+
if has_terminal?("Ja", false, index)
|
|
4732
4732
|
r26 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4733
4733
|
@index += 2
|
|
4734
4734
|
else
|
|
@@ -4739,7 +4739,7 @@ module ScientificNameClean
|
|
|
4739
4739
|
r12 = r26
|
|
4740
4740
|
r12.extend(CapLatinWord4)
|
|
4741
4741
|
else
|
|
4742
|
-
if
|
|
4742
|
+
if has_terminal?("Zu", false, index)
|
|
4743
4743
|
r27 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4744
4744
|
@index += 2
|
|
4745
4745
|
else
|
|
@@ -4750,7 +4750,7 @@ module ScientificNameClean
|
|
|
4750
4750
|
r12 = r27
|
|
4751
4751
|
r12.extend(CapLatinWord4)
|
|
4752
4752
|
else
|
|
4753
|
-
if
|
|
4753
|
+
if has_terminal?("La", false, index)
|
|
4754
4754
|
r28 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4755
4755
|
@index += 2
|
|
4756
4756
|
else
|
|
@@ -4761,7 +4761,7 @@ module ScientificNameClean
|
|
|
4761
4761
|
r12 = r28
|
|
4762
4762
|
r12.extend(CapLatinWord4)
|
|
4763
4763
|
else
|
|
4764
|
-
if
|
|
4764
|
+
if has_terminal?("Qu", false, index)
|
|
4765
4765
|
r29 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4766
4766
|
@index += 2
|
|
4767
4767
|
else
|
|
@@ -4772,7 +4772,7 @@ module ScientificNameClean
|
|
|
4772
4772
|
r12 = r29
|
|
4773
4773
|
r12.extend(CapLatinWord4)
|
|
4774
4774
|
else
|
|
4775
|
-
if
|
|
4775
|
+
if has_terminal?("As", false, index)
|
|
4776
4776
|
r30 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4777
4777
|
@index += 2
|
|
4778
4778
|
else
|
|
@@ -4783,7 +4783,7 @@ module ScientificNameClean
|
|
|
4783
4783
|
r12 = r30
|
|
4784
4784
|
r12.extend(CapLatinWord4)
|
|
4785
4785
|
else
|
|
4786
|
-
if
|
|
4786
|
+
if has_terminal?("Ba", false, index)
|
|
4787
4787
|
r31 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
4788
4788
|
@index += 2
|
|
4789
4789
|
else
|
|
@@ -4794,7 +4794,7 @@ module ScientificNameClean
|
|
|
4794
4794
|
r12 = r31
|
|
4795
4795
|
r12.extend(CapLatinWord4)
|
|
4796
4796
|
else
|
|
4797
|
-
|
|
4797
|
+
@index = i12
|
|
4798
4798
|
r12 = nil
|
|
4799
4799
|
end
|
|
4800
4800
|
end
|
|
@@ -4818,7 +4818,7 @@ module ScientificNameClean
|
|
|
4818
4818
|
if r12
|
|
4819
4819
|
r0 = r12
|
|
4820
4820
|
else
|
|
4821
|
-
|
|
4821
|
+
@index = i0
|
|
4822
4822
|
r0 = nil
|
|
4823
4823
|
end
|
|
4824
4824
|
end
|
|
@@ -4826,7 +4826,7 @@ module ScientificNameClean
|
|
|
4826
4826
|
|
|
4827
4827
|
node_cache[:cap_latin_word][start_index] = r0
|
|
4828
4828
|
|
|
4829
|
-
|
|
4829
|
+
r0
|
|
4830
4830
|
end
|
|
4831
4831
|
|
|
4832
4832
|
module SpeciesWordHybrid0
|
|
@@ -4962,14 +4962,14 @@ module ScientificNameClean
|
|
|
4962
4962
|
r1.extend(SpeciesWordHybrid0)
|
|
4963
4963
|
r1.extend(SpeciesWordHybrid1)
|
|
4964
4964
|
else
|
|
4965
|
-
|
|
4965
|
+
@index = i1
|
|
4966
4966
|
r1 = nil
|
|
4967
4967
|
end
|
|
4968
4968
|
if r1
|
|
4969
4969
|
r0 = r1
|
|
4970
4970
|
else
|
|
4971
4971
|
i5, s5 = index, []
|
|
4972
|
-
if
|
|
4972
|
+
if has_terminal?("X", false, index)
|
|
4973
4973
|
r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
4974
4974
|
@index += 1
|
|
4975
4975
|
else
|
|
@@ -4990,14 +4990,14 @@ module ScientificNameClean
|
|
|
4990
4990
|
r5.extend(SpeciesWordHybrid2)
|
|
4991
4991
|
r5.extend(SpeciesWordHybrid3)
|
|
4992
4992
|
else
|
|
4993
|
-
|
|
4993
|
+
@index = i5
|
|
4994
4994
|
r5 = nil
|
|
4995
4995
|
end
|
|
4996
4996
|
if r5
|
|
4997
4997
|
r0 = r5
|
|
4998
4998
|
else
|
|
4999
4999
|
i9, s9 = index, []
|
|
5000
|
-
if
|
|
5000
|
+
if has_terminal?("x", false, index)
|
|
5001
5001
|
r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5002
5002
|
@index += 1
|
|
5003
5003
|
else
|
|
@@ -5018,13 +5018,13 @@ module ScientificNameClean
|
|
|
5018
5018
|
r9.extend(SpeciesWordHybrid4)
|
|
5019
5019
|
r9.extend(SpeciesWordHybrid5)
|
|
5020
5020
|
else
|
|
5021
|
-
|
|
5021
|
+
@index = i9
|
|
5022
5022
|
r9 = nil
|
|
5023
5023
|
end
|
|
5024
5024
|
if r9
|
|
5025
5025
|
r0 = r9
|
|
5026
5026
|
else
|
|
5027
|
-
|
|
5027
|
+
@index = i0
|
|
5028
5028
|
r0 = nil
|
|
5029
5029
|
end
|
|
5030
5030
|
end
|
|
@@ -5032,7 +5032,7 @@ module ScientificNameClean
|
|
|
5032
5032
|
|
|
5033
5033
|
node_cache[:species_word_hybrid][start_index] = r0
|
|
5034
5034
|
|
|
5035
|
-
|
|
5035
|
+
r0
|
|
5036
5036
|
end
|
|
5037
5037
|
|
|
5038
5038
|
module SpeciesPrefix0
|
|
@@ -5048,7 +5048,7 @@ module ScientificNameClean
|
|
|
5048
5048
|
|
|
5049
5049
|
i0, s0 = index, []
|
|
5050
5050
|
i1 = index
|
|
5051
|
-
if
|
|
5051
|
+
if has_terminal?("aff.", false, index)
|
|
5052
5052
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 4))
|
|
5053
5053
|
@index += 4
|
|
5054
5054
|
else
|
|
@@ -5058,7 +5058,7 @@ module ScientificNameClean
|
|
|
5058
5058
|
if r2
|
|
5059
5059
|
r1 = r2
|
|
5060
5060
|
else
|
|
5061
|
-
if
|
|
5061
|
+
if has_terminal?("corrig.", false, index)
|
|
5062
5062
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 7))
|
|
5063
5063
|
@index += 7
|
|
5064
5064
|
else
|
|
@@ -5068,7 +5068,7 @@ module ScientificNameClean
|
|
|
5068
5068
|
if r3
|
|
5069
5069
|
r1 = r3
|
|
5070
5070
|
else
|
|
5071
|
-
if
|
|
5071
|
+
if has_terminal?("?", false, index)
|
|
5072
5072
|
r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5073
5073
|
@index += 1
|
|
5074
5074
|
else
|
|
@@ -5078,7 +5078,7 @@ module ScientificNameClean
|
|
|
5078
5078
|
if r4
|
|
5079
5079
|
r1 = r4
|
|
5080
5080
|
else
|
|
5081
|
-
|
|
5081
|
+
@index = i1
|
|
5082
5082
|
r1 = nil
|
|
5083
5083
|
end
|
|
5084
5084
|
end
|
|
@@ -5088,7 +5088,7 @@ module ScientificNameClean
|
|
|
5088
5088
|
i5 = index
|
|
5089
5089
|
r6 = _nt_space_hard
|
|
5090
5090
|
if r6
|
|
5091
|
-
|
|
5091
|
+
@index = i5
|
|
5092
5092
|
r5 = instantiate_node(SyntaxNode,input, index...index)
|
|
5093
5093
|
else
|
|
5094
5094
|
r5 = nil
|
|
@@ -5099,13 +5099,13 @@ module ScientificNameClean
|
|
|
5099
5099
|
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
|
5100
5100
|
r0.extend(SpeciesPrefix0)
|
|
5101
5101
|
else
|
|
5102
|
-
|
|
5102
|
+
@index = i0
|
|
5103
5103
|
r0 = nil
|
|
5104
5104
|
end
|
|
5105
5105
|
|
|
5106
5106
|
node_cache[:species_prefix][start_index] = r0
|
|
5107
5107
|
|
|
5108
|
-
|
|
5108
|
+
r0
|
|
5109
5109
|
end
|
|
5110
5110
|
|
|
5111
5111
|
module SpeciesWord0
|
|
@@ -5136,7 +5136,7 @@ module ScientificNameClean
|
|
|
5136
5136
|
i1, s1 = index, []
|
|
5137
5137
|
s2, i2 = [], index
|
|
5138
5138
|
loop do
|
|
5139
|
-
if
|
|
5139
|
+
if has_terminal?('\G[0-9]', true, index)
|
|
5140
5140
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5141
5141
|
@index += 1
|
|
5142
5142
|
else
|
|
@@ -5149,14 +5149,14 @@ module ScientificNameClean
|
|
|
5149
5149
|
end
|
|
5150
5150
|
end
|
|
5151
5151
|
if s2.empty?
|
|
5152
|
-
|
|
5152
|
+
@index = i2
|
|
5153
5153
|
r2 = nil
|
|
5154
5154
|
else
|
|
5155
5155
|
r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
|
|
5156
5156
|
end
|
|
5157
5157
|
s1 << r2
|
|
5158
5158
|
if r2
|
|
5159
|
-
if
|
|
5159
|
+
if has_terminal?("-", false, index)
|
|
5160
5160
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5161
5161
|
@index += 1
|
|
5162
5162
|
else
|
|
@@ -5179,7 +5179,7 @@ module ScientificNameClean
|
|
|
5179
5179
|
r1.extend(SpeciesWord0)
|
|
5180
5180
|
r1.extend(SpeciesWord1)
|
|
5181
5181
|
else
|
|
5182
|
-
|
|
5182
|
+
@index = i1
|
|
5183
5183
|
r1 = nil
|
|
5184
5184
|
end
|
|
5185
5185
|
if r1
|
|
@@ -5189,14 +5189,14 @@ module ScientificNameClean
|
|
|
5189
5189
|
if r7
|
|
5190
5190
|
r0 = r7
|
|
5191
5191
|
else
|
|
5192
|
-
|
|
5192
|
+
@index = i0
|
|
5193
5193
|
r0 = nil
|
|
5194
5194
|
end
|
|
5195
5195
|
end
|
|
5196
5196
|
|
|
5197
5197
|
node_cache[:species_word][start_index] = r0
|
|
5198
5198
|
|
|
5199
|
-
|
|
5199
|
+
r0
|
|
5200
5200
|
end
|
|
5201
5201
|
|
|
5202
5202
|
module LatinWord0
|
|
@@ -5241,7 +5241,7 @@ module ScientificNameClean
|
|
|
5241
5241
|
|
|
5242
5242
|
i0 = index
|
|
5243
5243
|
i1, s1 = index, []
|
|
5244
|
-
if
|
|
5244
|
+
if has_terminal?('\G[a-zëüäöïéåóç]', true, index)
|
|
5245
5245
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5246
5246
|
@index += 1
|
|
5247
5247
|
else
|
|
@@ -5257,7 +5257,7 @@ module ScientificNameClean
|
|
|
5257
5257
|
r1.extend(LatinWord0)
|
|
5258
5258
|
r1.extend(LatinWord1)
|
|
5259
5259
|
else
|
|
5260
|
-
|
|
5260
|
+
@index = i1
|
|
5261
5261
|
r1 = nil
|
|
5262
5262
|
end
|
|
5263
5263
|
if r1
|
|
@@ -5275,20 +5275,20 @@ module ScientificNameClean
|
|
|
5275
5275
|
r4.extend(LatinWord2)
|
|
5276
5276
|
r4.extend(LatinWord3)
|
|
5277
5277
|
else
|
|
5278
|
-
|
|
5278
|
+
@index = i4
|
|
5279
5279
|
r4 = nil
|
|
5280
5280
|
end
|
|
5281
5281
|
if r4
|
|
5282
5282
|
r0 = r4
|
|
5283
5283
|
else
|
|
5284
|
-
|
|
5284
|
+
@index = i0
|
|
5285
5285
|
r0 = nil
|
|
5286
5286
|
end
|
|
5287
5287
|
end
|
|
5288
5288
|
|
|
5289
5289
|
node_cache[:latin_word][start_index] = r0
|
|
5290
5290
|
|
|
5291
|
-
|
|
5291
|
+
r0
|
|
5292
5292
|
end
|
|
5293
5293
|
|
|
5294
5294
|
module FullNameLetters0
|
|
@@ -5348,7 +5348,7 @@ module ScientificNameClean
|
|
|
5348
5348
|
r1.extend(FullNameLetters0)
|
|
5349
5349
|
r1.extend(FullNameLetters1)
|
|
5350
5350
|
else
|
|
5351
|
-
|
|
5351
|
+
@index = i1
|
|
5352
5352
|
r1 = nil
|
|
5353
5353
|
end
|
|
5354
5354
|
if r1
|
|
@@ -5370,7 +5370,7 @@ module ScientificNameClean
|
|
|
5370
5370
|
r4.extend(FullNameLetters2)
|
|
5371
5371
|
r4.extend(FullNameLetters3)
|
|
5372
5372
|
else
|
|
5373
|
-
|
|
5373
|
+
@index = i4
|
|
5374
5374
|
r4 = nil
|
|
5375
5375
|
end
|
|
5376
5376
|
if r4
|
|
@@ -5380,7 +5380,7 @@ module ScientificNameClean
|
|
|
5380
5380
|
if r8
|
|
5381
5381
|
r0 = r8
|
|
5382
5382
|
else
|
|
5383
|
-
|
|
5383
|
+
@index = i0
|
|
5384
5384
|
r0 = nil
|
|
5385
5385
|
end
|
|
5386
5386
|
end
|
|
@@ -5388,7 +5388,7 @@ module ScientificNameClean
|
|
|
5388
5388
|
|
|
5389
5389
|
node_cache[:full_name_letters][start_index] = r0
|
|
5390
5390
|
|
|
5391
|
-
|
|
5391
|
+
r0
|
|
5392
5392
|
end
|
|
5393
5393
|
|
|
5394
5394
|
module ValidNameLetters0
|
|
@@ -5407,7 +5407,7 @@ module ScientificNameClean
|
|
|
5407
5407
|
|
|
5408
5408
|
s0, i0 = [], index
|
|
5409
5409
|
loop do
|
|
5410
|
-
if
|
|
5410
|
+
if has_terminal?('\G[a-z\\-ëüäöïéåóç]', true, index)
|
|
5411
5411
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5412
5412
|
@index += 1
|
|
5413
5413
|
else
|
|
@@ -5420,7 +5420,7 @@ module ScientificNameClean
|
|
|
5420
5420
|
end
|
|
5421
5421
|
end
|
|
5422
5422
|
if s0.empty?
|
|
5423
|
-
|
|
5423
|
+
@index = i0
|
|
5424
5424
|
r0 = nil
|
|
5425
5425
|
else
|
|
5426
5426
|
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
|
@@ -5429,7 +5429,7 @@ module ScientificNameClean
|
|
|
5429
5429
|
|
|
5430
5430
|
node_cache[:valid_name_letters][start_index] = r0
|
|
5431
5431
|
|
|
5432
|
-
|
|
5432
|
+
r0
|
|
5433
5433
|
end
|
|
5434
5434
|
|
|
5435
5435
|
module CapDigraph0
|
|
@@ -5453,7 +5453,7 @@ module ScientificNameClean
|
|
|
5453
5453
|
end
|
|
5454
5454
|
|
|
5455
5455
|
i0 = index
|
|
5456
|
-
if
|
|
5456
|
+
if has_terminal?("Æ", false, index)
|
|
5457
5457
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
5458
5458
|
r1.extend(CapDigraph0)
|
|
5459
5459
|
@index += 2
|
|
@@ -5464,7 +5464,7 @@ module ScientificNameClean
|
|
|
5464
5464
|
if r1
|
|
5465
5465
|
r0 = r1
|
|
5466
5466
|
else
|
|
5467
|
-
if
|
|
5467
|
+
if has_terminal?("Œ", false, index)
|
|
5468
5468
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
5469
5469
|
r2.extend(CapDigraph1)
|
|
5470
5470
|
@index += 2
|
|
@@ -5475,14 +5475,14 @@ module ScientificNameClean
|
|
|
5475
5475
|
if r2
|
|
5476
5476
|
r0 = r2
|
|
5477
5477
|
else
|
|
5478
|
-
|
|
5478
|
+
@index = i0
|
|
5479
5479
|
r0 = nil
|
|
5480
5480
|
end
|
|
5481
5481
|
end
|
|
5482
5482
|
|
|
5483
5483
|
node_cache[:cap_digraph][start_index] = r0
|
|
5484
5484
|
|
|
5485
|
-
|
|
5485
|
+
r0
|
|
5486
5486
|
end
|
|
5487
5487
|
|
|
5488
5488
|
module Digraph0
|
|
@@ -5506,7 +5506,7 @@ module ScientificNameClean
|
|
|
5506
5506
|
end
|
|
5507
5507
|
|
|
5508
5508
|
i0 = index
|
|
5509
|
-
if
|
|
5509
|
+
if has_terminal?("æ", false, index)
|
|
5510
5510
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
5511
5511
|
r1.extend(Digraph0)
|
|
5512
5512
|
@index += 2
|
|
@@ -5517,7 +5517,7 @@ module ScientificNameClean
|
|
|
5517
5517
|
if r1
|
|
5518
5518
|
r0 = r1
|
|
5519
5519
|
else
|
|
5520
|
-
if
|
|
5520
|
+
if has_terminal?("œ", false, index)
|
|
5521
5521
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
5522
5522
|
r2.extend(Digraph1)
|
|
5523
5523
|
@index += 2
|
|
@@ -5528,14 +5528,14 @@ module ScientificNameClean
|
|
|
5528
5528
|
if r2
|
|
5529
5529
|
r0 = r2
|
|
5530
5530
|
else
|
|
5531
|
-
|
|
5531
|
+
@index = i0
|
|
5532
5532
|
r0 = nil
|
|
5533
5533
|
end
|
|
5534
5534
|
end
|
|
5535
5535
|
|
|
5536
5536
|
node_cache[:digraph][start_index] = r0
|
|
5537
5537
|
|
|
5538
|
-
|
|
5538
|
+
r0
|
|
5539
5539
|
end
|
|
5540
5540
|
|
|
5541
5541
|
module Year0
|
|
@@ -5599,7 +5599,7 @@ module ScientificNameClean
|
|
|
5599
5599
|
if r6
|
|
5600
5600
|
r4 = r6
|
|
5601
5601
|
else
|
|
5602
|
-
|
|
5602
|
+
@index = i4
|
|
5603
5603
|
r4 = nil
|
|
5604
5604
|
end
|
|
5605
5605
|
end
|
|
@@ -5619,7 +5619,7 @@ module ScientificNameClean
|
|
|
5619
5619
|
r1.extend(Year0)
|
|
5620
5620
|
r1.extend(Year1)
|
|
5621
5621
|
else
|
|
5622
|
-
|
|
5622
|
+
@index = i1
|
|
5623
5623
|
r1 = nil
|
|
5624
5624
|
end
|
|
5625
5625
|
if r1
|
|
@@ -5633,7 +5633,7 @@ module ScientificNameClean
|
|
|
5633
5633
|
if r10
|
|
5634
5634
|
r0 = r10
|
|
5635
5635
|
else
|
|
5636
|
-
|
|
5636
|
+
@index = i0
|
|
5637
5637
|
r0 = nil
|
|
5638
5638
|
end
|
|
5639
5639
|
end
|
|
@@ -5641,7 +5641,7 @@ module ScientificNameClean
|
|
|
5641
5641
|
|
|
5642
5642
|
node_cache[:year][start_index] = r0
|
|
5643
5643
|
|
|
5644
|
-
|
|
5644
|
+
r0
|
|
5645
5645
|
end
|
|
5646
5646
|
|
|
5647
5647
|
module YearNumberWithCharacter0
|
|
@@ -5677,7 +5677,7 @@ module ScientificNameClean
|
|
|
5677
5677
|
r1 = _nt_year_number
|
|
5678
5678
|
s0 << r1
|
|
5679
5679
|
if r1
|
|
5680
|
-
if
|
|
5680
|
+
if has_terminal?('\G[a-zA-Z]', true, index)
|
|
5681
5681
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5682
5682
|
@index += 1
|
|
5683
5683
|
else
|
|
@@ -5690,13 +5690,13 @@ module ScientificNameClean
|
|
|
5690
5690
|
r0.extend(YearNumberWithCharacter0)
|
|
5691
5691
|
r0.extend(YearNumberWithCharacter1)
|
|
5692
5692
|
else
|
|
5693
|
-
|
|
5693
|
+
@index = i0
|
|
5694
5694
|
r0 = nil
|
|
5695
5695
|
end
|
|
5696
5696
|
|
|
5697
5697
|
node_cache[:year_number_with_character][start_index] = r0
|
|
5698
5698
|
|
|
5699
|
-
|
|
5699
|
+
r0
|
|
5700
5700
|
end
|
|
5701
5701
|
|
|
5702
5702
|
module YearNumber0
|
|
@@ -5725,7 +5725,7 @@ module ScientificNameClean
|
|
|
5725
5725
|
end
|
|
5726
5726
|
|
|
5727
5727
|
i0, s0 = index, []
|
|
5728
|
-
if
|
|
5728
|
+
if has_terminal?('\G[12]', true, index)
|
|
5729
5729
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5730
5730
|
@index += 1
|
|
5731
5731
|
else
|
|
@@ -5733,7 +5733,7 @@ module ScientificNameClean
|
|
|
5733
5733
|
end
|
|
5734
5734
|
s0 << r1
|
|
5735
5735
|
if r1
|
|
5736
|
-
if
|
|
5736
|
+
if has_terminal?('\G[7890]', true, index)
|
|
5737
5737
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5738
5738
|
@index += 1
|
|
5739
5739
|
else
|
|
@@ -5741,7 +5741,7 @@ module ScientificNameClean
|
|
|
5741
5741
|
end
|
|
5742
5742
|
s0 << r2
|
|
5743
5743
|
if r2
|
|
5744
|
-
if
|
|
5744
|
+
if has_terminal?('\G[0-9]', true, index)
|
|
5745
5745
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5746
5746
|
@index += 1
|
|
5747
5747
|
else
|
|
@@ -5749,7 +5749,7 @@ module ScientificNameClean
|
|
|
5749
5749
|
end
|
|
5750
5750
|
s0 << r3
|
|
5751
5751
|
if r3
|
|
5752
|
-
if
|
|
5752
|
+
if has_terminal?('\G[0-9]', true, index)
|
|
5753
5753
|
r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5754
5754
|
@index += 1
|
|
5755
5755
|
else
|
|
@@ -5762,7 +5762,7 @@ module ScientificNameClean
|
|
|
5762
5762
|
end
|
|
5763
5763
|
s0 << r4
|
|
5764
5764
|
if r4
|
|
5765
|
-
if
|
|
5765
|
+
if has_terminal?('\G[\\?]', true, index)
|
|
5766
5766
|
r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5767
5767
|
@index += 1
|
|
5768
5768
|
else
|
|
@@ -5783,13 +5783,13 @@ module ScientificNameClean
|
|
|
5783
5783
|
r0.extend(YearNumber0)
|
|
5784
5784
|
r0.extend(YearNumber1)
|
|
5785
5785
|
else
|
|
5786
|
-
|
|
5786
|
+
@index = i0
|
|
5787
5787
|
r0 = nil
|
|
5788
5788
|
end
|
|
5789
5789
|
|
|
5790
5790
|
node_cache[:year_number][start_index] = r0
|
|
5791
5791
|
|
|
5792
|
-
|
|
5792
|
+
r0
|
|
5793
5793
|
end
|
|
5794
5794
|
|
|
5795
5795
|
def _nt_left_paren
|
|
@@ -5800,7 +5800,7 @@ module ScientificNameClean
|
|
|
5800
5800
|
return cached
|
|
5801
5801
|
end
|
|
5802
5802
|
|
|
5803
|
-
if
|
|
5803
|
+
if has_terminal?("(", false, index)
|
|
5804
5804
|
r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5805
5805
|
@index += 1
|
|
5806
5806
|
else
|
|
@@ -5810,7 +5810,7 @@ module ScientificNameClean
|
|
|
5810
5810
|
|
|
5811
5811
|
node_cache[:left_paren][start_index] = r0
|
|
5812
5812
|
|
|
5813
|
-
|
|
5813
|
+
r0
|
|
5814
5814
|
end
|
|
5815
5815
|
|
|
5816
5816
|
def _nt_right_paren
|
|
@@ -5821,7 +5821,7 @@ module ScientificNameClean
|
|
|
5821
5821
|
return cached
|
|
5822
5822
|
end
|
|
5823
5823
|
|
|
5824
|
-
if
|
|
5824
|
+
if has_terminal?(")", false, index)
|
|
5825
5825
|
r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5826
5826
|
@index += 1
|
|
5827
5827
|
else
|
|
@@ -5831,7 +5831,7 @@ module ScientificNameClean
|
|
|
5831
5831
|
|
|
5832
5832
|
node_cache[:right_paren][start_index] = r0
|
|
5833
5833
|
|
|
5834
|
-
|
|
5834
|
+
r0
|
|
5835
5835
|
end
|
|
5836
5836
|
|
|
5837
5837
|
module HybridCharacter0
|
|
@@ -5850,7 +5850,7 @@ module ScientificNameClean
|
|
|
5850
5850
|
|
|
5851
5851
|
i0 = index
|
|
5852
5852
|
i1 = index
|
|
5853
|
-
if
|
|
5853
|
+
if has_terminal?("x", false, index)
|
|
5854
5854
|
r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5855
5855
|
@index += 1
|
|
5856
5856
|
else
|
|
@@ -5861,7 +5861,7 @@ module ScientificNameClean
|
|
|
5861
5861
|
r1 = r2
|
|
5862
5862
|
r1.extend(HybridCharacter0)
|
|
5863
5863
|
else
|
|
5864
|
-
if
|
|
5864
|
+
if has_terminal?("X", false, index)
|
|
5865
5865
|
r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5866
5866
|
@index += 1
|
|
5867
5867
|
else
|
|
@@ -5872,7 +5872,7 @@ module ScientificNameClean
|
|
|
5872
5872
|
r1 = r3
|
|
5873
5873
|
r1.extend(HybridCharacter0)
|
|
5874
5874
|
else
|
|
5875
|
-
|
|
5875
|
+
@index = i1
|
|
5876
5876
|
r1 = nil
|
|
5877
5877
|
end
|
|
5878
5878
|
end
|
|
@@ -5883,14 +5883,14 @@ module ScientificNameClean
|
|
|
5883
5883
|
if r4
|
|
5884
5884
|
r0 = r4
|
|
5885
5885
|
else
|
|
5886
|
-
|
|
5886
|
+
@index = i0
|
|
5887
5887
|
r0 = nil
|
|
5888
5888
|
end
|
|
5889
5889
|
end
|
|
5890
5890
|
|
|
5891
5891
|
node_cache[:hybrid_character][start_index] = r0
|
|
5892
5892
|
|
|
5893
|
-
|
|
5893
|
+
r0
|
|
5894
5894
|
end
|
|
5895
5895
|
|
|
5896
5896
|
module MultiplicationSign0
|
|
@@ -5907,7 +5907,7 @@ module ScientificNameClean
|
|
|
5907
5907
|
return cached
|
|
5908
5908
|
end
|
|
5909
5909
|
|
|
5910
|
-
if
|
|
5910
|
+
if has_terminal?("×", false, index)
|
|
5911
5911
|
r0 = instantiate_node(SyntaxNode,input, index...(index + 2))
|
|
5912
5912
|
r0.extend(MultiplicationSign0)
|
|
5913
5913
|
@index += 2
|
|
@@ -5918,7 +5918,7 @@ module ScientificNameClean
|
|
|
5918
5918
|
|
|
5919
5919
|
node_cache[:multiplication_sign][start_index] = r0
|
|
5920
5920
|
|
|
5921
|
-
|
|
5921
|
+
r0
|
|
5922
5922
|
end
|
|
5923
5923
|
|
|
5924
5924
|
def _nt_space
|
|
@@ -5931,7 +5931,7 @@ module ScientificNameClean
|
|
|
5931
5931
|
|
|
5932
5932
|
s0, i0 = [], index
|
|
5933
5933
|
loop do
|
|
5934
|
-
if
|
|
5934
|
+
if has_terminal?('\G[\\s]', true, index)
|
|
5935
5935
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5936
5936
|
@index += 1
|
|
5937
5937
|
else
|
|
@@ -5947,7 +5947,7 @@ module ScientificNameClean
|
|
|
5947
5947
|
|
|
5948
5948
|
node_cache[:space][start_index] = r0
|
|
5949
5949
|
|
|
5950
|
-
|
|
5950
|
+
r0
|
|
5951
5951
|
end
|
|
5952
5952
|
|
|
5953
5953
|
def _nt_space_hard
|
|
@@ -5960,7 +5960,7 @@ module ScientificNameClean
|
|
|
5960
5960
|
|
|
5961
5961
|
s0, i0 = [], index
|
|
5962
5962
|
loop do
|
|
5963
|
-
if
|
|
5963
|
+
if has_terminal?('\G[\\s]', true, index)
|
|
5964
5964
|
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
|
5965
5965
|
@index += 1
|
|
5966
5966
|
else
|
|
@@ -5973,7 +5973,7 @@ module ScientificNameClean
|
|
|
5973
5973
|
end
|
|
5974
5974
|
end
|
|
5975
5975
|
if s0.empty?
|
|
5976
|
-
|
|
5976
|
+
@index = i0
|
|
5977
5977
|
r0 = nil
|
|
5978
5978
|
else
|
|
5979
5979
|
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
|
@@ -5981,7 +5981,7 @@ module ScientificNameClean
|
|
|
5981
5981
|
|
|
5982
5982
|
node_cache[:space_hard][start_index] = r0
|
|
5983
5983
|
|
|
5984
|
-
|
|
5984
|
+
r0
|
|
5985
5985
|
end
|
|
5986
5986
|
|
|
5987
5987
|
end
|