namae 1.1.0 → 1.2.0
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.
- checksums.yaml +4 -4
- data/README.md +12 -2
- data/lib/namae/name.rb +7 -0
- data/lib/namae/parser.rb +142 -153
- data/lib/namae/parser.y +28 -37
- data/lib/namae/version.rb +1 -1
- data/lib/namae.rb +1 -1
- metadata +17 -33
- data/.codeclimate.yml +0 -16
- data/.coveralls.yml +0 -1
- data/.document +0 -7
- data/.rspec +0 -2
- data/.rubocop.yml +0 -1156
- data/.simplecov +0 -4
- data/.travis.yml +0 -38
- data/.yardopts +0 -3
- data/Gemfile +0 -26
- data/Rakefile +0 -74
- data/cucumber.yml +0 -1
- data/features/bibtex.feature +0 -78
- data/features/examples.feature +0 -36
- data/features/lists.feature +0 -138
- data/features/step_definitions/namae_steps.rb +0 -45
- data/features/suffix.feature +0 -49
- data/features/support/env.rb +0 -24
- data/features/title.feature +0 -17
- data/namae.gemspec +0 -70
- data/spec/namae/name_spec.rb +0 -133
- data/spec/namae/parser_spec.rb +0 -259
- data/spec/namae/utility_spec.rb +0 -21
- data/spec/spec_helper.rb +0 -32
- data/spec/thread_safety_spec.rb +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65795210d2525956c6d9e1774ee7e9c633130871e7d8cd74737ad8b0b4340e7e
|
|
4
|
+
data.tar.gz: 50e15bc59fb1eb82f967ddcfda467354209debfdd65a3f264c5625de2da3fa89
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2385d90450515879dc4e5dea141ad34a95c4279fde33954b7d3b3ca831977600efda9030d2e8acd76db7f2632f0e16c9a5be022525bc075de512c923109b2ea0
|
|
7
|
+
data.tar.gz: 52d8470e03f68cb81118d8dcf9859213c8509cc4deab5f6f498dc632dd6e4d04d8c13a87150d2d9b5e3aa0c650bf94f340f03df96736bc31b7d7cf0f91877e97
|
data/README.md
CHANGED
|
@@ -4,8 +4,8 @@ Namae is a parser for human names. It recognizes personal names of various
|
|
|
4
4
|
cultural backgrounds and tries to split them into their component parts
|
|
5
5
|
(e.g., given and family names, honorifics etc.).
|
|
6
6
|
|
|
7
|
-
[](https://github.com/berkmancenter/namae/actions/workflows/ci.yml)
|
|
8
|
+
[](https://coveralls.io/github/berkmancenter/namae?branch=master)
|
|
9
9
|
[](http://badge.fury.io/rb/namae)
|
|
10
10
|
[](https://codeclimate.com/github/berkmancenter/namae)
|
|
11
11
|
|
|
@@ -121,6 +121,16 @@ ambiguous. For example, multiple family names are always possible in sort-order:
|
|
|
121
121
|
Whilst in display-order, multiple family names are only supported when the
|
|
122
122
|
name contains a particle or a nickname.
|
|
123
123
|
|
|
124
|
+
Namae tries to detect common particles using the `:uppercase_particle` lexer
|
|
125
|
+
pattern. If you prefer to always include particles with the family name, you
|
|
126
|
+
can set the the `:include_particle_in_family` parser option.
|
|
127
|
+
|
|
128
|
+
Namae.parse 'Ludwig von Beethoven'
|
|
129
|
+
#-> [#<Name family="Beethoven" given="Ludwig" particle="von">]
|
|
130
|
+
|
|
131
|
+
Namae.options[:include_particle_in_family] = true
|
|
132
|
+
#-> [#<Name family="von Beethoven" given="Ludwig">]
|
|
133
|
+
|
|
124
134
|
Configuration
|
|
125
135
|
-------------
|
|
126
136
|
You can tweak some of Namae's parse rules by configuring the parser's
|
data/lib/namae/name.rb
CHANGED
|
@@ -183,6 +183,13 @@ module Namae
|
|
|
183
183
|
self
|
|
184
184
|
end
|
|
185
185
|
|
|
186
|
+
def merge_particles!
|
|
187
|
+
self.family = [dropping_particle, particle, family].compact.join(' ')
|
|
188
|
+
self.dropping_particle = nil
|
|
189
|
+
self.particle = nil
|
|
190
|
+
self
|
|
191
|
+
end
|
|
192
|
+
|
|
186
193
|
# @return [String] a string representation of the name
|
|
187
194
|
def inspect
|
|
188
195
|
"#<Name #{each_pair.map { |k,v| [k,v.inspect].join('=') if v }.compact.join(' ')}>"
|
data/lib/namae/parser.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# DO NOT MODIFY!!!!
|
|
3
|
-
# This file is automatically generated by Racc 1.
|
|
4
|
-
# from Racc grammar file "".
|
|
3
|
+
# This file is automatically generated by Racc 1.7.3
|
|
4
|
+
# from Racc grammar file "parser.y".
|
|
5
5
|
#
|
|
6
6
|
|
|
7
7
|
require 'racc/parser.rb'
|
|
@@ -11,7 +11,7 @@ require 'strscan'
|
|
|
11
11
|
module Namae
|
|
12
12
|
class Parser < Racc::Parser
|
|
13
13
|
|
|
14
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
|
14
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 111)
|
|
15
15
|
|
|
16
16
|
@defaults = {
|
|
17
17
|
:debug => false,
|
|
@@ -23,7 +23,7 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 122)
|
|
|
23
23
|
:title => /\s*\b(sir|lord|count(ess)?|(gen|adm|col|maj|capt|cmdr|lt|sgt|cpl|pvt|pastor|pr|reverend|rev|elder|deacon|deaconess|father|fr|rabbi|cantor|vicar|prof|dr|md|ph\.?d)\.?)(\s+|$)/i,
|
|
24
24
|
:suffix => /\s*\b(JR|Jr|jr|SR|Sr|sr|[IVX]{2,})(\.|\b)/,
|
|
25
25
|
:appellation => /\s*\b((mrs?|ms|fr|hr)\.?|miss|herr|frau)(\s+|$)/i,
|
|
26
|
-
:uppercase_particle => /\s*\b(
|
|
26
|
+
:uppercase_particle => /\s*\b(D[aiu]|De[rs]?|St\.?|Saint|La|Les|V[ao]n)(\s+|$)/
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
class << self
|
|
@@ -90,7 +90,9 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 122)
|
|
|
90
90
|
def parse!(string)
|
|
91
91
|
@input = StringScanner.new(normalize(string))
|
|
92
92
|
reset
|
|
93
|
-
do_parse
|
|
93
|
+
names = do_parse
|
|
94
|
+
names.map(&:merge_particles!) if include_particle_in_family?
|
|
95
|
+
names
|
|
94
96
|
end
|
|
95
97
|
|
|
96
98
|
def normalize(string)
|
|
@@ -207,86 +209,84 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 122)
|
|
|
207
209
|
##### State transition tables begin ###
|
|
208
210
|
|
|
209
211
|
racc_action_table = [
|
|
210
|
-
-
|
|
211
|
-
-41, -
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
212
|
+
-43, 36, 26, 37, -41, 38, 39, -43, -42, -43,
|
|
213
|
+
-43, -41, -40, -41, -41, -42, 45, -42, -42, -40,
|
|
214
|
+
50, -40, -40, 72, 59, 58, 60, 73, 16, 13,
|
|
215
|
+
17, -36, 61, 7, 18, 65, 14, 16, 25, 17,
|
|
216
|
+
16, 25, 17, 28, 18, 14, 65, 45, 14, 36,
|
|
217
|
+
34, 37, 68, 16, 13, 17, 26, 35, 7, 18,
|
|
218
|
+
18, 14, 16, 25, 17, 28, 36, 34, 37, 45,
|
|
219
|
+
14, 36, 34, 37, 35, 36, 34, 37, 45, 35,
|
|
220
|
+
36, 52, 37, 35, -22, -22, -22, 18, 35, 59,
|
|
221
|
+
58, 60, -22, 36, 34, 37, 45, 61, 36, 34,
|
|
222
|
+
37, 35, 59, 58, 60, 65, 35, nil, nil, 45,
|
|
223
|
+
61, 59, 58, 60, 59, 58, 60, nil, 45, 61,
|
|
224
|
+
19, nil, 61, 59, 58, 60, -40, 20, -24, nil,
|
|
225
|
+
nil, 61, nil, -40 ]
|
|
223
226
|
|
|
224
227
|
racc_action_check = [
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
228
|
+
14, 48, 8, 48, 16, 11, 19, 14, 17, 14,
|
|
229
|
+
14, 16, 25, 16, 16, 17, 27, 17, 17, 25,
|
|
230
|
+
31, 25, 25, 55, 55, 55, 55, 56, 0, 0,
|
|
231
|
+
0, 55, 55, 0, 0, 56, 0, 5, 5, 5,
|
|
232
|
+
9, 9, 9, 9, 43, 5, 44, 46, 9, 10,
|
|
233
|
+
10, 10, 49, 20, 20, 20, 64, 10, 20, 20,
|
|
234
|
+
66, 20, 23, 23, 23, 23, 24, 24, 24, 67,
|
|
235
|
+
23, 28, 28, 28, 24, 29, 29, 29, 70, 28,
|
|
236
|
+
33, 33, 33, 29, 34, 34, 34, 75, 33, 38,
|
|
237
|
+
38, 38, 34, 41, 41, 41, 38, 38, 47, 47,
|
|
238
|
+
47, 41, 50, 50, 50, 77, 47, nil, nil, 50,
|
|
239
|
+
50, 68, 68, 68, 73, 73, 73, nil, 68, 68,
|
|
240
|
+
1, nil, 73, 78, 78, 78, 13, 1, 13, nil,
|
|
241
|
+
nil, 78, nil, 13 ]
|
|
238
242
|
|
|
239
243
|
racc_action_pointer = [
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
nil, nil,
|
|
243
|
-
nil,
|
|
244
|
-
nil,
|
|
245
|
-
|
|
246
|
-
nil, nil,
|
|
247
|
-
|
|
248
|
-
114, nil ]
|
|
244
|
+
25, 120, nil, nil, nil, 34, nil, nil, -7, 37,
|
|
245
|
+
46, 3, nil, 126, 0, nil, 4, 8, nil, 6,
|
|
246
|
+
50, nil, nil, 59, 63, 12, nil, 6, 68, 72,
|
|
247
|
+
nil, 18, nil, 77, 81, nil, nil, nil, 86, nil,
|
|
248
|
+
nil, 90, nil, 35, 36, nil, 37, 95, -2, 50,
|
|
249
|
+
99, nil, nil, nil, nil, 21, 25, nil, nil, nil,
|
|
250
|
+
nil, nil, nil, nil, 47, nil, 51, 59, 108, nil,
|
|
251
|
+
68, nil, nil, 111, nil, 78, nil, 95, 120, nil ]
|
|
249
252
|
|
|
250
253
|
racc_action_default = [
|
|
251
|
-
-1, -
|
|
252
|
-
-
|
|
253
|
-
-6, -7, -
|
|
254
|
-
-31, -
|
|
255
|
-
|
|
256
|
-
-
|
|
257
|
-
-
|
|
258
|
-
-
|
|
259
|
-
-29, -13 ]
|
|
254
|
+
-1, -52, -2, -4, -5, -52, -8, -9, -10, -25,
|
|
255
|
+
-52, -52, -19, -22, -23, -30, -32, -33, -50, -52,
|
|
256
|
+
-52, -6, -7, -52, -52, -22, -51, -44, -52, -52,
|
|
257
|
+
-31, -15, -20, -25, -24, -23, -32, -33, -38, 80,
|
|
258
|
+
-3, -52, -15, -48, -45, -46, -44, -52, -25, -14,
|
|
259
|
+
-38, -21, -22, -16, -26, -39, -28, -34, -40, -41,
|
|
260
|
+
-42, -43, -14, -11, -49, -47, -48, -44, -38, -17,
|
|
261
|
+
-52, -35, -37, -52, -12, -48, -18, -27, -29, -13 ]
|
|
260
262
|
|
|
261
263
|
racc_goto_table = [
|
|
262
|
-
3,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
nil, nil, nil, nil, nil,
|
|
269
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
|
270
|
-
72 ]
|
|
264
|
+
3, 30, 43, 1, 22, 21, 56, 53, 31, 27,
|
|
265
|
+
32, 63, 78, 70, nil, 30, nil, nil, 56, 69,
|
|
266
|
+
3, 66, 42, 27, 32, 30, 46, 49, 24, 32,
|
|
267
|
+
9, nil, 29, 51, 74, 23, 56, 76, 77, 62,
|
|
268
|
+
30, 32, 75, 79, 2, 67, 41, 32, 8, nil,
|
|
269
|
+
9, 47, nil, nil, nil, 71, nil, nil, 48, nil,
|
|
270
|
+
nil, nil, nil, nil, 40, nil, nil, nil, 8, nil,
|
|
271
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 71 ]
|
|
271
272
|
|
|
272
273
|
racc_goto_check = [
|
|
273
|
-
3,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
8, nil, nil, nil, nil, nil,
|
|
279
|
-
nil, nil, nil, nil, nil,
|
|
280
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
|
281
|
-
3 ]
|
|
274
|
+
3, 19, 9, 1, 4, 3, 18, 13, 11, 3,
|
|
275
|
+
14, 10, 16, 17, nil, 19, nil, nil, 18, 13,
|
|
276
|
+
3, 9, 11, 3, 14, 19, 11, 11, 12, 14,
|
|
277
|
+
8, nil, 12, 14, 10, 8, 18, 13, 18, 11,
|
|
278
|
+
19, 14, 9, 10, 2, 11, 12, 14, 7, nil,
|
|
279
|
+
8, 12, nil, nil, nil, 3, nil, nil, 8, nil,
|
|
280
|
+
nil, nil, nil, nil, 2, nil, nil, nil, 7, nil,
|
|
281
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 3 ]
|
|
282
282
|
|
|
283
283
|
racc_goto_pointer = [
|
|
284
|
-
nil,
|
|
285
|
-
-
|
|
284
|
+
nil, 3, 44, 0, -1, nil, nil, 48, 30, -25,
|
|
285
|
+
-32, -2, 23, -31, 0, nil, -61, -42, -32, -8 ]
|
|
286
286
|
|
|
287
287
|
racc_goto_default = [
|
|
288
|
-
nil, nil, nil,
|
|
289
|
-
nil, 11, 10, nil,
|
|
288
|
+
nil, nil, nil, 57, 4, 5, 6, 64, 33, nil,
|
|
289
|
+
nil, 11, 10, nil, 12, 54, 55, nil, 44, 15 ]
|
|
290
290
|
|
|
291
291
|
racc_reduce_table = [
|
|
292
292
|
0, 0, :racc_error,
|
|
@@ -304,15 +304,15 @@ racc_reduce_table = [
|
|
|
304
304
|
5, 16, :_reduce_12,
|
|
305
305
|
6, 16, :_reduce_13,
|
|
306
306
|
3, 16, :_reduce_14,
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
4, 18, :_reduce_19,
|
|
312
|
-
5, 18, :_reduce_20,
|
|
307
|
+
2, 16, :_reduce_15,
|
|
308
|
+
3, 18, :_reduce_16,
|
|
309
|
+
4, 18, :_reduce_17,
|
|
310
|
+
5, 18, :_reduce_18,
|
|
313
311
|
1, 24, :_reduce_none,
|
|
314
|
-
2, 24, :
|
|
315
|
-
3, 24, :
|
|
312
|
+
2, 24, :_reduce_20,
|
|
313
|
+
3, 24, :_reduce_21,
|
|
314
|
+
1, 26, :_reduce_none,
|
|
315
|
+
1, 26, :_reduce_none,
|
|
316
316
|
1, 23, :_reduce_none,
|
|
317
317
|
1, 23, :_reduce_none,
|
|
318
318
|
1, 25, :_reduce_26,
|
|
@@ -321,29 +321,30 @@ racc_reduce_table = [
|
|
|
321
321
|
3, 25, :_reduce_29,
|
|
322
322
|
1, 20, :_reduce_none,
|
|
323
323
|
2, 20, :_reduce_31,
|
|
324
|
-
1,
|
|
325
|
-
1,
|
|
326
|
-
1, 27, :_reduce_none,
|
|
327
|
-
2, 27, :_reduce_35,
|
|
328
|
-
0, 28, :_reduce_none,
|
|
324
|
+
1, 31, :_reduce_none,
|
|
325
|
+
1, 31, :_reduce_none,
|
|
329
326
|
1, 28, :_reduce_none,
|
|
330
|
-
|
|
331
|
-
|
|
327
|
+
2, 28, :_reduce_35,
|
|
328
|
+
0, 29, :_reduce_none,
|
|
329
|
+
1, 29, :_reduce_none,
|
|
330
|
+
0, 27, :_reduce_none,
|
|
331
|
+
1, 27, :_reduce_none,
|
|
332
|
+
1, 15, :_reduce_none,
|
|
332
333
|
1, 15, :_reduce_none,
|
|
333
334
|
1, 15, :_reduce_none,
|
|
334
335
|
1, 15, :_reduce_none,
|
|
335
336
|
0, 21, :_reduce_none,
|
|
336
337
|
1, 21, :_reduce_none,
|
|
337
|
-
1,
|
|
338
|
-
2,
|
|
338
|
+
1, 30, :_reduce_none,
|
|
339
|
+
2, 30, :_reduce_47,
|
|
339
340
|
0, 22, :_reduce_none,
|
|
340
341
|
1, 22, :_reduce_none,
|
|
341
342
|
1, 19, :_reduce_none,
|
|
342
|
-
2, 19, :
|
|
343
|
+
2, 19, :_reduce_51 ]
|
|
343
344
|
|
|
344
|
-
racc_reduce_n =
|
|
345
|
+
racc_reduce_n = 52
|
|
345
346
|
|
|
346
|
-
racc_shift_n =
|
|
347
|
+
racc_shift_n = 80
|
|
347
348
|
|
|
348
349
|
racc_token_table = {
|
|
349
350
|
false => 0,
|
|
@@ -378,6 +379,7 @@ Racc_arg = [
|
|
|
378
379
|
racc_shift_n,
|
|
379
380
|
racc_reduce_n,
|
|
380
381
|
racc_use_result_var ]
|
|
382
|
+
Ractor.make_shareable(Racc_arg) if defined?(Ractor)
|
|
381
383
|
|
|
382
384
|
Racc_token_to_s_table = [
|
|
383
385
|
"$end",
|
|
@@ -406,11 +408,13 @@ Racc_token_to_s_table = [
|
|
|
406
408
|
"last",
|
|
407
409
|
"von",
|
|
408
410
|
"first",
|
|
411
|
+
"particle",
|
|
409
412
|
"opt_words",
|
|
410
413
|
"words",
|
|
411
414
|
"opt_comma",
|
|
412
415
|
"suffices",
|
|
413
416
|
"u_word" ]
|
|
417
|
+
Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
|
|
414
418
|
|
|
415
419
|
Racc_debug_parser = false
|
|
416
420
|
|
|
@@ -480,36 +484,36 @@ module_eval(<<'.,.,', 'parser.y', 22)
|
|
|
480
484
|
|
|
481
485
|
module_eval(<<'.,.,', 'parser.y', 26)
|
|
482
486
|
def _reduce_11(val, _values, result)
|
|
483
|
-
result = Name.new(
|
|
484
|
-
:suffix => val[2], :title => val[3]
|
|
487
|
+
result = Name.new(
|
|
488
|
+
:given => val[0], :family => val[1], :suffix => val[2], :title => val[3]
|
|
489
|
+
)
|
|
485
490
|
|
|
486
491
|
result
|
|
487
492
|
end
|
|
488
493
|
.,.,
|
|
489
494
|
|
|
490
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
495
|
+
module_eval(<<'.,.,', 'parser.y', 32)
|
|
491
496
|
def _reduce_12(val, _values, result)
|
|
492
|
-
result = Name.new(
|
|
493
|
-
:family => val[2], :suffix => val[3], :title => val[4]
|
|
497
|
+
result = Name.new(
|
|
498
|
+
:given => val[0], :nick => val[1], :family => val[2], :suffix => val[3], :title => val[4]
|
|
499
|
+
)
|
|
494
500
|
|
|
495
501
|
result
|
|
496
502
|
end
|
|
497
503
|
.,.,
|
|
498
504
|
|
|
499
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
505
|
+
module_eval(<<'.,.,', 'parser.y', 38)
|
|
500
506
|
def _reduce_13(val, _values, result)
|
|
501
|
-
result = Name.new(
|
|
502
|
-
:particle => val[2], :family => val[3],
|
|
503
|
-
:suffix => val[4], :title => val[5])
|
|
507
|
+
result = Name.new(
|
|
508
|
+
:given => val[0], :nick => val[1], :particle => val[2], :family => val[3], :suffix => val[4], :title => val[5])
|
|
504
509
|
|
|
505
510
|
result
|
|
506
511
|
end
|
|
507
512
|
.,.,
|
|
508
513
|
|
|
509
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
514
|
+
module_eval(<<'.,.,', 'parser.y', 43)
|
|
510
515
|
def _reduce_14(val, _values, result)
|
|
511
|
-
result = Name.new(:given => val[0], :particle => val[1],
|
|
512
|
-
:family => val[2])
|
|
516
|
+
result = Name.new(:given => val[0], :particle => val[1], :family => val[2])
|
|
513
517
|
|
|
514
518
|
result
|
|
515
519
|
end
|
|
@@ -517,105 +521,88 @@ module_eval(<<'.,.,', 'parser.y', 42)
|
|
|
517
521
|
|
|
518
522
|
module_eval(<<'.,.,', 'parser.y', 47)
|
|
519
523
|
def _reduce_15(val, _values, result)
|
|
520
|
-
|
|
521
|
-
Name.new(:given => val[0], :family => val[1,2].join(' '))
|
|
522
|
-
else
|
|
523
|
-
Name.new(:given => val[0], :particle => val[1], :family => val[2])
|
|
524
|
-
end
|
|
524
|
+
result = Name.new(:particle => val[0], :family => val[1])
|
|
525
525
|
|
|
526
526
|
result
|
|
527
527
|
end
|
|
528
528
|
.,.,
|
|
529
529
|
|
|
530
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
530
|
+
module_eval(<<'.,.,', 'parser.y', 52)
|
|
531
531
|
def _reduce_16(val, _values, result)
|
|
532
|
-
result = Name.new(
|
|
532
|
+
result = Name.new({
|
|
533
|
+
:family => val[0], :suffix => val[2][0], :given => val[2][1]
|
|
534
|
+
}, !!val[2][0])
|
|
533
535
|
|
|
534
536
|
result
|
|
535
537
|
end
|
|
536
538
|
.,.,
|
|
537
539
|
|
|
538
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
540
|
+
module_eval(<<'.,.,', 'parser.y', 58)
|
|
539
541
|
def _reduce_17(val, _values, result)
|
|
540
|
-
result = Name.new({
|
|
541
|
-
:
|
|
542
|
+
result = Name.new({
|
|
543
|
+
:particle => val[0], :family => val[1], :suffix => val[3][0], :given => val[3][1]
|
|
544
|
+
}, !!val[3][0])
|
|
542
545
|
|
|
543
546
|
result
|
|
544
547
|
end
|
|
545
548
|
.,.,
|
|
546
549
|
|
|
547
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
550
|
+
module_eval(<<'.,.,', 'parser.y', 64)
|
|
548
551
|
def _reduce_18(val, _values, result)
|
|
549
|
-
result =
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
Name.new({ :particle => val[0], :family => val[1], :suffix => val[3][0], :given => val[3][1] }, !!val[3][0])
|
|
553
|
-
end
|
|
552
|
+
result = Name.new({
|
|
553
|
+
:particle => val[0,2].join(' '), :family => val[2], :suffix => val[4][0], :given => val[4][1]
|
|
554
|
+
}, !!val[4][0])
|
|
554
555
|
|
|
555
556
|
result
|
|
556
557
|
end
|
|
557
558
|
.,.,
|
|
558
559
|
|
|
559
|
-
|
|
560
|
-
def _reduce_19(val, _values, result)
|
|
561
|
-
result = Name.new({ :particle => val[0], :family => val[1],
|
|
562
|
-
:suffix => val[3][0], :given => val[3][1] }, !!val[3][0])
|
|
563
|
-
|
|
564
|
-
result
|
|
565
|
-
end
|
|
566
|
-
.,.,
|
|
560
|
+
# reduce 19 omitted
|
|
567
561
|
|
|
568
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
562
|
+
module_eval(<<'.,.,', 'parser.y', 71)
|
|
569
563
|
def _reduce_20(val, _values, result)
|
|
570
|
-
result = Name.new({ :particle => val[0,2].join(' '), :family => val[2],
|
|
571
|
-
:suffix => val[4][0], :given => val[4][1] }, !!val[4][0])
|
|
572
|
-
|
|
573
|
-
result
|
|
574
|
-
end
|
|
575
|
-
.,.,
|
|
576
|
-
|
|
577
|
-
# reduce 21 omitted
|
|
578
|
-
|
|
579
|
-
module_eval(<<'.,.,', 'parser.y', 84)
|
|
580
|
-
def _reduce_22(val, _values, result)
|
|
581
564
|
result = val.join(' ')
|
|
582
565
|
result
|
|
583
566
|
end
|
|
584
567
|
.,.,
|
|
585
568
|
|
|
586
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
587
|
-
def
|
|
569
|
+
module_eval(<<'.,.,', 'parser.y', 72)
|
|
570
|
+
def _reduce_21(val, _values, result)
|
|
588
571
|
result = val.join(' ')
|
|
589
572
|
result
|
|
590
573
|
end
|
|
591
574
|
.,.,
|
|
592
575
|
|
|
576
|
+
# reduce 22 omitted
|
|
577
|
+
|
|
578
|
+
# reduce 23 omitted
|
|
579
|
+
|
|
593
580
|
# reduce 24 omitted
|
|
594
581
|
|
|
595
582
|
# reduce 25 omitted
|
|
596
583
|
|
|
597
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
584
|
+
module_eval(<<'.,.,', 'parser.y', 78)
|
|
598
585
|
def _reduce_26(val, _values, result)
|
|
599
586
|
result = [nil,val[0]]
|
|
600
587
|
result
|
|
601
588
|
end
|
|
602
589
|
.,.,
|
|
603
590
|
|
|
604
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
591
|
+
module_eval(<<'.,.,', 'parser.y', 79)
|
|
605
592
|
def _reduce_27(val, _values, result)
|
|
606
593
|
result = [val[2],val[0]]
|
|
607
594
|
result
|
|
608
595
|
end
|
|
609
596
|
.,.,
|
|
610
597
|
|
|
611
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
598
|
+
module_eval(<<'.,.,', 'parser.y', 80)
|
|
612
599
|
def _reduce_28(val, _values, result)
|
|
613
600
|
result = [val[0],nil]
|
|
614
601
|
result
|
|
615
602
|
end
|
|
616
603
|
.,.,
|
|
617
604
|
|
|
618
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
605
|
+
module_eval(<<'.,.,', 'parser.y', 81)
|
|
619
606
|
def _reduce_29(val, _values, result)
|
|
620
607
|
result = [val[0],val[2]]
|
|
621
608
|
result
|
|
@@ -624,7 +611,7 @@ module_eval(<<'.,.,', 'parser.y', 92)
|
|
|
624
611
|
|
|
625
612
|
# reduce 30 omitted
|
|
626
613
|
|
|
627
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
614
|
+
module_eval(<<'.,.,', 'parser.y', 84)
|
|
628
615
|
def _reduce_31(val, _values, result)
|
|
629
616
|
result = val.join(' ')
|
|
630
617
|
result
|
|
@@ -637,7 +624,7 @@ module_eval(<<'.,.,', 'parser.y', 95)
|
|
|
637
624
|
|
|
638
625
|
# reduce 34 omitted
|
|
639
626
|
|
|
640
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
627
|
+
module_eval(<<'.,.,', 'parser.y', 89)
|
|
641
628
|
def _reduce_35(val, _values, result)
|
|
642
629
|
result = val.join(' ')
|
|
643
630
|
result
|
|
@@ -664,21 +651,23 @@ module_eval(<<'.,.,', 'parser.y', 100)
|
|
|
664
651
|
|
|
665
652
|
# reduce 45 omitted
|
|
666
653
|
|
|
667
|
-
|
|
668
|
-
|
|
654
|
+
# reduce 46 omitted
|
|
655
|
+
|
|
656
|
+
module_eval(<<'.,.,', 'parser.y', 99)
|
|
657
|
+
def _reduce_47(val, _values, result)
|
|
669
658
|
result = val.join(' ')
|
|
670
659
|
result
|
|
671
660
|
end
|
|
672
661
|
.,.,
|
|
673
662
|
|
|
674
|
-
# reduce 47 omitted
|
|
675
|
-
|
|
676
663
|
# reduce 48 omitted
|
|
677
664
|
|
|
678
665
|
# reduce 49 omitted
|
|
679
666
|
|
|
680
|
-
|
|
681
|
-
|
|
667
|
+
# reduce 50 omitted
|
|
668
|
+
|
|
669
|
+
module_eval(<<'.,.,', 'parser.y', 104)
|
|
670
|
+
def _reduce_51(val, _values, result)
|
|
682
671
|
result = val.join(' ')
|
|
683
672
|
result
|
|
684
673
|
end
|