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.
- data/Gemfile.lock +1 -1
- data/History.txt +9 -1
- data/Manifest +1 -0
- data/features/names.feature +13 -1
- data/features/step_definitions/name_steps.rb +6 -1
- data/lib/bibtex.rb +1 -1
- data/lib/bibtex/lexer.rb +1 -1
- data/lib/bibtex/name_parser.output +238 -216
- data/lib/bibtex/name_parser.rb +102 -105
- data/lib/bibtex/names.rb +1 -1
- data/lib/bibtex/names.y +14 -16
- data/lib/bibtex/version.rb +1 -1
- data/test/bibtex/test_entry.rb +19 -0
- data/test/bibtex/test_name_parser.rb +25 -0
- data/test/bibtex/test_parser.rb +16 -0
- metadata +5 -3
data/Gemfile.lock
CHANGED
data/History.txt
CHANGED
@@ -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 (
|
12
|
+
* Added support for @strings with braced values (#10)
|
5
13
|
|
6
14
|
=== 1.3.5 / 2011-06-07
|
7
15
|
|
data/Manifest
CHANGED
data/features/names.feature
CHANGED
@@ -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
|
data/lib/bibtex.rb
CHANGED
data/lib/bibtex/lexer.rb
CHANGED
@@ -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:
|
10
|
-
rule 6 name: u_words
|
11
|
-
rule 7 name:
|
12
|
-
rule 8
|
13
|
-
rule 9
|
14
|
-
rule 10
|
15
|
-
rule 11
|
16
|
-
rule 12
|
17
|
-
rule 13
|
18
|
-
rule 14
|
19
|
-
rule 15
|
20
|
-
rule 16
|
21
|
-
rule 17
|
22
|
-
rule 18
|
23
|
-
rule 19
|
24
|
-
rule 20
|
25
|
-
rule 21
|
26
|
-
rule 22
|
27
|
-
rule 23
|
28
|
-
rule 24 words: word
|
29
|
-
rule 25
|
30
|
-
rule 26 opt_words:
|
31
|
-
rule 27
|
32
|
-
rule 28 word:
|
33
|
-
rule 29 word:
|
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
|
-
|
53
|
-
on right: 5 6
|
54
|
-
on left :
|
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
|
57
|
-
on left :
|
58
|
-
|
59
|
-
on right: 7
|
60
|
-
on left :
|
61
|
-
|
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
|
-
|
65
|
-
on right: 10 11
|
66
|
-
on left :
|
67
|
-
|
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 :
|
76
|
-
|
77
|
-
on right:
|
78
|
-
on left :
|
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)
|
85
|
-
UWORD (3)
|
86
|
-
LWORD (4)
|
87
|
-
PWORD (5)
|
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
|
97
|
-
LWORD shift, and go to state
|
98
|
-
PWORD shift, and go to state
|
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
|
-
|
100
|
+
word go to state 4
|
105
101
|
u_words go to state 5
|
106
|
-
|
107
|
-
|
108
|
-
|
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
|
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
|
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 :
|
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 _
|
143
|
-
|
144
|
-
|
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
|
147
|
-
LWORD shift, and go to state
|
148
|
-
PWORD shift, and go to state
|
149
|
-
$default reduce using rule
|
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
|
-
|
152
|
-
|
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
|
-
|
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
|
-
|
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)
|
166
|
-
21) von : LWORD _
|
167
|
-
28) word : LWORD _
|
169
|
+
9) name : last _ COMMA first
|
168
170
|
|
169
|
-
|
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
|
-
|
178
|
-
|
179
|
-
|
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
|
-
|
185
|
-
|
186
|
-
|
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
|
-
|
188
|
+
19) u_words : u_word _
|
194
189
|
|
195
|
-
$default reduce using rule
|
190
|
+
$default reduce using rule 19 (u_words)
|
196
191
|
|
197
192
|
|
198
193
|
state 10
|
199
194
|
|
200
|
-
|
195
|
+
21) u_word : UWORD _
|
196
|
+
28) word : UWORD _
|
201
197
|
|
202
|
-
$
|
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
|
-
|
208
|
-
29) word :
|
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
|
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
|
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
|
-
|
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
|
-
|
236
|
+
6) name : u_words word _
|
234
237
|
|
235
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
257
|
-
|
258
|
-
22) von : von _ u_words LWORD
|
259
|
-
23) von : von _ LWORD
|
258
|
+
12) von : LWORD _
|
259
|
+
27) word : LWORD _
|
260
260
|
|
261
|
-
|
262
|
-
|
263
|
-
|
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
|
-
|
268
|
+
20) u_words : u_words u_word _
|
271
269
|
|
272
|
-
$default reduce using rule
|
270
|
+
$default reduce using rule 20 (u_words)
|
273
271
|
|
274
272
|
|
275
273
|
state 18
|
276
274
|
|
277
|
-
|
278
|
-
|
275
|
+
8) name : von last _
|
276
|
+
10) name : von last _ COMMA first
|
279
277
|
|
280
|
-
|
281
|
-
|
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
|
-
|
284
|
+
13) von : von LWORD _
|
285
|
+
15) last : LWORD _
|
288
286
|
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
$default reduce using rule
|
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
|
-
|
302
|
-
|
303
|
-
|
295
|
+
14) von : von u_words _ LWORD
|
296
|
+
16) last : u_words _
|
297
|
+
20) u_words : u_words _ u_word
|
304
298
|
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
$default reduce using rule
|
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
|
-
|
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
|
-
|
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
|
-
|
315
|
+
22) u_word : PWORD _
|
329
316
|
|
330
|
-
$default reduce using rule
|
317
|
+
$default reduce using rule 22 (u_word)
|
331
318
|
|
332
319
|
|
333
320
|
state 23
|
334
321
|
|
335
|
-
|
322
|
+
9) name : last COMMA _ first
|
336
323
|
|
337
|
-
|
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
|
-
|
356
|
-
|
349
|
+
7) name : u_words von last _
|
350
|
+
11) name : u_words von last _ COMMA first
|
357
351
|
|
358
|
-
|
359
|
-
|
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
|
-
|
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
|
370
|
-
LWORD shift, and go to state
|
371
|
-
PWORD shift, and go to state
|
372
|
-
$default reduce using rule
|
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
|
-
|
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
|
-
|
372
|
+
14) von : von u_words LWORD _
|
379
373
|
|
380
|
-
$default reduce using rule
|
374
|
+
$default reduce using rule 14 (von)
|
381
375
|
|
382
376
|
|
383
377
|
state 29
|
384
378
|
|
385
|
-
|
386
|
-
16) first : opt_words _ COMMA opt_words
|
379
|
+
9) name : last COMMA first _
|
387
380
|
|
388
|
-
|
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
|
-
|
386
|
+
17) first : opt_words _
|
387
|
+
18) first : opt_words _ COMMA opt_words
|
395
388
|
|
396
|
-
|
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
|
-
|
402
|
-
27) opt_words : words _
|
395
|
+
23) words : word _
|
403
396
|
|
404
|
-
|
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
|
-
|
402
|
+
24) words : words _ word
|
403
|
+
26) opt_words : words _
|
414
404
|
|
415
|
-
|
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
|
-
|
414
|
+
27) word : LWORD _
|
421
415
|
|
422
|
-
$default reduce using rule
|
416
|
+
$default reduce using rule 27 (word)
|
423
417
|
|
424
418
|
|
425
419
|
state 34
|
426
420
|
|
427
|
-
|
421
|
+
28) word : UWORD _
|
428
422
|
|
429
|
-
$default reduce using rule
|
423
|
+
$default reduce using rule 28 (word)
|
430
424
|
|
431
425
|
|
432
426
|
state 35
|
433
427
|
|
434
|
-
|
428
|
+
29) word : PWORD _
|
435
429
|
|
436
|
-
$default reduce using rule
|
430
|
+
$default reduce using rule 29 (word)
|
437
431
|
|
438
432
|
|
439
433
|
state 36
|
440
434
|
|
441
|
-
|
435
|
+
11) name : u_words von last COMMA _ first
|
442
436
|
|
443
|
-
UWORD shift, and go to state
|
444
|
-
LWORD shift, and go to state
|
445
|
-
PWORD shift, and go to state
|
446
|
-
$default reduce using rule
|
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
|
-
|
449
|
-
|
450
|
-
|
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
|
-
|
449
|
+
10) name : von last COMMA first _
|
455
450
|
|
456
|
-
$default reduce using rule
|
451
|
+
$default reduce using rule 10 (name)
|
457
452
|
|
458
453
|
|
459
454
|
state 38
|
460
455
|
|
461
|
-
|
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
|
485
|
+
$default reduce using rule 18 (first)
|
464
486
|
|