bibtex-ruby 1.3.6 → 1.3.7

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.

Potentially problematic release.


This version of bibtex-ruby might be problematic. Click here for more details.

@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bibtex-ruby (1.3.6)
4
+ bibtex-ruby (1.3.7)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -1,7 +1,15 @@
1
+ === 1.3.7 / 2011-06-30
2
+
3
+ * Added option to toggle dropping/non-dropping behaviour of 'von' parts
4
+ when exporting to CiteProc/CSL
5
+ * Fixed name parser not accepting 'von' parts starting with upper case words
6
+ in sort order (#11)
7
+ * Added support for multi-line string literals (#15)
8
+
1
9
  === 1.3.6 / 2011-06-11
2
10
 
3
11
  * Refactored lexer and parser for speed
4
- * Added support for @strings with braced values (fixes #10)
12
+ * Added support for @strings with braced values (#10)
5
13
 
6
14
  === 1.3.5 / 2011-06-07
7
15
 
data/Manifest CHANGED
@@ -58,6 +58,7 @@ test/bibtex/test_bibliography.rb
58
58
  test/bibtex/test_elements.rb
59
59
  test/bibtex/test_entry.rb
60
60
  test/bibtex/test_lexer.rb
61
+ test/bibtex/test_name_parser.rb
61
62
  test/bibtex/test_names.rb
62
63
  test/bibtex/test_parser.rb
63
64
  test/bibtex/test_string.rb
@@ -43,7 +43,18 @@ Feature: BibTeX Names
43
43
  | bb CC,XX, AA | AA | bb | CC | XX |
44
44
  | bb CC,xx, AA | AA | bb | CC | xx |
45
45
  | BB,, AA | AA | | BB | |
46
-
46
+ | CC dd BB, AA | AA | CC dd | BB | |
47
+ | BB, AA | AA | | BB | |
48
+
49
+ @sort @wip
50
+ Scenarios: Long von parts
51
+ | name | first | von | last | jr |
52
+ | bb cc dd CC, AA | AA | bb cc dd | CC | |
53
+ | bb CC dd CC, AA | AA | bb CC dd | CC | |
54
+ | BB cc dd CC, AA | AA | BB cc dd | CC | |
55
+ | BB CC dd CC, AA | AA | BB CC dd | CC | |
56
+
57
+
47
58
  Scenarios: Decoret further remarks
48
59
  | name | first | von | last | jr |
49
60
  # | Paul \'Emile Victor | Paul \'Emile | | Victor | |
@@ -72,3 +83,4 @@ Feature: BibTeX Names
72
83
  | {Barnes and} {Noble, Inc.} | {Barnes and} | | {Noble, Inc.} | |
73
84
  | {Barnes} {and} {Noble,} {Inc.} | {Barnes} {and} {Noble,} | | {Inc.} | |
74
85
  | Charles Louis Xavier Joseph de la Vallee Poussin | Charles Louis Xavier Joseph | de la | Vallee Poussin | |
86
+
@@ -2,6 +2,11 @@ When /^I parse the name "(.*)"$/ do |string|
2
2
  @name = BibTeX::Name.parse(string)
3
3
  end
4
4
 
5
+ When /^I parse the names "(.*)"$/ do |string|
6
+ @names = BibTeX::Names.parse(string)
7
+ end
8
+
9
+
5
10
  Then /^the parts should be:$/ do |table|
6
11
  table.hashes.each do |row|
7
12
  assert_equal [row['first'], row['von'], row['last'], row['jr']],
@@ -10,4 +15,4 @@ Then /^the parts should be:$/ do |table|
10
15
  # assert_equal v, @name.send(k).to_s
11
16
  # end
12
17
  end
13
- end
18
+ end
@@ -43,7 +43,7 @@ module BibTeX
43
43
  #
44
44
  Log = Logger.new(STDERR)
45
45
  Log.level = ENV.has_key?('DEBUG') ? Logger::DEBUG : Logger::WARN
46
- Log.datetime_format = "%Y-%m-%d %H:%M:%S"
46
+ Log.datetime_format = '%Y-%m-%d %H:%M:%S'
47
47
 
48
48
  def self.log; BibTeX::Log end
49
49
  end
@@ -204,7 +204,7 @@ module BibTeX
204
204
  end
205
205
 
206
206
  def parse_literal
207
- match = @scanner.scan_until(/[\{\}"\n]/o)
207
+ match = @scanner.scan_until(/[\{\}"]/o)
208
208
  case @scanner.matched
209
209
  when '{'
210
210
  @brace_level += 1
@@ -6,32 +6,31 @@ rule 1 result:
6
6
  rule 2 result: names
7
7
  rule 3 names: name
8
8
  rule 4 names: names AND name
9
- rule 5 name: last
10
- rule 6 name: u_words last
11
- rule 7 name: sort COMMA first
12
- rule 8 sort: u_words
13
- rule 9 sort: LWORD
14
- rule 10 sort: von LWORD
15
- rule 11 sort: von u_words
16
- rule 12 last: word
17
- rule 13 last: von LWORD
18
- rule 14 last: von u_words
19
- rule 15 first: opt_words
20
- rule 16 first: opt_words COMMA opt_words
21
- rule 17 u_words: u_word
22
- rule 18 u_words: u_words u_word
23
- rule 19 u_word: UWORD
24
- rule 20 u_word: PWORD
25
- rule 21 von: LWORD
26
- rule 22 von: von u_words LWORD
27
- rule 23 von: von LWORD
28
- rule 24 words: word
29
- rule 25 words: words word
30
- rule 26 opt_words:
31
- rule 27 opt_words: words
32
- rule 28 word: LWORD
33
- rule 29 word: UWORD
34
- rule 30 word: PWORD
9
+ rule 5 name: word
10
+ rule 6 name: u_words word
11
+ rule 7 name: u_words von last
12
+ rule 8 name: von last
13
+ rule 9 name: last COMMA first
14
+ rule 10 name: von last COMMA first
15
+ rule 11 name: u_words von last COMMA first
16
+ rule 12 von: LWORD
17
+ rule 13 von: von LWORD
18
+ rule 14 von: von u_words LWORD
19
+ rule 15 last: LWORD
20
+ rule 16 last: u_words
21
+ rule 17 first: opt_words
22
+ rule 18 first: opt_words COMMA opt_words
23
+ rule 19 u_words: u_word
24
+ rule 20 u_words: u_words u_word
25
+ rule 21 u_word: UWORD
26
+ rule 22 u_word: PWORD
27
+ rule 23 words: word
28
+ rule 24 words: words word
29
+ rule 25 opt_words:
30
+ rule 26 opt_words: words
31
+ rule 27 word: LWORD
32
+ rule 28 word: UWORD
33
+ rule 29 word: PWORD
35
34
 
36
35
  ------- Symbols -------
37
36
 
@@ -48,43 +47,40 @@ rule 30 word: PWORD
48
47
  on left : 3 4
49
48
  name (11)
50
49
  on right: 3 4
51
- on left : 5 6 7
52
- last (12)
53
- on right: 5 6
54
- on left : 12 13 14
50
+ on left : 5 6 7 8 9 10 11
51
+ word (12)
52
+ on right: 5 6 23 24
53
+ on left : 27 28 29
55
54
  u_words (13)
56
- on right: 6 8 11 14 18 22
57
- on left : 17 18
58
- sort (14)
59
- on right: 7
60
- on left : 8 9 10 11
61
- first (15)
62
- on right: 7
55
+ on right: 6 7 11 14 16 20
56
+ on left : 19 20
57
+ von (14)
58
+ on right: 7 8 10 11 13 14
59
+ on left : 12 13 14
60
+ last (15)
61
+ on right: 7 8 9 10 11
63
62
  on left : 15 16
64
- von (16)
65
- on right: 10 11 13 14 22 23
66
- on left : 21 22 23
67
- word (17)
68
- on right: 12 24 25
69
- on left : 28 29 30
70
- opt_words (18)
71
- on right: 15 16
72
- on left : 26 27
73
- u_word (19)
63
+ first (16)
64
+ on right: 9 10 11
65
+ on left : 17 18
66
+ opt_words (17)
74
67
  on right: 17 18
75
- on left : 19 20
76
- words (20)
77
- on right: 25 27
78
- on left : 24 25
68
+ on left : 25 26
69
+ u_word (18)
70
+ on right: 19 20
71
+ on left : 21 22
72
+ words (19)
73
+ on right: 24 26
74
+ on left : 23 24
79
75
 
80
76
  **Terminals, with rules where they appear
81
77
 
82
78
  $end (0)
83
79
  error (1)
84
- COMMA (2) 7 16
85
- UWORD (3) 19 29
86
- LWORD (4) 9 10 13 21 22 23 28
87
- PWORD (5) 20 30
80
+ COMMA (2) 9 10 11 18
81
+ UWORD (3) 21 28
82
+ LWORD (4) 12 13 14 15 27
83
+ PWORD (5) 22 29
88
84
  AND (6) 4
89
85
  ERROR (7)
90
86
 
@@ -93,25 +89,24 @@ rule 30 word: PWORD
93
89
  state 0
94
90
 
95
91
 
96
- UWORD shift, and go to state 11
97
- LWORD shift, and go to state 7
98
- PWORD shift, and go to state 12
92
+ UWORD shift, and go to state 10
93
+ LWORD shift, and go to state 8
94
+ PWORD shift, and go to state 11
99
95
  $default reduce using rule 1 (result)
100
96
 
101
97
  result go to state 1
102
98
  names go to state 2
103
99
  name go to state 3
104
- last go to state 4
100
+ word go to state 4
105
101
  u_words go to state 5
106
- sort go to state 6
107
- von go to state 8
108
- word go to state 9
109
- u_word go to state 10
102
+ von go to state 6
103
+ last go to state 7
104
+ u_word go to state 9
110
105
 
111
106
  state 1
112
107
 
113
108
 
114
- $end shift, and go to state 13
109
+ $end shift, and go to state 12
115
110
 
116
111
 
117
112
  state 2
@@ -119,7 +114,7 @@ state 2
119
114
  2) result : names _
120
115
  4) names : names _ AND name
121
116
 
122
- AND shift, and go to state 14
117
+ AND shift, and go to state 13
123
118
  $default reduce using rule 2 (result)
124
119
 
125
120
 
@@ -132,210 +127,209 @@ state 3
132
127
 
133
128
  state 4
134
129
 
135
- 5) name : last _
130
+ 5) name : word _
136
131
 
137
132
  $default reduce using rule 5 (name)
138
133
 
139
134
 
140
135
  state 5
141
136
 
142
- 6) name : u_words _ last
143
- 8) sort : u_words _
144
- 18) u_words : u_words _ u_word
137
+ 6) name : u_words _ word
138
+ 7) name : u_words _ von last
139
+ 11) name : u_words _ von last COMMA first
140
+ 16) last : u_words _
141
+ 20) u_words : u_words _ u_word
145
142
 
146
- UWORD shift, and go to state 11
147
- LWORD shift, and go to state 18
148
- PWORD shift, and go to state 12
149
- $default reduce using rule 8 (sort)
143
+ UWORD shift, and go to state 10
144
+ LWORD shift, and go to state 16
145
+ PWORD shift, and go to state 11
146
+ $default reduce using rule 16 (last)
150
147
 
151
- last go to state 15
152
- word go to state 9
153
- von go to state 16
148
+ word go to state 14
149
+ von go to state 15
154
150
  u_word go to state 17
155
151
 
156
152
  state 6
157
153
 
158
- 7) name : sort _ COMMA first
154
+ 8) name : von _ last
155
+ 10) name : von _ last COMMA first
156
+ 13) von : von _ LWORD
157
+ 14) von : von _ u_words LWORD
159
158
 
160
- COMMA shift, and go to state 19
159
+ UWORD shift, and go to state 21
160
+ LWORD shift, and go to state 19
161
+ PWORD shift, and go to state 22
161
162
 
163
+ last go to state 18
164
+ u_words go to state 20
165
+ u_word go to state 9
162
166
 
163
167
  state 7
164
168
 
165
- 9) sort : LWORD _
166
- 21) von : LWORD _
167
- 28) word : LWORD _
169
+ 9) name : last _ COMMA first
168
170
 
169
- $end reduce using rule 28 (word)
170
- COMMA reduce using rule 9 (sort)
171
- AND reduce using rule 28 (word)
172
- $default reduce using rule 21 (von)
171
+ COMMA shift, and go to state 23
173
172
 
174
173
 
175
174
  state 8
176
175
 
177
- 10) sort : von _ LWORD
178
- 11) sort : von _ u_words
179
- 13) last : von _ LWORD
180
- 14) last : von _ u_words
181
- 22) von : von _ u_words LWORD
182
- 23) von : von _ LWORD
176
+ 12) von : LWORD _
177
+ 15) last : LWORD _
178
+ 27) word : LWORD _
183
179
 
184
- UWORD shift, and go to state 22
185
- LWORD shift, and go to state 20
186
- PWORD shift, and go to state 23
180
+ $end reduce using rule 27 (word)
181
+ COMMA reduce using rule 15 (last)
182
+ AND reduce using rule 27 (word)
183
+ $default reduce using rule 12 (von)
187
184
 
188
- u_words go to state 21
189
- u_word go to state 10
190
185
 
191
186
  state 9
192
187
 
193
- 12) last : word _
188
+ 19) u_words : u_word _
194
189
 
195
- $default reduce using rule 12 (last)
190
+ $default reduce using rule 19 (u_words)
196
191
 
197
192
 
198
193
  state 10
199
194
 
200
- 17) u_words : u_word _
195
+ 21) u_word : UWORD _
196
+ 28) word : UWORD _
201
197
 
202
- $default reduce using rule 17 (u_words)
198
+ $end reduce using rule 28 (word)
199
+ AND reduce using rule 28 (word)
200
+ $default reduce using rule 21 (u_word)
203
201
 
204
202
 
205
203
  state 11
206
204
 
207
- 19) u_word : UWORD _
208
- 29) word : UWORD _
205
+ 22) u_word : PWORD _
206
+ 29) word : PWORD _
209
207
 
210
208
  $end reduce using rule 29 (word)
211
209
  AND reduce using rule 29 (word)
212
- $default reduce using rule 19 (u_word)
210
+ $default reduce using rule 22 (u_word)
213
211
 
214
212
 
215
213
  state 12
216
214
 
217
- 20) u_word : PWORD _
218
- 30) word : PWORD _
219
215
 
220
- $end reduce using rule 30 (word)
221
- AND reduce using rule 30 (word)
222
- $default reduce using rule 20 (u_word)
216
+ $end shift, and go to state 24
223
217
 
224
218
 
225
219
  state 13
226
220
 
221
+ 4) names : names AND _ name
227
222
 
228
- $end shift, and go to state 24
223
+ UWORD shift, and go to state 10
224
+ LWORD shift, and go to state 8
225
+ PWORD shift, and go to state 11
229
226
 
227
+ name go to state 25
228
+ word go to state 4
229
+ u_words go to state 5
230
+ von go to state 6
231
+ last go to state 7
232
+ u_word go to state 9
230
233
 
231
234
  state 14
232
235
 
233
- 4) names : names AND _ name
236
+ 6) name : u_words word _
234
237
 
235
- UWORD shift, and go to state 11
236
- LWORD shift, and go to state 7
237
- PWORD shift, and go to state 12
238
+ $default reduce using rule 6 (name)
238
239
 
239
- name go to state 25
240
- last go to state 4
241
- u_words go to state 5
242
- sort go to state 6
243
- von go to state 8
244
- word go to state 9
245
- u_word go to state 10
246
240
 
247
241
  state 15
248
242
 
249
- 6) name : u_words last _
243
+ 7) name : u_words von _ last
244
+ 11) name : u_words von _ last COMMA first
245
+ 13) von : von _ LWORD
246
+ 14) von : von _ u_words LWORD
250
247
 
251
- $default reduce using rule 6 (name)
248
+ UWORD shift, and go to state 21
249
+ LWORD shift, and go to state 19
250
+ PWORD shift, and go to state 22
252
251
 
252
+ last go to state 26
253
+ u_words go to state 20
254
+ u_word go to state 9
253
255
 
254
256
  state 16
255
257
 
256
- 13) last : von _ LWORD
257
- 14) last : von _ u_words
258
- 22) von : von _ u_words LWORD
259
- 23) von : von _ LWORD
258
+ 12) von : LWORD _
259
+ 27) word : LWORD _
260
260
 
261
- UWORD shift, and go to state 22
262
- LWORD shift, and go to state 26
263
- PWORD shift, and go to state 23
261
+ $end reduce using rule 27 (word)
262
+ AND reduce using rule 27 (word)
263
+ $default reduce using rule 12 (von)
264
264
 
265
- u_words go to state 27
266
- u_word go to state 10
267
265
 
268
266
  state 17
269
267
 
270
- 18) u_words : u_words u_word _
268
+ 20) u_words : u_words u_word _
271
269
 
272
- $default reduce using rule 18 (u_words)
270
+ $default reduce using rule 20 (u_words)
273
271
 
274
272
 
275
273
  state 18
276
274
 
277
- 21) von : LWORD _
278
- 28) word : LWORD _
275
+ 8) name : von last _
276
+ 10) name : von last _ COMMA first
279
277
 
280
- $end reduce using rule 28 (word)
281
- AND reduce using rule 28 (word)
282
- $default reduce using rule 21 (von)
278
+ COMMA shift, and go to state 27
279
+ $default reduce using rule 8 (name)
283
280
 
284
281
 
285
282
  state 19
286
283
 
287
- 7) name : sort COMMA _ first
284
+ 13) von : von LWORD _
285
+ 15) last : LWORD _
288
286
 
289
- UWORD shift, and go to state 33
290
- LWORD shift, and go to state 32
291
- PWORD shift, and go to state 34
292
- $default reduce using rule 26 (opt_words)
287
+ $end reduce using rule 15 (last)
288
+ COMMA reduce using rule 15 (last)
289
+ AND reduce using rule 15 (last)
290
+ $default reduce using rule 13 (von)
293
291
 
294
- first go to state 28
295
- opt_words go to state 29
296
- word go to state 30
297
- words go to state 31
298
292
 
299
293
  state 20
300
294
 
301
- 10) sort : von LWORD _
302
- 13) last : von LWORD _
303
- 23) von : von LWORD _
295
+ 14) von : von u_words _ LWORD
296
+ 16) last : u_words _
297
+ 20) u_words : u_words _ u_word
304
298
 
305
- $end reduce using rule 13 (last)
306
- COMMA reduce using rule 10 (sort)
307
- AND reduce using rule 13 (last)
308
- $default reduce using rule 23 (von)
299
+ UWORD shift, and go to state 21
300
+ LWORD shift, and go to state 28
301
+ PWORD shift, and go to state 22
302
+ $default reduce using rule 16 (last)
309
303
 
304
+ u_word go to state 17
310
305
 
311
306
  state 21
312
307
 
313
- 11) sort : von u_words _
314
- 14) last : von u_words _
315
- 18) u_words : u_words _ u_word
316
- 22) von : von u_words _ LWORD
308
+ 21) u_word : UWORD _
317
309
 
318
- UWORD shift, and go to state 22
319
- LWORD shift, and go to state 35
320
- PWORD shift, and go to state 23
321
- COMMA reduce using rule 11 (sort)
322
- $default reduce using rule 14 (last)
310
+ $default reduce using rule 21 (u_word)
323
311
 
324
- u_word go to state 17
325
312
 
326
313
  state 22
327
314
 
328
- 19) u_word : UWORD _
315
+ 22) u_word : PWORD _
329
316
 
330
- $default reduce using rule 19 (u_word)
317
+ $default reduce using rule 22 (u_word)
331
318
 
332
319
 
333
320
  state 23
334
321
 
335
- 20) u_word : PWORD _
322
+ 9) name : last COMMA _ first
336
323
 
337
- $default reduce using rule 20 (u_word)
324
+ UWORD shift, and go to state 34
325
+ LWORD shift, and go to state 33
326
+ PWORD shift, and go to state 35
327
+ $default reduce using rule 25 (opt_words)
338
328
 
329
+ first go to state 29
330
+ opt_words go to state 30
331
+ word go to state 31
332
+ words go to state 32
339
333
 
340
334
  state 24
341
335
 
@@ -352,113 +346,141 @@ state 25
352
346
 
353
347
  state 26
354
348
 
355
- 13) last : von LWORD _
356
- 23) von : von LWORD _
349
+ 7) name : u_words von last _
350
+ 11) name : u_words von last _ COMMA first
357
351
 
358
- $end reduce using rule 13 (last)
359
- AND reduce using rule 13 (last)
360
- $default reduce using rule 23 (von)
352
+ COMMA shift, and go to state 36
353
+ $default reduce using rule 7 (name)
361
354
 
362
355
 
363
356
  state 27
364
357
 
365
- 14) last : von u_words _
366
- 18) u_words : u_words _ u_word
367
- 22) von : von u_words _ LWORD
358
+ 10) name : von last COMMA _ first
368
359
 
369
- UWORD shift, and go to state 22
370
- LWORD shift, and go to state 35
371
- PWORD shift, and go to state 23
372
- $default reduce using rule 14 (last)
360
+ UWORD shift, and go to state 34
361
+ LWORD shift, and go to state 33
362
+ PWORD shift, and go to state 35
363
+ $default reduce using rule 25 (opt_words)
373
364
 
374
- u_word go to state 17
365
+ first go to state 37
366
+ opt_words go to state 30
367
+ word go to state 31
368
+ words go to state 32
375
369
 
376
370
  state 28
377
371
 
378
- 7) name : sort COMMA first _
372
+ 14) von : von u_words LWORD _
379
373
 
380
- $default reduce using rule 7 (name)
374
+ $default reduce using rule 14 (von)
381
375
 
382
376
 
383
377
  state 29
384
378
 
385
- 15) first : opt_words _
386
- 16) first : opt_words _ COMMA opt_words
379
+ 9) name : last COMMA first _
387
380
 
388
- COMMA shift, and go to state 36
389
- $default reduce using rule 15 (first)
381
+ $default reduce using rule 9 (name)
390
382
 
391
383
 
392
384
  state 30
393
385
 
394
- 24) words : word _
386
+ 17) first : opt_words _
387
+ 18) first : opt_words _ COMMA opt_words
395
388
 
396
- $default reduce using rule 24 (words)
389
+ COMMA shift, and go to state 38
390
+ $default reduce using rule 17 (first)
397
391
 
398
392
 
399
393
  state 31
400
394
 
401
- 25) words : words _ word
402
- 27) opt_words : words _
395
+ 23) words : word _
403
396
 
404
- UWORD shift, and go to state 33
405
- LWORD shift, and go to state 32
406
- PWORD shift, and go to state 34
407
- $default reduce using rule 27 (opt_words)
397
+ $default reduce using rule 23 (words)
408
398
 
409
- word go to state 37
410
399
 
411
400
  state 32
412
401
 
413
- 28) word : LWORD _
402
+ 24) words : words _ word
403
+ 26) opt_words : words _
414
404
 
415
- $default reduce using rule 28 (word)
405
+ UWORD shift, and go to state 34
406
+ LWORD shift, and go to state 33
407
+ PWORD shift, and go to state 35
408
+ $default reduce using rule 26 (opt_words)
416
409
 
410
+ word go to state 39
417
411
 
418
412
  state 33
419
413
 
420
- 29) word : UWORD _
414
+ 27) word : LWORD _
421
415
 
422
- $default reduce using rule 29 (word)
416
+ $default reduce using rule 27 (word)
423
417
 
424
418
 
425
419
  state 34
426
420
 
427
- 30) word : PWORD _
421
+ 28) word : UWORD _
428
422
 
429
- $default reduce using rule 30 (word)
423
+ $default reduce using rule 28 (word)
430
424
 
431
425
 
432
426
  state 35
433
427
 
434
- 22) von : von u_words LWORD _
428
+ 29) word : PWORD _
435
429
 
436
- $default reduce using rule 22 (von)
430
+ $default reduce using rule 29 (word)
437
431
 
438
432
 
439
433
  state 36
440
434
 
441
- 16) first : opt_words COMMA _ opt_words
435
+ 11) name : u_words von last COMMA _ first
442
436
 
443
- UWORD shift, and go to state 33
444
- LWORD shift, and go to state 32
445
- PWORD shift, and go to state 34
446
- $default reduce using rule 26 (opt_words)
437
+ UWORD shift, and go to state 34
438
+ LWORD shift, and go to state 33
439
+ PWORD shift, and go to state 35
440
+ $default reduce using rule 25 (opt_words)
447
441
 
448
- opt_words go to state 38
449
- word go to state 30
450
- words go to state 31
442
+ first go to state 40
443
+ opt_words go to state 30
444
+ word go to state 31
445
+ words go to state 32
451
446
 
452
447
  state 37
453
448
 
454
- 25) words : words word _
449
+ 10) name : von last COMMA first _
455
450
 
456
- $default reduce using rule 25 (words)
451
+ $default reduce using rule 10 (name)
457
452
 
458
453
 
459
454
  state 38
460
455
 
461
- 16) first : opt_words COMMA opt_words _
456
+ 18) first : opt_words COMMA _ opt_words
457
+
458
+ UWORD shift, and go to state 34
459
+ LWORD shift, and go to state 33
460
+ PWORD shift, and go to state 35
461
+ $default reduce using rule 25 (opt_words)
462
+
463
+ opt_words go to state 41
464
+ word go to state 31
465
+ words go to state 32
466
+
467
+ state 39
468
+
469
+ 24) words : words word _
470
+
471
+ $default reduce using rule 24 (words)
472
+
473
+
474
+ state 40
475
+
476
+ 11) name : u_words von last COMMA first _
477
+
478
+ $default reduce using rule 11 (name)
479
+
480
+
481
+ state 41
482
+
483
+ 18) first : opt_words COMMA opt_words _
462
484
 
463
- $default reduce using rule 16 (first)
485
+ $default reduce using rule 18 (first)
464
486