-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparser.out
More file actions
347 lines (220 loc) · 8.54 KB
/
Copy pathparser.out
File metadata and controls
347 lines (220 loc) · 8.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
Created by PLY version 3.4 (http://www.dabeaz.com/ply)
Grammar
Rule 0 S' -> compostion
Rule 1 compostion -> prelude bars
Rule 2 compostion -> bars
Rule 3 prelude -> LETTER NUMBER POST NUMBER NUMBER
Rule 4 prelude -> LETTER NUMBER POST NUMBER
Rule 5 bars -> LBRACKET units RBRACKET bars
Rule 6 bars -> LBRACKET units RBRACKET
Rule 7 units -> note units
Rule 8 units -> note
Rule 9 units -> chord units
Rule 10 units -> chord
Rule 11 chord -> LPARAN notes RPARAN
Rule 12 notes -> note notes
Rule 13 notes -> note
Rule 14 note -> pitch DASH duration
Rule 15 pitch -> LETTER DASH NUMBER
Rule 16 duration -> NUMBER
Terminals, with rules where they appear
DASH : 14 15
LBRACKET : 5 6
LETTER : 3 4 15
LPARAN : 11
NUMBER : 3 3 3 4 4 15 16
POST : 3 4
RBRACKET : 5 6
RPARAN : 11
error :
Nonterminals, with rules where they appear
bars : 1 2 5
chord : 9 10
compostion : 0
duration : 14
note : 7 8 12 13
notes : 11 12
pitch : 14
prelude : 1
units : 5 6 7 9
Parsing method: LALR
state 0
(0) S' -> . compostion
(1) compostion -> . prelude bars
(2) compostion -> . bars
(3) prelude -> . LETTER NUMBER POST NUMBER NUMBER
(4) prelude -> . LETTER NUMBER POST NUMBER
(5) bars -> . LBRACKET units RBRACKET bars
(6) bars -> . LBRACKET units RBRACKET
LETTER shift and go to state 4
LBRACKET shift and go to state 3
bars shift and go to state 1
compostion shift and go to state 2
prelude shift and go to state 5
state 1
(2) compostion -> bars .
$end reduce using rule 2 (compostion -> bars .)
state 2
(0) S' -> compostion .
state 3
(5) bars -> LBRACKET . units RBRACKET bars
(6) bars -> LBRACKET . units RBRACKET
(7) units -> . note units
(8) units -> . note
(9) units -> . chord units
(10) units -> . chord
(14) note -> . pitch DASH duration
(11) chord -> . LPARAN notes RPARAN
(15) pitch -> . LETTER DASH NUMBER
LPARAN shift and go to state 8
LETTER shift and go to state 9
chord shift and go to state 7
note shift and go to state 6
pitch shift and go to state 10
units shift and go to state 11
state 4
(3) prelude -> LETTER . NUMBER POST NUMBER NUMBER
(4) prelude -> LETTER . NUMBER POST NUMBER
NUMBER shift and go to state 12
state 5
(1) compostion -> prelude . bars
(5) bars -> . LBRACKET units RBRACKET bars
(6) bars -> . LBRACKET units RBRACKET
LBRACKET shift and go to state 3
bars shift and go to state 13
state 6
(7) units -> note . units
(8) units -> note .
(7) units -> . note units
(8) units -> . note
(9) units -> . chord units
(10) units -> . chord
(14) note -> . pitch DASH duration
(11) chord -> . LPARAN notes RPARAN
(15) pitch -> . LETTER DASH NUMBER
RBRACKET reduce using rule 8 (units -> note .)
LPARAN shift and go to state 8
LETTER shift and go to state 9
chord shift and go to state 7
note shift and go to state 6
pitch shift and go to state 10
units shift and go to state 14
state 7
(9) units -> chord . units
(10) units -> chord .
(7) units -> . note units
(8) units -> . note
(9) units -> . chord units
(10) units -> . chord
(14) note -> . pitch DASH duration
(11) chord -> . LPARAN notes RPARAN
(15) pitch -> . LETTER DASH NUMBER
RBRACKET reduce using rule 10 (units -> chord .)
LPARAN shift and go to state 8
LETTER shift and go to state 9
chord shift and go to state 7
note shift and go to state 6
pitch shift and go to state 10
units shift and go to state 15
state 8
(11) chord -> LPARAN . notes RPARAN
(12) notes -> . note notes
(13) notes -> . note
(14) note -> . pitch DASH duration
(15) pitch -> . LETTER DASH NUMBER
LETTER shift and go to state 9
note shift and go to state 17
notes shift and go to state 16
pitch shift and go to state 10
state 9
(15) pitch -> LETTER . DASH NUMBER
DASH shift and go to state 18
state 10
(14) note -> pitch . DASH duration
DASH shift and go to state 19
state 11
(5) bars -> LBRACKET units . RBRACKET bars
(6) bars -> LBRACKET units . RBRACKET
RBRACKET shift and go to state 20
state 12
(3) prelude -> LETTER NUMBER . POST NUMBER NUMBER
(4) prelude -> LETTER NUMBER . POST NUMBER
POST shift and go to state 21
state 13
(1) compostion -> prelude bars .
$end reduce using rule 1 (compostion -> prelude bars .)
state 14
(7) units -> note units .
RBRACKET reduce using rule 7 (units -> note units .)
state 15
(9) units -> chord units .
RBRACKET reduce using rule 9 (units -> chord units .)
state 16
(11) chord -> LPARAN notes . RPARAN
RPARAN shift and go to state 22
state 17
(12) notes -> note . notes
(13) notes -> note .
(12) notes -> . note notes
(13) notes -> . note
(14) note -> . pitch DASH duration
(15) pitch -> . LETTER DASH NUMBER
RPARAN reduce using rule 13 (notes -> note .)
LETTER shift and go to state 9
note shift and go to state 17
notes shift and go to state 23
pitch shift and go to state 10
state 18
(15) pitch -> LETTER DASH . NUMBER
NUMBER shift and go to state 24
state 19
(14) note -> pitch DASH . duration
(16) duration -> . NUMBER
NUMBER shift and go to state 26
duration shift and go to state 25
state 20
(5) bars -> LBRACKET units RBRACKET . bars
(6) bars -> LBRACKET units RBRACKET .
(5) bars -> . LBRACKET units RBRACKET bars
(6) bars -> . LBRACKET units RBRACKET
$end reduce using rule 6 (bars -> LBRACKET units RBRACKET .)
LBRACKET shift and go to state 3
bars shift and go to state 27
state 21
(3) prelude -> LETTER NUMBER POST . NUMBER NUMBER
(4) prelude -> LETTER NUMBER POST . NUMBER
NUMBER shift and go to state 28
state 22
(11) chord -> LPARAN notes RPARAN .
LPARAN reduce using rule 11 (chord -> LPARAN notes RPARAN .)
LETTER reduce using rule 11 (chord -> LPARAN notes RPARAN .)
RBRACKET reduce using rule 11 (chord -> LPARAN notes RPARAN .)
state 23
(12) notes -> note notes .
RPARAN reduce using rule 12 (notes -> note notes .)
state 24
(15) pitch -> LETTER DASH NUMBER .
DASH reduce using rule 15 (pitch -> LETTER DASH NUMBER .)
state 25
(14) note -> pitch DASH duration .
LPARAN reduce using rule 14 (note -> pitch DASH duration .)
LETTER reduce using rule 14 (note -> pitch DASH duration .)
RBRACKET reduce using rule 14 (note -> pitch DASH duration .)
RPARAN reduce using rule 14 (note -> pitch DASH duration .)
state 26
(16) duration -> NUMBER .
LPARAN reduce using rule 16 (duration -> NUMBER .)
LETTER reduce using rule 16 (duration -> NUMBER .)
RBRACKET reduce using rule 16 (duration -> NUMBER .)
RPARAN reduce using rule 16 (duration -> NUMBER .)
state 27
(5) bars -> LBRACKET units RBRACKET bars .
$end reduce using rule 5 (bars -> LBRACKET units RBRACKET bars .)
state 28
(3) prelude -> LETTER NUMBER POST NUMBER . NUMBER
(4) prelude -> LETTER NUMBER POST NUMBER .
NUMBER shift and go to state 29
LBRACKET reduce using rule 4 (prelude -> LETTER NUMBER POST NUMBER .)
state 29
(3) prelude -> LETTER NUMBER POST NUMBER NUMBER .
LBRACKET reduce using rule 3 (prelude -> LETTER NUMBER POST NUMBER NUMBER .)