bibtex-ruby 1.3.6 → 1.3.7
Sign up to get free protection for your applications and to get access to all the features.
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
|
|