haparanda 0.0.1
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 +7 -0
- data/CHANGELOG.md +5 -0
- data/COPYING.LIB +504 -0
- data/README.md +123 -0
- data/lib/haparanda/compiler.rb +29 -0
- data/lib/haparanda/content_combiner.rb +48 -0
- data/lib/haparanda/handlebars_compiler.rb +18 -0
- data/lib/haparanda/handlebars_lexer.rb +297 -0
- data/lib/haparanda/handlebars_lexer.rex +135 -0
- data/lib/haparanda/handlebars_parser.output +1691 -0
- data/lib/haparanda/handlebars_parser.rb +880 -0
- data/lib/haparanda/handlebars_parser.y +358 -0
- data/lib/haparanda/handlebars_processor.rb +347 -0
- data/lib/haparanda/template.rb +18 -0
- data/lib/haparanda/version.rb +6 -0
- data/lib/haparanda/whitespace_handler.rb +168 -0
- data/lib/haparanda.rb +15 -0
- metadata +94 -0
@@ -0,0 +1,1691 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
-------- Grammar --------
|
4
|
+
|
5
|
+
rule 1 start: root
|
6
|
+
rule 2 root: program
|
7
|
+
rule 3 program: none
|
8
|
+
rule 4 program: statements
|
9
|
+
rule 5 statements: statement
|
10
|
+
rule 6 statements: statements statement
|
11
|
+
rule 7 statement: mustache
|
12
|
+
rule 8 statement: block
|
13
|
+
rule 9 statement: rawBlock
|
14
|
+
rule 10 statement: partial
|
15
|
+
rule 11 statement: partialBlock
|
16
|
+
rule 12 statement: content
|
17
|
+
rule 13 statement: COMMENT
|
18
|
+
rule 14 content: CONTENT
|
19
|
+
rule 15 contents: none
|
20
|
+
rule 16 contents: contentList
|
21
|
+
rule 17 contentList: content
|
22
|
+
rule 18 contentList: contentList CONTENT
|
23
|
+
rule 19 rawBlock: openRawBlock contents END_RAW_BLOCK
|
24
|
+
rule 20 openRawBlock: OPEN_RAW_BLOCK helperName exprs hash CLOSE_RAW_BLOCK
|
25
|
+
rule 21 block: openBlock program inverseChain closeBlock
|
26
|
+
rule 22 block: openInverse program optInverseAndProgram closeBlock
|
27
|
+
rule 23 openBlock: OPEN_BLOCK helperName exprs hash blockParams CLOSE
|
28
|
+
rule 24 openInverse: OPEN_INVERSE helperName exprs hash blockParams CLOSE
|
29
|
+
rule 25 openInverseChain: OPEN_INVERSE_CHAIN helperName exprs hash blockParams CLOSE
|
30
|
+
rule 26 optInverseAndProgram: none
|
31
|
+
rule 27 optInverseAndProgram: inverseAndProgram
|
32
|
+
rule 28 inverseAndProgram: INVERSE program
|
33
|
+
rule 29 inverseChain: none
|
34
|
+
rule 30 inverseChain: openInverseChain program inverseChain
|
35
|
+
rule 31 inverseChain: inverseAndProgram
|
36
|
+
rule 32 closeBlock: OPEN_ENDBLOCK helperName CLOSE
|
37
|
+
rule 33 mustache: OPEN expr exprs hash CLOSE
|
38
|
+
rule 34 mustache: OPEN_UNESCAPED expr exprs hash CLOSE_UNESCAPED
|
39
|
+
rule 35 partial: OPEN_PARTIAL expr exprs hash CLOSE
|
40
|
+
rule 36 partialBlock: openPartialBlock program closeBlock
|
41
|
+
rule 37 openPartialBlock: OPEN_PARTIAL_BLOCK expr exprs hash CLOSE
|
42
|
+
rule 38 expr: helperName
|
43
|
+
rule 39 expr: sexpr
|
44
|
+
rule 40 exprs: none
|
45
|
+
rule 41 exprs: exprList
|
46
|
+
rule 42 exprList: expr
|
47
|
+
rule 43 exprList: exprList expr
|
48
|
+
rule 44 sexpr: OPEN_SEXPR expr exprs hash CLOSE_SEXPR
|
49
|
+
rule 45 hash: none
|
50
|
+
rule 46 hash: hashSegments
|
51
|
+
rule 47 hashSegments: hashSegment
|
52
|
+
rule 48 hashSegments: hashSegments hashSegment
|
53
|
+
rule 49 hashSegment: KEY_ASSIGN expr
|
54
|
+
rule 50 blockParams: none
|
55
|
+
rule 51 blockParams: OPEN_BLOCK_PARAMS idSequence CLOSE_BLOCK_PARAMS
|
56
|
+
rule 52 idSequence: ID
|
57
|
+
rule 53 idSequence: idSequence ID
|
58
|
+
rule 54 helperName: path
|
59
|
+
rule 55 helperName: dataName
|
60
|
+
rule 56 helperName: STRING
|
61
|
+
rule 57 helperName: NUMBER
|
62
|
+
rule 58 helperName: BOOLEAN
|
63
|
+
rule 59 helperName: UNDEFINED
|
64
|
+
rule 60 helperName: NULL
|
65
|
+
rule 61 dataName: DATA pathSegments
|
66
|
+
rule 62 path: sexpr SEP pathSegments
|
67
|
+
rule 63 path: pathSegments
|
68
|
+
rule 64 pathSegments: pathSegments SEP ID
|
69
|
+
rule 65 pathSegments: ID
|
70
|
+
rule 66 none:
|
71
|
+
|
72
|
+
------- Symbols -------
|
73
|
+
|
74
|
+
**Nonterminals, with rules where they appear
|
75
|
+
|
76
|
+
$start (31)
|
77
|
+
on right:
|
78
|
+
on left :
|
79
|
+
start (32)
|
80
|
+
on right:
|
81
|
+
on left : 1
|
82
|
+
root (33)
|
83
|
+
on right: 1
|
84
|
+
on left : 2
|
85
|
+
program (34)
|
86
|
+
on right: 2 21 22 28 30 36
|
87
|
+
on left : 3 4
|
88
|
+
none (35)
|
89
|
+
on right: 3 15 26 29 40 45 50
|
90
|
+
on left : 66
|
91
|
+
statements (36)
|
92
|
+
on right: 4 6
|
93
|
+
on left : 5 6
|
94
|
+
statement (37)
|
95
|
+
on right: 5 6
|
96
|
+
on left : 7 8 9 10 11 12 13
|
97
|
+
mustache (38)
|
98
|
+
on right: 7
|
99
|
+
on left : 33 34
|
100
|
+
block (39)
|
101
|
+
on right: 8
|
102
|
+
on left : 21 22
|
103
|
+
rawBlock (40)
|
104
|
+
on right: 9
|
105
|
+
on left : 19
|
106
|
+
partial (41)
|
107
|
+
on right: 10
|
108
|
+
on left : 35
|
109
|
+
partialBlock (42)
|
110
|
+
on right: 11
|
111
|
+
on left : 36
|
112
|
+
content (43)
|
113
|
+
on right: 12 17
|
114
|
+
on left : 14
|
115
|
+
contents (44)
|
116
|
+
on right: 19
|
117
|
+
on left : 15 16
|
118
|
+
contentList (45)
|
119
|
+
on right: 16 18
|
120
|
+
on left : 17 18
|
121
|
+
openRawBlock (46)
|
122
|
+
on right: 19
|
123
|
+
on left : 20
|
124
|
+
helperName (47)
|
125
|
+
on right: 20 23 24 25 32 38
|
126
|
+
on left : 54 55 56 57 58 59 60
|
127
|
+
exprs (48)
|
128
|
+
on right: 20 23 24 25 33 34 35 37 44
|
129
|
+
on left : 40 41
|
130
|
+
hash (49)
|
131
|
+
on right: 20 23 24 25 33 34 35 37 44
|
132
|
+
on left : 45 46
|
133
|
+
openBlock (50)
|
134
|
+
on right: 21
|
135
|
+
on left : 23
|
136
|
+
inverseChain (51)
|
137
|
+
on right: 21 30
|
138
|
+
on left : 29 30 31
|
139
|
+
closeBlock (52)
|
140
|
+
on right: 21 22 36
|
141
|
+
on left : 32
|
142
|
+
openInverse (53)
|
143
|
+
on right: 22
|
144
|
+
on left : 24
|
145
|
+
optInverseAndProgram (54)
|
146
|
+
on right: 22
|
147
|
+
on left : 26 27
|
148
|
+
blockParams (55)
|
149
|
+
on right: 23 24 25
|
150
|
+
on left : 50 51
|
151
|
+
openInverseChain (56)
|
152
|
+
on right: 30
|
153
|
+
on left : 25
|
154
|
+
inverseAndProgram (57)
|
155
|
+
on right: 27 31
|
156
|
+
on left : 28
|
157
|
+
expr (58)
|
158
|
+
on right: 33 34 35 37 42 43 44 49
|
159
|
+
on left : 38 39
|
160
|
+
openPartialBlock (59)
|
161
|
+
on right: 36
|
162
|
+
on left : 37
|
163
|
+
sexpr (60)
|
164
|
+
on right: 39 62
|
165
|
+
on left : 44
|
166
|
+
exprList (61)
|
167
|
+
on right: 41 43
|
168
|
+
on left : 42 43
|
169
|
+
hashSegments (62)
|
170
|
+
on right: 46 48
|
171
|
+
on left : 47 48
|
172
|
+
hashSegment (63)
|
173
|
+
on right: 47 48
|
174
|
+
on left : 49
|
175
|
+
idSequence (64)
|
176
|
+
on right: 51 53
|
177
|
+
on left : 52 53
|
178
|
+
path (65)
|
179
|
+
on right: 54
|
180
|
+
on left : 62 63
|
181
|
+
dataName (66)
|
182
|
+
on right: 55
|
183
|
+
on left : 61
|
184
|
+
pathSegments (67)
|
185
|
+
on right: 61 62 63 64
|
186
|
+
on left : 64 65
|
187
|
+
|
188
|
+
**Terminals, with rules where they appear
|
189
|
+
|
190
|
+
$end (0)
|
191
|
+
error (1)
|
192
|
+
COMMENT (2) 13
|
193
|
+
CONTENT (3) 14 18
|
194
|
+
END_RAW_BLOCK (4) 19
|
195
|
+
OPEN_RAW_BLOCK (5) 20
|
196
|
+
CLOSE_RAW_BLOCK (6) 20
|
197
|
+
OPEN_BLOCK (7) 23
|
198
|
+
CLOSE (8) 23 24 25 32 33 35 37
|
199
|
+
OPEN_INVERSE (9) 24
|
200
|
+
OPEN_INVERSE_CHAIN (10) 25
|
201
|
+
INVERSE (11) 28
|
202
|
+
OPEN_ENDBLOCK (12) 32
|
203
|
+
OPEN (13) 33
|
204
|
+
OPEN_UNESCAPED (14) 34
|
205
|
+
CLOSE_UNESCAPED (15) 34
|
206
|
+
OPEN_PARTIAL (16) 35
|
207
|
+
OPEN_PARTIAL_BLOCK (17) 37
|
208
|
+
OPEN_SEXPR (18) 44
|
209
|
+
CLOSE_SEXPR (19) 44
|
210
|
+
KEY_ASSIGN (20) 49
|
211
|
+
OPEN_BLOCK_PARAMS (21) 51
|
212
|
+
CLOSE_BLOCK_PARAMS (22) 51
|
213
|
+
ID (23) 52 53 64 65
|
214
|
+
STRING (24) 56
|
215
|
+
NUMBER (25) 57
|
216
|
+
BOOLEAN (26) 58
|
217
|
+
UNDEFINED (27) 59
|
218
|
+
NULL (28) 60
|
219
|
+
DATA (29) 61
|
220
|
+
SEP (30) 62 64
|
221
|
+
|
222
|
+
--------- State ---------
|
223
|
+
|
224
|
+
state 0
|
225
|
+
|
226
|
+
|
227
|
+
COMMENT shift, and go to state 13
|
228
|
+
CONTENT shift, and go to state 14
|
229
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
230
|
+
OPEN_BLOCK shift, and go to state 19
|
231
|
+
OPEN_INVERSE shift, and go to state 20
|
232
|
+
OPEN shift, and go to state 21
|
233
|
+
OPEN_UNESCAPED shift, and go to state 22
|
234
|
+
OPEN_PARTIAL shift, and go to state 23
|
235
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
236
|
+
$default reduce using rule 66 (none)
|
237
|
+
|
238
|
+
start go to state 1
|
239
|
+
root go to state 2
|
240
|
+
program go to state 3
|
241
|
+
none go to state 4
|
242
|
+
statements go to state 5
|
243
|
+
statement go to state 6
|
244
|
+
mustache go to state 7
|
245
|
+
block go to state 8
|
246
|
+
rawBlock go to state 9
|
247
|
+
partial go to state 10
|
248
|
+
partialBlock go to state 11
|
249
|
+
content go to state 12
|
250
|
+
openRawBlock go to state 15
|
251
|
+
openBlock go to state 17
|
252
|
+
openInverse go to state 18
|
253
|
+
openPartialBlock go to state 24
|
254
|
+
|
255
|
+
state 1
|
256
|
+
|
257
|
+
|
258
|
+
$end shift, and go to state 26
|
259
|
+
|
260
|
+
|
261
|
+
state 2
|
262
|
+
|
263
|
+
1) start : root _
|
264
|
+
|
265
|
+
$default reduce using rule 1 (start)
|
266
|
+
|
267
|
+
|
268
|
+
state 3
|
269
|
+
|
270
|
+
2) root : program _
|
271
|
+
|
272
|
+
$default reduce using rule 2 (root)
|
273
|
+
|
274
|
+
|
275
|
+
state 4
|
276
|
+
|
277
|
+
3) program : none _
|
278
|
+
|
279
|
+
$default reduce using rule 3 (program)
|
280
|
+
|
281
|
+
|
282
|
+
state 5
|
283
|
+
|
284
|
+
4) program : statements _
|
285
|
+
6) statements : statements _ statement
|
286
|
+
|
287
|
+
COMMENT shift, and go to state 13
|
288
|
+
CONTENT shift, and go to state 14
|
289
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
290
|
+
OPEN_BLOCK shift, and go to state 19
|
291
|
+
OPEN_INVERSE shift, and go to state 20
|
292
|
+
OPEN shift, and go to state 21
|
293
|
+
OPEN_UNESCAPED shift, and go to state 22
|
294
|
+
OPEN_PARTIAL shift, and go to state 23
|
295
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
296
|
+
$default reduce using rule 4 (program)
|
297
|
+
|
298
|
+
statement go to state 27
|
299
|
+
mustache go to state 7
|
300
|
+
block go to state 8
|
301
|
+
rawBlock go to state 9
|
302
|
+
partial go to state 10
|
303
|
+
partialBlock go to state 11
|
304
|
+
content go to state 12
|
305
|
+
openRawBlock go to state 15
|
306
|
+
openBlock go to state 17
|
307
|
+
openInverse go to state 18
|
308
|
+
openPartialBlock go to state 24
|
309
|
+
|
310
|
+
state 6
|
311
|
+
|
312
|
+
5) statements : statement _
|
313
|
+
|
314
|
+
$default reduce using rule 5 (statements)
|
315
|
+
|
316
|
+
|
317
|
+
state 7
|
318
|
+
|
319
|
+
7) statement : mustache _
|
320
|
+
|
321
|
+
$default reduce using rule 7 (statement)
|
322
|
+
|
323
|
+
|
324
|
+
state 8
|
325
|
+
|
326
|
+
8) statement : block _
|
327
|
+
|
328
|
+
$default reduce using rule 8 (statement)
|
329
|
+
|
330
|
+
|
331
|
+
state 9
|
332
|
+
|
333
|
+
9) statement : rawBlock _
|
334
|
+
|
335
|
+
$default reduce using rule 9 (statement)
|
336
|
+
|
337
|
+
|
338
|
+
state 10
|
339
|
+
|
340
|
+
10) statement : partial _
|
341
|
+
|
342
|
+
$default reduce using rule 10 (statement)
|
343
|
+
|
344
|
+
|
345
|
+
state 11
|
346
|
+
|
347
|
+
11) statement : partialBlock _
|
348
|
+
|
349
|
+
$default reduce using rule 11 (statement)
|
350
|
+
|
351
|
+
|
352
|
+
state 12
|
353
|
+
|
354
|
+
12) statement : content _
|
355
|
+
|
356
|
+
$default reduce using rule 12 (statement)
|
357
|
+
|
358
|
+
|
359
|
+
state 13
|
360
|
+
|
361
|
+
13) statement : COMMENT _
|
362
|
+
|
363
|
+
$default reduce using rule 13 (statement)
|
364
|
+
|
365
|
+
|
366
|
+
state 14
|
367
|
+
|
368
|
+
14) content : CONTENT _
|
369
|
+
|
370
|
+
$default reduce using rule 14 (content)
|
371
|
+
|
372
|
+
|
373
|
+
state 15
|
374
|
+
|
375
|
+
19) rawBlock : openRawBlock _ contents END_RAW_BLOCK
|
376
|
+
|
377
|
+
CONTENT shift, and go to state 14
|
378
|
+
$default reduce using rule 66 (none)
|
379
|
+
|
380
|
+
none go to state 28
|
381
|
+
contentList go to state 29
|
382
|
+
content go to state 30
|
383
|
+
contents go to state 31
|
384
|
+
|
385
|
+
state 16
|
386
|
+
|
387
|
+
20) openRawBlock : OPEN_RAW_BLOCK _ helperName exprs hash CLOSE_RAW_BLOCK
|
388
|
+
|
389
|
+
OPEN_SEXPR shift, and go to state 33
|
390
|
+
ID shift, and go to state 44
|
391
|
+
STRING shift, and go to state 36
|
392
|
+
NUMBER shift, and go to state 37
|
393
|
+
BOOLEAN shift, and go to state 38
|
394
|
+
UNDEFINED shift, and go to state 39
|
395
|
+
NULL shift, and go to state 40
|
396
|
+
DATA shift, and go to state 41
|
397
|
+
|
398
|
+
helperName go to state 32
|
399
|
+
path go to state 34
|
400
|
+
dataName go to state 35
|
401
|
+
sexpr go to state 42
|
402
|
+
pathSegments go to state 43
|
403
|
+
|
404
|
+
state 17
|
405
|
+
|
406
|
+
21) block : openBlock _ program inverseChain closeBlock
|
407
|
+
|
408
|
+
COMMENT shift, and go to state 13
|
409
|
+
CONTENT shift, and go to state 14
|
410
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
411
|
+
OPEN_BLOCK shift, and go to state 19
|
412
|
+
OPEN_INVERSE shift, and go to state 20
|
413
|
+
OPEN shift, and go to state 21
|
414
|
+
OPEN_UNESCAPED shift, and go to state 22
|
415
|
+
OPEN_PARTIAL shift, and go to state 23
|
416
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
417
|
+
$default reduce using rule 66 (none)
|
418
|
+
|
419
|
+
none go to state 4
|
420
|
+
statements go to state 5
|
421
|
+
statement go to state 6
|
422
|
+
mustache go to state 7
|
423
|
+
block go to state 8
|
424
|
+
rawBlock go to state 9
|
425
|
+
partial go to state 10
|
426
|
+
partialBlock go to state 11
|
427
|
+
content go to state 12
|
428
|
+
openRawBlock go to state 15
|
429
|
+
openBlock go to state 17
|
430
|
+
program go to state 45
|
431
|
+
openInverse go to state 18
|
432
|
+
openPartialBlock go to state 24
|
433
|
+
|
434
|
+
state 18
|
435
|
+
|
436
|
+
22) block : openInverse _ program optInverseAndProgram closeBlock
|
437
|
+
|
438
|
+
COMMENT shift, and go to state 13
|
439
|
+
CONTENT shift, and go to state 14
|
440
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
441
|
+
OPEN_BLOCK shift, and go to state 19
|
442
|
+
OPEN_INVERSE shift, and go to state 20
|
443
|
+
OPEN shift, and go to state 21
|
444
|
+
OPEN_UNESCAPED shift, and go to state 22
|
445
|
+
OPEN_PARTIAL shift, and go to state 23
|
446
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
447
|
+
$default reduce using rule 66 (none)
|
448
|
+
|
449
|
+
none go to state 4
|
450
|
+
statements go to state 5
|
451
|
+
statement go to state 6
|
452
|
+
mustache go to state 7
|
453
|
+
block go to state 8
|
454
|
+
rawBlock go to state 9
|
455
|
+
partial go to state 10
|
456
|
+
partialBlock go to state 11
|
457
|
+
content go to state 12
|
458
|
+
openRawBlock go to state 15
|
459
|
+
openBlock go to state 17
|
460
|
+
openInverse go to state 18
|
461
|
+
program go to state 46
|
462
|
+
openPartialBlock go to state 24
|
463
|
+
|
464
|
+
state 19
|
465
|
+
|
466
|
+
23) openBlock : OPEN_BLOCK _ helperName exprs hash blockParams CLOSE
|
467
|
+
|
468
|
+
OPEN_SEXPR shift, and go to state 33
|
469
|
+
ID shift, and go to state 44
|
470
|
+
STRING shift, and go to state 36
|
471
|
+
NUMBER shift, and go to state 37
|
472
|
+
BOOLEAN shift, and go to state 38
|
473
|
+
UNDEFINED shift, and go to state 39
|
474
|
+
NULL shift, and go to state 40
|
475
|
+
DATA shift, and go to state 41
|
476
|
+
|
477
|
+
helperName go to state 47
|
478
|
+
path go to state 34
|
479
|
+
dataName go to state 35
|
480
|
+
sexpr go to state 42
|
481
|
+
pathSegments go to state 43
|
482
|
+
|
483
|
+
state 20
|
484
|
+
|
485
|
+
24) openInverse : OPEN_INVERSE _ helperName exprs hash blockParams CLOSE
|
486
|
+
|
487
|
+
OPEN_SEXPR shift, and go to state 33
|
488
|
+
ID shift, and go to state 44
|
489
|
+
STRING shift, and go to state 36
|
490
|
+
NUMBER shift, and go to state 37
|
491
|
+
BOOLEAN shift, and go to state 38
|
492
|
+
UNDEFINED shift, and go to state 39
|
493
|
+
NULL shift, and go to state 40
|
494
|
+
DATA shift, and go to state 41
|
495
|
+
|
496
|
+
helperName go to state 48
|
497
|
+
path go to state 34
|
498
|
+
dataName go to state 35
|
499
|
+
sexpr go to state 42
|
500
|
+
pathSegments go to state 43
|
501
|
+
|
502
|
+
state 21
|
503
|
+
|
504
|
+
33) mustache : OPEN _ expr exprs hash CLOSE
|
505
|
+
|
506
|
+
OPEN_SEXPR shift, and go to state 33
|
507
|
+
ID shift, and go to state 44
|
508
|
+
STRING shift, and go to state 36
|
509
|
+
NUMBER shift, and go to state 37
|
510
|
+
BOOLEAN shift, and go to state 38
|
511
|
+
UNDEFINED shift, and go to state 39
|
512
|
+
NULL shift, and go to state 40
|
513
|
+
DATA shift, and go to state 41
|
514
|
+
|
515
|
+
expr go to state 49
|
516
|
+
helperName go to state 50
|
517
|
+
sexpr go to state 51
|
518
|
+
path go to state 34
|
519
|
+
dataName go to state 35
|
520
|
+
pathSegments go to state 43
|
521
|
+
|
522
|
+
state 22
|
523
|
+
|
524
|
+
34) mustache : OPEN_UNESCAPED _ expr exprs hash CLOSE_UNESCAPED
|
525
|
+
|
526
|
+
OPEN_SEXPR shift, and go to state 33
|
527
|
+
ID shift, and go to state 44
|
528
|
+
STRING shift, and go to state 36
|
529
|
+
NUMBER shift, and go to state 37
|
530
|
+
BOOLEAN shift, and go to state 38
|
531
|
+
UNDEFINED shift, and go to state 39
|
532
|
+
NULL shift, and go to state 40
|
533
|
+
DATA shift, and go to state 41
|
534
|
+
|
535
|
+
expr go to state 52
|
536
|
+
helperName go to state 50
|
537
|
+
sexpr go to state 51
|
538
|
+
path go to state 34
|
539
|
+
dataName go to state 35
|
540
|
+
pathSegments go to state 43
|
541
|
+
|
542
|
+
state 23
|
543
|
+
|
544
|
+
35) partial : OPEN_PARTIAL _ expr exprs hash CLOSE
|
545
|
+
|
546
|
+
OPEN_SEXPR shift, and go to state 33
|
547
|
+
ID shift, and go to state 44
|
548
|
+
STRING shift, and go to state 36
|
549
|
+
NUMBER shift, and go to state 37
|
550
|
+
BOOLEAN shift, and go to state 38
|
551
|
+
UNDEFINED shift, and go to state 39
|
552
|
+
NULL shift, and go to state 40
|
553
|
+
DATA shift, and go to state 41
|
554
|
+
|
555
|
+
expr go to state 53
|
556
|
+
helperName go to state 50
|
557
|
+
sexpr go to state 51
|
558
|
+
path go to state 34
|
559
|
+
dataName go to state 35
|
560
|
+
pathSegments go to state 43
|
561
|
+
|
562
|
+
state 24
|
563
|
+
|
564
|
+
36) partialBlock : openPartialBlock _ program closeBlock
|
565
|
+
|
566
|
+
COMMENT shift, and go to state 13
|
567
|
+
CONTENT shift, and go to state 14
|
568
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
569
|
+
OPEN_BLOCK shift, and go to state 19
|
570
|
+
OPEN_INVERSE shift, and go to state 20
|
571
|
+
OPEN shift, and go to state 21
|
572
|
+
OPEN_UNESCAPED shift, and go to state 22
|
573
|
+
OPEN_PARTIAL shift, and go to state 23
|
574
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
575
|
+
$default reduce using rule 66 (none)
|
576
|
+
|
577
|
+
none go to state 4
|
578
|
+
statements go to state 5
|
579
|
+
statement go to state 6
|
580
|
+
mustache go to state 7
|
581
|
+
block go to state 8
|
582
|
+
rawBlock go to state 9
|
583
|
+
partial go to state 10
|
584
|
+
partialBlock go to state 11
|
585
|
+
content go to state 12
|
586
|
+
openRawBlock go to state 15
|
587
|
+
openBlock go to state 17
|
588
|
+
openInverse go to state 18
|
589
|
+
openPartialBlock go to state 24
|
590
|
+
program go to state 54
|
591
|
+
|
592
|
+
state 25
|
593
|
+
|
594
|
+
37) openPartialBlock : OPEN_PARTIAL_BLOCK _ expr exprs hash CLOSE
|
595
|
+
|
596
|
+
OPEN_SEXPR shift, and go to state 33
|
597
|
+
ID shift, and go to state 44
|
598
|
+
STRING shift, and go to state 36
|
599
|
+
NUMBER shift, and go to state 37
|
600
|
+
BOOLEAN shift, and go to state 38
|
601
|
+
UNDEFINED shift, and go to state 39
|
602
|
+
NULL shift, and go to state 40
|
603
|
+
DATA shift, and go to state 41
|
604
|
+
|
605
|
+
expr go to state 55
|
606
|
+
helperName go to state 50
|
607
|
+
sexpr go to state 51
|
608
|
+
path go to state 34
|
609
|
+
dataName go to state 35
|
610
|
+
pathSegments go to state 43
|
611
|
+
|
612
|
+
state 26
|
613
|
+
|
614
|
+
|
615
|
+
$end shift, and go to state 56
|
616
|
+
|
617
|
+
|
618
|
+
state 27
|
619
|
+
|
620
|
+
6) statements : statements statement _
|
621
|
+
|
622
|
+
$default reduce using rule 6 (statements)
|
623
|
+
|
624
|
+
|
625
|
+
state 28
|
626
|
+
|
627
|
+
15) contents : none _
|
628
|
+
|
629
|
+
$default reduce using rule 15 (contents)
|
630
|
+
|
631
|
+
|
632
|
+
state 29
|
633
|
+
|
634
|
+
16) contents : contentList _
|
635
|
+
18) contentList : contentList _ CONTENT
|
636
|
+
|
637
|
+
CONTENT shift, and go to state 57
|
638
|
+
$default reduce using rule 16 (contents)
|
639
|
+
|
640
|
+
|
641
|
+
state 30
|
642
|
+
|
643
|
+
17) contentList : content _
|
644
|
+
|
645
|
+
$default reduce using rule 17 (contentList)
|
646
|
+
|
647
|
+
|
648
|
+
state 31
|
649
|
+
|
650
|
+
19) rawBlock : openRawBlock contents _ END_RAW_BLOCK
|
651
|
+
|
652
|
+
END_RAW_BLOCK shift, and go to state 58
|
653
|
+
|
654
|
+
|
655
|
+
state 32
|
656
|
+
|
657
|
+
20) openRawBlock : OPEN_RAW_BLOCK helperName _ exprs hash CLOSE_RAW_BLOCK
|
658
|
+
|
659
|
+
OPEN_SEXPR shift, and go to state 33
|
660
|
+
ID shift, and go to state 44
|
661
|
+
STRING shift, and go to state 36
|
662
|
+
NUMBER shift, and go to state 37
|
663
|
+
BOOLEAN shift, and go to state 38
|
664
|
+
UNDEFINED shift, and go to state 39
|
665
|
+
NULL shift, and go to state 40
|
666
|
+
DATA shift, and go to state 41
|
667
|
+
$default reduce using rule 66 (none)
|
668
|
+
|
669
|
+
exprs go to state 59
|
670
|
+
helperName go to state 50
|
671
|
+
sexpr go to state 51
|
672
|
+
none go to state 60
|
673
|
+
exprList go to state 61
|
674
|
+
expr go to state 62
|
675
|
+
path go to state 34
|
676
|
+
dataName go to state 35
|
677
|
+
pathSegments go to state 43
|
678
|
+
|
679
|
+
state 33
|
680
|
+
|
681
|
+
44) sexpr : OPEN_SEXPR _ expr exprs hash CLOSE_SEXPR
|
682
|
+
|
683
|
+
OPEN_SEXPR shift, and go to state 33
|
684
|
+
ID shift, and go to state 44
|
685
|
+
STRING shift, and go to state 36
|
686
|
+
NUMBER shift, and go to state 37
|
687
|
+
BOOLEAN shift, and go to state 38
|
688
|
+
UNDEFINED shift, and go to state 39
|
689
|
+
NULL shift, and go to state 40
|
690
|
+
DATA shift, and go to state 41
|
691
|
+
|
692
|
+
helperName go to state 50
|
693
|
+
sexpr go to state 51
|
694
|
+
expr go to state 63
|
695
|
+
path go to state 34
|
696
|
+
dataName go to state 35
|
697
|
+
pathSegments go to state 43
|
698
|
+
|
699
|
+
state 34
|
700
|
+
|
701
|
+
54) helperName : path _
|
702
|
+
|
703
|
+
$default reduce using rule 54 (helperName)
|
704
|
+
|
705
|
+
|
706
|
+
state 35
|
707
|
+
|
708
|
+
55) helperName : dataName _
|
709
|
+
|
710
|
+
$default reduce using rule 55 (helperName)
|
711
|
+
|
712
|
+
|
713
|
+
state 36
|
714
|
+
|
715
|
+
56) helperName : STRING _
|
716
|
+
|
717
|
+
$default reduce using rule 56 (helperName)
|
718
|
+
|
719
|
+
|
720
|
+
state 37
|
721
|
+
|
722
|
+
57) helperName : NUMBER _
|
723
|
+
|
724
|
+
$default reduce using rule 57 (helperName)
|
725
|
+
|
726
|
+
|
727
|
+
state 38
|
728
|
+
|
729
|
+
58) helperName : BOOLEAN _
|
730
|
+
|
731
|
+
$default reduce using rule 58 (helperName)
|
732
|
+
|
733
|
+
|
734
|
+
state 39
|
735
|
+
|
736
|
+
59) helperName : UNDEFINED _
|
737
|
+
|
738
|
+
$default reduce using rule 59 (helperName)
|
739
|
+
|
740
|
+
|
741
|
+
state 40
|
742
|
+
|
743
|
+
60) helperName : NULL _
|
744
|
+
|
745
|
+
$default reduce using rule 60 (helperName)
|
746
|
+
|
747
|
+
|
748
|
+
state 41
|
749
|
+
|
750
|
+
61) dataName : DATA _ pathSegments
|
751
|
+
|
752
|
+
ID shift, and go to state 44
|
753
|
+
|
754
|
+
pathSegments go to state 64
|
755
|
+
|
756
|
+
state 42
|
757
|
+
|
758
|
+
62) path : sexpr _ SEP pathSegments
|
759
|
+
|
760
|
+
SEP shift, and go to state 65
|
761
|
+
|
762
|
+
|
763
|
+
state 43
|
764
|
+
|
765
|
+
63) path : pathSegments _
|
766
|
+
64) pathSegments : pathSegments _ SEP ID
|
767
|
+
|
768
|
+
SEP shift, and go to state 66
|
769
|
+
$default reduce using rule 63 (path)
|
770
|
+
|
771
|
+
|
772
|
+
state 44
|
773
|
+
|
774
|
+
65) pathSegments : ID _
|
775
|
+
|
776
|
+
$default reduce using rule 65 (pathSegments)
|
777
|
+
|
778
|
+
|
779
|
+
state 45
|
780
|
+
|
781
|
+
21) block : openBlock program _ inverseChain closeBlock
|
782
|
+
|
783
|
+
OPEN_INVERSE_CHAIN shift, and go to state 68
|
784
|
+
INVERSE shift, and go to state 69
|
785
|
+
$default reduce using rule 66 (none)
|
786
|
+
|
787
|
+
inverseChain go to state 67
|
788
|
+
none go to state 70
|
789
|
+
openInverseChain go to state 71
|
790
|
+
inverseAndProgram go to state 72
|
791
|
+
|
792
|
+
state 46
|
793
|
+
|
794
|
+
22) block : openInverse program _ optInverseAndProgram closeBlock
|
795
|
+
|
796
|
+
INVERSE shift, and go to state 69
|
797
|
+
$default reduce using rule 66 (none)
|
798
|
+
|
799
|
+
optInverseAndProgram go to state 73
|
800
|
+
none go to state 74
|
801
|
+
inverseAndProgram go to state 75
|
802
|
+
|
803
|
+
state 47
|
804
|
+
|
805
|
+
23) openBlock : OPEN_BLOCK helperName _ exprs hash blockParams CLOSE
|
806
|
+
|
807
|
+
OPEN_SEXPR shift, and go to state 33
|
808
|
+
ID shift, and go to state 44
|
809
|
+
STRING shift, and go to state 36
|
810
|
+
NUMBER shift, and go to state 37
|
811
|
+
BOOLEAN shift, and go to state 38
|
812
|
+
UNDEFINED shift, and go to state 39
|
813
|
+
NULL shift, and go to state 40
|
814
|
+
DATA shift, and go to state 41
|
815
|
+
$default reduce using rule 66 (none)
|
816
|
+
|
817
|
+
exprs go to state 76
|
818
|
+
helperName go to state 50
|
819
|
+
sexpr go to state 51
|
820
|
+
none go to state 60
|
821
|
+
exprList go to state 61
|
822
|
+
expr go to state 62
|
823
|
+
path go to state 34
|
824
|
+
dataName go to state 35
|
825
|
+
pathSegments go to state 43
|
826
|
+
|
827
|
+
state 48
|
828
|
+
|
829
|
+
24) openInverse : OPEN_INVERSE helperName _ exprs hash blockParams CLOSE
|
830
|
+
|
831
|
+
OPEN_SEXPR shift, and go to state 33
|
832
|
+
ID shift, and go to state 44
|
833
|
+
STRING shift, and go to state 36
|
834
|
+
NUMBER shift, and go to state 37
|
835
|
+
BOOLEAN shift, and go to state 38
|
836
|
+
UNDEFINED shift, and go to state 39
|
837
|
+
NULL shift, and go to state 40
|
838
|
+
DATA shift, and go to state 41
|
839
|
+
$default reduce using rule 66 (none)
|
840
|
+
|
841
|
+
exprs go to state 77
|
842
|
+
helperName go to state 50
|
843
|
+
sexpr go to state 51
|
844
|
+
none go to state 60
|
845
|
+
exprList go to state 61
|
846
|
+
expr go to state 62
|
847
|
+
path go to state 34
|
848
|
+
dataName go to state 35
|
849
|
+
pathSegments go to state 43
|
850
|
+
|
851
|
+
state 49
|
852
|
+
|
853
|
+
33) mustache : OPEN expr _ exprs hash CLOSE
|
854
|
+
|
855
|
+
OPEN_SEXPR shift, and go to state 33
|
856
|
+
ID shift, and go to state 44
|
857
|
+
STRING shift, and go to state 36
|
858
|
+
NUMBER shift, and go to state 37
|
859
|
+
BOOLEAN shift, and go to state 38
|
860
|
+
UNDEFINED shift, and go to state 39
|
861
|
+
NULL shift, and go to state 40
|
862
|
+
DATA shift, and go to state 41
|
863
|
+
$default reduce using rule 66 (none)
|
864
|
+
|
865
|
+
exprs go to state 78
|
866
|
+
helperName go to state 50
|
867
|
+
sexpr go to state 51
|
868
|
+
none go to state 60
|
869
|
+
exprList go to state 61
|
870
|
+
expr go to state 62
|
871
|
+
path go to state 34
|
872
|
+
dataName go to state 35
|
873
|
+
pathSegments go to state 43
|
874
|
+
|
875
|
+
state 50
|
876
|
+
|
877
|
+
38) expr : helperName _
|
878
|
+
|
879
|
+
$default reduce using rule 38 (expr)
|
880
|
+
|
881
|
+
|
882
|
+
state 51
|
883
|
+
|
884
|
+
39) expr : sexpr _
|
885
|
+
62) path : sexpr _ SEP pathSegments
|
886
|
+
|
887
|
+
SEP shift, and go to state 65
|
888
|
+
$default reduce using rule 39 (expr)
|
889
|
+
|
890
|
+
|
891
|
+
state 52
|
892
|
+
|
893
|
+
34) mustache : OPEN_UNESCAPED expr _ exprs hash CLOSE_UNESCAPED
|
894
|
+
|
895
|
+
OPEN_SEXPR shift, and go to state 33
|
896
|
+
ID shift, and go to state 44
|
897
|
+
STRING shift, and go to state 36
|
898
|
+
NUMBER shift, and go to state 37
|
899
|
+
BOOLEAN shift, and go to state 38
|
900
|
+
UNDEFINED shift, and go to state 39
|
901
|
+
NULL shift, and go to state 40
|
902
|
+
DATA shift, and go to state 41
|
903
|
+
$default reduce using rule 66 (none)
|
904
|
+
|
905
|
+
exprs go to state 79
|
906
|
+
helperName go to state 50
|
907
|
+
sexpr go to state 51
|
908
|
+
none go to state 60
|
909
|
+
exprList go to state 61
|
910
|
+
expr go to state 62
|
911
|
+
path go to state 34
|
912
|
+
dataName go to state 35
|
913
|
+
pathSegments go to state 43
|
914
|
+
|
915
|
+
state 53
|
916
|
+
|
917
|
+
35) partial : OPEN_PARTIAL expr _ exprs hash CLOSE
|
918
|
+
|
919
|
+
OPEN_SEXPR shift, and go to state 33
|
920
|
+
ID shift, and go to state 44
|
921
|
+
STRING shift, and go to state 36
|
922
|
+
NUMBER shift, and go to state 37
|
923
|
+
BOOLEAN shift, and go to state 38
|
924
|
+
UNDEFINED shift, and go to state 39
|
925
|
+
NULL shift, and go to state 40
|
926
|
+
DATA shift, and go to state 41
|
927
|
+
$default reduce using rule 66 (none)
|
928
|
+
|
929
|
+
exprs go to state 80
|
930
|
+
helperName go to state 50
|
931
|
+
sexpr go to state 51
|
932
|
+
none go to state 60
|
933
|
+
exprList go to state 61
|
934
|
+
expr go to state 62
|
935
|
+
path go to state 34
|
936
|
+
dataName go to state 35
|
937
|
+
pathSegments go to state 43
|
938
|
+
|
939
|
+
state 54
|
940
|
+
|
941
|
+
36) partialBlock : openPartialBlock program _ closeBlock
|
942
|
+
|
943
|
+
OPEN_ENDBLOCK shift, and go to state 81
|
944
|
+
|
945
|
+
closeBlock go to state 82
|
946
|
+
|
947
|
+
state 55
|
948
|
+
|
949
|
+
37) openPartialBlock : OPEN_PARTIAL_BLOCK expr _ exprs hash CLOSE
|
950
|
+
|
951
|
+
OPEN_SEXPR shift, and go to state 33
|
952
|
+
ID shift, and go to state 44
|
953
|
+
STRING shift, and go to state 36
|
954
|
+
NUMBER shift, and go to state 37
|
955
|
+
BOOLEAN shift, and go to state 38
|
956
|
+
UNDEFINED shift, and go to state 39
|
957
|
+
NULL shift, and go to state 40
|
958
|
+
DATA shift, and go to state 41
|
959
|
+
$default reduce using rule 66 (none)
|
960
|
+
|
961
|
+
exprs go to state 83
|
962
|
+
helperName go to state 50
|
963
|
+
sexpr go to state 51
|
964
|
+
none go to state 60
|
965
|
+
exprList go to state 61
|
966
|
+
expr go to state 62
|
967
|
+
path go to state 34
|
968
|
+
dataName go to state 35
|
969
|
+
pathSegments go to state 43
|
970
|
+
|
971
|
+
state 56
|
972
|
+
|
973
|
+
|
974
|
+
$default accept
|
975
|
+
|
976
|
+
|
977
|
+
state 57
|
978
|
+
|
979
|
+
18) contentList : contentList CONTENT _
|
980
|
+
|
981
|
+
$default reduce using rule 18 (contentList)
|
982
|
+
|
983
|
+
|
984
|
+
state 58
|
985
|
+
|
986
|
+
19) rawBlock : openRawBlock contents END_RAW_BLOCK _
|
987
|
+
|
988
|
+
$default reduce using rule 19 (rawBlock)
|
989
|
+
|
990
|
+
|
991
|
+
state 59
|
992
|
+
|
993
|
+
20) openRawBlock : OPEN_RAW_BLOCK helperName exprs _ hash CLOSE_RAW_BLOCK
|
994
|
+
|
995
|
+
KEY_ASSIGN shift, and go to state 88
|
996
|
+
$default reduce using rule 66 (none)
|
997
|
+
|
998
|
+
hash go to state 84
|
999
|
+
none go to state 85
|
1000
|
+
hashSegments go to state 86
|
1001
|
+
hashSegment go to state 87
|
1002
|
+
|
1003
|
+
state 60
|
1004
|
+
|
1005
|
+
40) exprs : none _
|
1006
|
+
|
1007
|
+
$default reduce using rule 40 (exprs)
|
1008
|
+
|
1009
|
+
|
1010
|
+
state 61
|
1011
|
+
|
1012
|
+
41) exprs : exprList _
|
1013
|
+
43) exprList : exprList _ expr
|
1014
|
+
|
1015
|
+
OPEN_SEXPR shift, and go to state 33
|
1016
|
+
ID shift, and go to state 44
|
1017
|
+
STRING shift, and go to state 36
|
1018
|
+
NUMBER shift, and go to state 37
|
1019
|
+
BOOLEAN shift, and go to state 38
|
1020
|
+
UNDEFINED shift, and go to state 39
|
1021
|
+
NULL shift, and go to state 40
|
1022
|
+
DATA shift, and go to state 41
|
1023
|
+
$default reduce using rule 41 (exprs)
|
1024
|
+
|
1025
|
+
helperName go to state 50
|
1026
|
+
sexpr go to state 51
|
1027
|
+
expr go to state 89
|
1028
|
+
path go to state 34
|
1029
|
+
dataName go to state 35
|
1030
|
+
pathSegments go to state 43
|
1031
|
+
|
1032
|
+
state 62
|
1033
|
+
|
1034
|
+
42) exprList : expr _
|
1035
|
+
|
1036
|
+
$default reduce using rule 42 (exprList)
|
1037
|
+
|
1038
|
+
|
1039
|
+
state 63
|
1040
|
+
|
1041
|
+
44) sexpr : OPEN_SEXPR expr _ exprs hash CLOSE_SEXPR
|
1042
|
+
|
1043
|
+
OPEN_SEXPR shift, and go to state 33
|
1044
|
+
ID shift, and go to state 44
|
1045
|
+
STRING shift, and go to state 36
|
1046
|
+
NUMBER shift, and go to state 37
|
1047
|
+
BOOLEAN shift, and go to state 38
|
1048
|
+
UNDEFINED shift, and go to state 39
|
1049
|
+
NULL shift, and go to state 40
|
1050
|
+
DATA shift, and go to state 41
|
1051
|
+
$default reduce using rule 66 (none)
|
1052
|
+
|
1053
|
+
helperName go to state 50
|
1054
|
+
sexpr go to state 51
|
1055
|
+
none go to state 60
|
1056
|
+
exprList go to state 61
|
1057
|
+
expr go to state 62
|
1058
|
+
exprs go to state 90
|
1059
|
+
path go to state 34
|
1060
|
+
dataName go to state 35
|
1061
|
+
pathSegments go to state 43
|
1062
|
+
|
1063
|
+
state 64
|
1064
|
+
|
1065
|
+
61) dataName : DATA pathSegments _
|
1066
|
+
64) pathSegments : pathSegments _ SEP ID
|
1067
|
+
|
1068
|
+
SEP shift, and go to state 66
|
1069
|
+
$default reduce using rule 61 (dataName)
|
1070
|
+
|
1071
|
+
|
1072
|
+
state 65
|
1073
|
+
|
1074
|
+
62) path : sexpr SEP _ pathSegments
|
1075
|
+
|
1076
|
+
ID shift, and go to state 44
|
1077
|
+
|
1078
|
+
pathSegments go to state 91
|
1079
|
+
|
1080
|
+
state 66
|
1081
|
+
|
1082
|
+
64) pathSegments : pathSegments SEP _ ID
|
1083
|
+
|
1084
|
+
ID shift, and go to state 92
|
1085
|
+
|
1086
|
+
|
1087
|
+
state 67
|
1088
|
+
|
1089
|
+
21) block : openBlock program inverseChain _ closeBlock
|
1090
|
+
|
1091
|
+
OPEN_ENDBLOCK shift, and go to state 81
|
1092
|
+
|
1093
|
+
closeBlock go to state 93
|
1094
|
+
|
1095
|
+
state 68
|
1096
|
+
|
1097
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN _ helperName exprs hash blockParams CLOSE
|
1098
|
+
|
1099
|
+
OPEN_SEXPR shift, and go to state 33
|
1100
|
+
ID shift, and go to state 44
|
1101
|
+
STRING shift, and go to state 36
|
1102
|
+
NUMBER shift, and go to state 37
|
1103
|
+
BOOLEAN shift, and go to state 38
|
1104
|
+
UNDEFINED shift, and go to state 39
|
1105
|
+
NULL shift, and go to state 40
|
1106
|
+
DATA shift, and go to state 41
|
1107
|
+
|
1108
|
+
helperName go to state 94
|
1109
|
+
path go to state 34
|
1110
|
+
dataName go to state 35
|
1111
|
+
sexpr go to state 42
|
1112
|
+
pathSegments go to state 43
|
1113
|
+
|
1114
|
+
state 69
|
1115
|
+
|
1116
|
+
28) inverseAndProgram : INVERSE _ program
|
1117
|
+
|
1118
|
+
COMMENT shift, and go to state 13
|
1119
|
+
CONTENT shift, and go to state 14
|
1120
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
1121
|
+
OPEN_BLOCK shift, and go to state 19
|
1122
|
+
OPEN_INVERSE shift, and go to state 20
|
1123
|
+
OPEN shift, and go to state 21
|
1124
|
+
OPEN_UNESCAPED shift, and go to state 22
|
1125
|
+
OPEN_PARTIAL shift, and go to state 23
|
1126
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
1127
|
+
$default reduce using rule 66 (none)
|
1128
|
+
|
1129
|
+
none go to state 4
|
1130
|
+
statements go to state 5
|
1131
|
+
statement go to state 6
|
1132
|
+
mustache go to state 7
|
1133
|
+
block go to state 8
|
1134
|
+
rawBlock go to state 9
|
1135
|
+
partial go to state 10
|
1136
|
+
partialBlock go to state 11
|
1137
|
+
content go to state 12
|
1138
|
+
openRawBlock go to state 15
|
1139
|
+
openBlock go to state 17
|
1140
|
+
openInverse go to state 18
|
1141
|
+
program go to state 95
|
1142
|
+
openPartialBlock go to state 24
|
1143
|
+
|
1144
|
+
state 70
|
1145
|
+
|
1146
|
+
29) inverseChain : none _
|
1147
|
+
|
1148
|
+
$default reduce using rule 29 (inverseChain)
|
1149
|
+
|
1150
|
+
|
1151
|
+
state 71
|
1152
|
+
|
1153
|
+
30) inverseChain : openInverseChain _ program inverseChain
|
1154
|
+
|
1155
|
+
COMMENT shift, and go to state 13
|
1156
|
+
CONTENT shift, and go to state 14
|
1157
|
+
OPEN_RAW_BLOCK shift, and go to state 16
|
1158
|
+
OPEN_BLOCK shift, and go to state 19
|
1159
|
+
OPEN_INVERSE shift, and go to state 20
|
1160
|
+
OPEN shift, and go to state 21
|
1161
|
+
OPEN_UNESCAPED shift, and go to state 22
|
1162
|
+
OPEN_PARTIAL shift, and go to state 23
|
1163
|
+
OPEN_PARTIAL_BLOCK shift, and go to state 25
|
1164
|
+
$default reduce using rule 66 (none)
|
1165
|
+
|
1166
|
+
none go to state 4
|
1167
|
+
statements go to state 5
|
1168
|
+
statement go to state 6
|
1169
|
+
mustache go to state 7
|
1170
|
+
block go to state 8
|
1171
|
+
rawBlock go to state 9
|
1172
|
+
partial go to state 10
|
1173
|
+
partialBlock go to state 11
|
1174
|
+
content go to state 12
|
1175
|
+
openRawBlock go to state 15
|
1176
|
+
openBlock go to state 17
|
1177
|
+
openInverse go to state 18
|
1178
|
+
program go to state 96
|
1179
|
+
openPartialBlock go to state 24
|
1180
|
+
|
1181
|
+
state 72
|
1182
|
+
|
1183
|
+
31) inverseChain : inverseAndProgram _
|
1184
|
+
|
1185
|
+
$default reduce using rule 31 (inverseChain)
|
1186
|
+
|
1187
|
+
|
1188
|
+
state 73
|
1189
|
+
|
1190
|
+
22) block : openInverse program optInverseAndProgram _ closeBlock
|
1191
|
+
|
1192
|
+
OPEN_ENDBLOCK shift, and go to state 81
|
1193
|
+
|
1194
|
+
closeBlock go to state 97
|
1195
|
+
|
1196
|
+
state 74
|
1197
|
+
|
1198
|
+
26) optInverseAndProgram : none _
|
1199
|
+
|
1200
|
+
$default reduce using rule 26 (optInverseAndProgram)
|
1201
|
+
|
1202
|
+
|
1203
|
+
state 75
|
1204
|
+
|
1205
|
+
27) optInverseAndProgram : inverseAndProgram _
|
1206
|
+
|
1207
|
+
$default reduce using rule 27 (optInverseAndProgram)
|
1208
|
+
|
1209
|
+
|
1210
|
+
state 76
|
1211
|
+
|
1212
|
+
23) openBlock : OPEN_BLOCK helperName exprs _ hash blockParams CLOSE
|
1213
|
+
|
1214
|
+
KEY_ASSIGN shift, and go to state 88
|
1215
|
+
$default reduce using rule 66 (none)
|
1216
|
+
|
1217
|
+
hash go to state 98
|
1218
|
+
none go to state 85
|
1219
|
+
hashSegments go to state 86
|
1220
|
+
hashSegment go to state 87
|
1221
|
+
|
1222
|
+
state 77
|
1223
|
+
|
1224
|
+
24) openInverse : OPEN_INVERSE helperName exprs _ hash blockParams CLOSE
|
1225
|
+
|
1226
|
+
KEY_ASSIGN shift, and go to state 88
|
1227
|
+
$default reduce using rule 66 (none)
|
1228
|
+
|
1229
|
+
hash go to state 99
|
1230
|
+
none go to state 85
|
1231
|
+
hashSegments go to state 86
|
1232
|
+
hashSegment go to state 87
|
1233
|
+
|
1234
|
+
state 78
|
1235
|
+
|
1236
|
+
33) mustache : OPEN expr exprs _ hash CLOSE
|
1237
|
+
|
1238
|
+
KEY_ASSIGN shift, and go to state 88
|
1239
|
+
$default reduce using rule 66 (none)
|
1240
|
+
|
1241
|
+
hash go to state 100
|
1242
|
+
none go to state 85
|
1243
|
+
hashSegments go to state 86
|
1244
|
+
hashSegment go to state 87
|
1245
|
+
|
1246
|
+
state 79
|
1247
|
+
|
1248
|
+
34) mustache : OPEN_UNESCAPED expr exprs _ hash CLOSE_UNESCAPED
|
1249
|
+
|
1250
|
+
KEY_ASSIGN shift, and go to state 88
|
1251
|
+
$default reduce using rule 66 (none)
|
1252
|
+
|
1253
|
+
hash go to state 101
|
1254
|
+
none go to state 85
|
1255
|
+
hashSegments go to state 86
|
1256
|
+
hashSegment go to state 87
|
1257
|
+
|
1258
|
+
state 80
|
1259
|
+
|
1260
|
+
35) partial : OPEN_PARTIAL expr exprs _ hash CLOSE
|
1261
|
+
|
1262
|
+
KEY_ASSIGN shift, and go to state 88
|
1263
|
+
$default reduce using rule 66 (none)
|
1264
|
+
|
1265
|
+
hash go to state 102
|
1266
|
+
none go to state 85
|
1267
|
+
hashSegments go to state 86
|
1268
|
+
hashSegment go to state 87
|
1269
|
+
|
1270
|
+
state 81
|
1271
|
+
|
1272
|
+
32) closeBlock : OPEN_ENDBLOCK _ helperName CLOSE
|
1273
|
+
|
1274
|
+
OPEN_SEXPR shift, and go to state 33
|
1275
|
+
ID shift, and go to state 44
|
1276
|
+
STRING shift, and go to state 36
|
1277
|
+
NUMBER shift, and go to state 37
|
1278
|
+
BOOLEAN shift, and go to state 38
|
1279
|
+
UNDEFINED shift, and go to state 39
|
1280
|
+
NULL shift, and go to state 40
|
1281
|
+
DATA shift, and go to state 41
|
1282
|
+
|
1283
|
+
helperName go to state 103
|
1284
|
+
path go to state 34
|
1285
|
+
dataName go to state 35
|
1286
|
+
sexpr go to state 42
|
1287
|
+
pathSegments go to state 43
|
1288
|
+
|
1289
|
+
state 82
|
1290
|
+
|
1291
|
+
36) partialBlock : openPartialBlock program closeBlock _
|
1292
|
+
|
1293
|
+
$default reduce using rule 36 (partialBlock)
|
1294
|
+
|
1295
|
+
|
1296
|
+
state 83
|
1297
|
+
|
1298
|
+
37) openPartialBlock : OPEN_PARTIAL_BLOCK expr exprs _ hash CLOSE
|
1299
|
+
|
1300
|
+
KEY_ASSIGN shift, and go to state 88
|
1301
|
+
$default reduce using rule 66 (none)
|
1302
|
+
|
1303
|
+
hash go to state 104
|
1304
|
+
none go to state 85
|
1305
|
+
hashSegments go to state 86
|
1306
|
+
hashSegment go to state 87
|
1307
|
+
|
1308
|
+
state 84
|
1309
|
+
|
1310
|
+
20) openRawBlock : OPEN_RAW_BLOCK helperName exprs hash _ CLOSE_RAW_BLOCK
|
1311
|
+
|
1312
|
+
CLOSE_RAW_BLOCK shift, and go to state 105
|
1313
|
+
|
1314
|
+
|
1315
|
+
state 85
|
1316
|
+
|
1317
|
+
45) hash : none _
|
1318
|
+
|
1319
|
+
$default reduce using rule 45 (hash)
|
1320
|
+
|
1321
|
+
|
1322
|
+
state 86
|
1323
|
+
|
1324
|
+
46) hash : hashSegments _
|
1325
|
+
48) hashSegments : hashSegments _ hashSegment
|
1326
|
+
|
1327
|
+
KEY_ASSIGN shift, and go to state 88
|
1328
|
+
$default reduce using rule 46 (hash)
|
1329
|
+
|
1330
|
+
hashSegment go to state 106
|
1331
|
+
|
1332
|
+
state 87
|
1333
|
+
|
1334
|
+
47) hashSegments : hashSegment _
|
1335
|
+
|
1336
|
+
$default reduce using rule 47 (hashSegments)
|
1337
|
+
|
1338
|
+
|
1339
|
+
state 88
|
1340
|
+
|
1341
|
+
49) hashSegment : KEY_ASSIGN _ expr
|
1342
|
+
|
1343
|
+
OPEN_SEXPR shift, and go to state 33
|
1344
|
+
ID shift, and go to state 44
|
1345
|
+
STRING shift, and go to state 36
|
1346
|
+
NUMBER shift, and go to state 37
|
1347
|
+
BOOLEAN shift, and go to state 38
|
1348
|
+
UNDEFINED shift, and go to state 39
|
1349
|
+
NULL shift, and go to state 40
|
1350
|
+
DATA shift, and go to state 41
|
1351
|
+
|
1352
|
+
helperName go to state 50
|
1353
|
+
sexpr go to state 51
|
1354
|
+
expr go to state 107
|
1355
|
+
path go to state 34
|
1356
|
+
dataName go to state 35
|
1357
|
+
pathSegments go to state 43
|
1358
|
+
|
1359
|
+
state 89
|
1360
|
+
|
1361
|
+
43) exprList : exprList expr _
|
1362
|
+
|
1363
|
+
$default reduce using rule 43 (exprList)
|
1364
|
+
|
1365
|
+
|
1366
|
+
state 90
|
1367
|
+
|
1368
|
+
44) sexpr : OPEN_SEXPR expr exprs _ hash CLOSE_SEXPR
|
1369
|
+
|
1370
|
+
KEY_ASSIGN shift, and go to state 88
|
1371
|
+
$default reduce using rule 66 (none)
|
1372
|
+
|
1373
|
+
hash go to state 108
|
1374
|
+
none go to state 85
|
1375
|
+
hashSegments go to state 86
|
1376
|
+
hashSegment go to state 87
|
1377
|
+
|
1378
|
+
state 91
|
1379
|
+
|
1380
|
+
62) path : sexpr SEP pathSegments _
|
1381
|
+
64) pathSegments : pathSegments _ SEP ID
|
1382
|
+
|
1383
|
+
SEP shift, and go to state 66
|
1384
|
+
$default reduce using rule 62 (path)
|
1385
|
+
|
1386
|
+
|
1387
|
+
state 92
|
1388
|
+
|
1389
|
+
64) pathSegments : pathSegments SEP ID _
|
1390
|
+
|
1391
|
+
$default reduce using rule 64 (pathSegments)
|
1392
|
+
|
1393
|
+
|
1394
|
+
state 93
|
1395
|
+
|
1396
|
+
21) block : openBlock program inverseChain closeBlock _
|
1397
|
+
|
1398
|
+
$default reduce using rule 21 (block)
|
1399
|
+
|
1400
|
+
|
1401
|
+
state 94
|
1402
|
+
|
1403
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN helperName _ exprs hash blockParams CLOSE
|
1404
|
+
|
1405
|
+
OPEN_SEXPR shift, and go to state 33
|
1406
|
+
ID shift, and go to state 44
|
1407
|
+
STRING shift, and go to state 36
|
1408
|
+
NUMBER shift, and go to state 37
|
1409
|
+
BOOLEAN shift, and go to state 38
|
1410
|
+
UNDEFINED shift, and go to state 39
|
1411
|
+
NULL shift, and go to state 40
|
1412
|
+
DATA shift, and go to state 41
|
1413
|
+
$default reduce using rule 66 (none)
|
1414
|
+
|
1415
|
+
exprs go to state 109
|
1416
|
+
helperName go to state 50
|
1417
|
+
sexpr go to state 51
|
1418
|
+
none go to state 60
|
1419
|
+
exprList go to state 61
|
1420
|
+
expr go to state 62
|
1421
|
+
path go to state 34
|
1422
|
+
dataName go to state 35
|
1423
|
+
pathSegments go to state 43
|
1424
|
+
|
1425
|
+
state 95
|
1426
|
+
|
1427
|
+
28) inverseAndProgram : INVERSE program _
|
1428
|
+
|
1429
|
+
$default reduce using rule 28 (inverseAndProgram)
|
1430
|
+
|
1431
|
+
|
1432
|
+
state 96
|
1433
|
+
|
1434
|
+
30) inverseChain : openInverseChain program _ inverseChain
|
1435
|
+
|
1436
|
+
OPEN_INVERSE_CHAIN shift, and go to state 68
|
1437
|
+
INVERSE shift, and go to state 69
|
1438
|
+
$default reduce using rule 66 (none)
|
1439
|
+
|
1440
|
+
none go to state 70
|
1441
|
+
openInverseChain go to state 71
|
1442
|
+
inverseChain go to state 110
|
1443
|
+
inverseAndProgram go to state 72
|
1444
|
+
|
1445
|
+
state 97
|
1446
|
+
|
1447
|
+
22) block : openInverse program optInverseAndProgram closeBlock _
|
1448
|
+
|
1449
|
+
$default reduce using rule 22 (block)
|
1450
|
+
|
1451
|
+
|
1452
|
+
state 98
|
1453
|
+
|
1454
|
+
23) openBlock : OPEN_BLOCK helperName exprs hash _ blockParams CLOSE
|
1455
|
+
|
1456
|
+
OPEN_BLOCK_PARAMS shift, and go to state 113
|
1457
|
+
$default reduce using rule 66 (none)
|
1458
|
+
|
1459
|
+
blockParams go to state 111
|
1460
|
+
none go to state 112
|
1461
|
+
|
1462
|
+
state 99
|
1463
|
+
|
1464
|
+
24) openInverse : OPEN_INVERSE helperName exprs hash _ blockParams CLOSE
|
1465
|
+
|
1466
|
+
OPEN_BLOCK_PARAMS shift, and go to state 113
|
1467
|
+
$default reduce using rule 66 (none)
|
1468
|
+
|
1469
|
+
blockParams go to state 114
|
1470
|
+
none go to state 112
|
1471
|
+
|
1472
|
+
state 100
|
1473
|
+
|
1474
|
+
33) mustache : OPEN expr exprs hash _ CLOSE
|
1475
|
+
|
1476
|
+
CLOSE shift, and go to state 115
|
1477
|
+
|
1478
|
+
|
1479
|
+
state 101
|
1480
|
+
|
1481
|
+
34) mustache : OPEN_UNESCAPED expr exprs hash _ CLOSE_UNESCAPED
|
1482
|
+
|
1483
|
+
CLOSE_UNESCAPED shift, and go to state 116
|
1484
|
+
|
1485
|
+
|
1486
|
+
state 102
|
1487
|
+
|
1488
|
+
35) partial : OPEN_PARTIAL expr exprs hash _ CLOSE
|
1489
|
+
|
1490
|
+
CLOSE shift, and go to state 117
|
1491
|
+
|
1492
|
+
|
1493
|
+
state 103
|
1494
|
+
|
1495
|
+
32) closeBlock : OPEN_ENDBLOCK helperName _ CLOSE
|
1496
|
+
|
1497
|
+
CLOSE shift, and go to state 118
|
1498
|
+
|
1499
|
+
|
1500
|
+
state 104
|
1501
|
+
|
1502
|
+
37) openPartialBlock : OPEN_PARTIAL_BLOCK expr exprs hash _ CLOSE
|
1503
|
+
|
1504
|
+
CLOSE shift, and go to state 119
|
1505
|
+
|
1506
|
+
|
1507
|
+
state 105
|
1508
|
+
|
1509
|
+
20) openRawBlock : OPEN_RAW_BLOCK helperName exprs hash CLOSE_RAW_BLOCK _
|
1510
|
+
|
1511
|
+
$default reduce using rule 20 (openRawBlock)
|
1512
|
+
|
1513
|
+
|
1514
|
+
state 106
|
1515
|
+
|
1516
|
+
48) hashSegments : hashSegments hashSegment _
|
1517
|
+
|
1518
|
+
$default reduce using rule 48 (hashSegments)
|
1519
|
+
|
1520
|
+
|
1521
|
+
state 107
|
1522
|
+
|
1523
|
+
49) hashSegment : KEY_ASSIGN expr _
|
1524
|
+
|
1525
|
+
$default reduce using rule 49 (hashSegment)
|
1526
|
+
|
1527
|
+
|
1528
|
+
state 108
|
1529
|
+
|
1530
|
+
44) sexpr : OPEN_SEXPR expr exprs hash _ CLOSE_SEXPR
|
1531
|
+
|
1532
|
+
CLOSE_SEXPR shift, and go to state 120
|
1533
|
+
|
1534
|
+
|
1535
|
+
state 109
|
1536
|
+
|
1537
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN helperName exprs _ hash blockParams CLOSE
|
1538
|
+
|
1539
|
+
KEY_ASSIGN shift, and go to state 88
|
1540
|
+
$default reduce using rule 66 (none)
|
1541
|
+
|
1542
|
+
hash go to state 121
|
1543
|
+
none go to state 85
|
1544
|
+
hashSegments go to state 86
|
1545
|
+
hashSegment go to state 87
|
1546
|
+
|
1547
|
+
state 110
|
1548
|
+
|
1549
|
+
30) inverseChain : openInverseChain program inverseChain _
|
1550
|
+
|
1551
|
+
$default reduce using rule 30 (inverseChain)
|
1552
|
+
|
1553
|
+
|
1554
|
+
state 111
|
1555
|
+
|
1556
|
+
23) openBlock : OPEN_BLOCK helperName exprs hash blockParams _ CLOSE
|
1557
|
+
|
1558
|
+
CLOSE shift, and go to state 122
|
1559
|
+
|
1560
|
+
|
1561
|
+
state 112
|
1562
|
+
|
1563
|
+
50) blockParams : none _
|
1564
|
+
|
1565
|
+
$default reduce using rule 50 (blockParams)
|
1566
|
+
|
1567
|
+
|
1568
|
+
state 113
|
1569
|
+
|
1570
|
+
51) blockParams : OPEN_BLOCK_PARAMS _ idSequence CLOSE_BLOCK_PARAMS
|
1571
|
+
|
1572
|
+
ID shift, and go to state 124
|
1573
|
+
|
1574
|
+
idSequence go to state 123
|
1575
|
+
|
1576
|
+
state 114
|
1577
|
+
|
1578
|
+
24) openInverse : OPEN_INVERSE helperName exprs hash blockParams _ CLOSE
|
1579
|
+
|
1580
|
+
CLOSE shift, and go to state 125
|
1581
|
+
|
1582
|
+
|
1583
|
+
state 115
|
1584
|
+
|
1585
|
+
33) mustache : OPEN expr exprs hash CLOSE _
|
1586
|
+
|
1587
|
+
$default reduce using rule 33 (mustache)
|
1588
|
+
|
1589
|
+
|
1590
|
+
state 116
|
1591
|
+
|
1592
|
+
34) mustache : OPEN_UNESCAPED expr exprs hash CLOSE_UNESCAPED _
|
1593
|
+
|
1594
|
+
$default reduce using rule 34 (mustache)
|
1595
|
+
|
1596
|
+
|
1597
|
+
state 117
|
1598
|
+
|
1599
|
+
35) partial : OPEN_PARTIAL expr exprs hash CLOSE _
|
1600
|
+
|
1601
|
+
$default reduce using rule 35 (partial)
|
1602
|
+
|
1603
|
+
|
1604
|
+
state 118
|
1605
|
+
|
1606
|
+
32) closeBlock : OPEN_ENDBLOCK helperName CLOSE _
|
1607
|
+
|
1608
|
+
$default reduce using rule 32 (closeBlock)
|
1609
|
+
|
1610
|
+
|
1611
|
+
state 119
|
1612
|
+
|
1613
|
+
37) openPartialBlock : OPEN_PARTIAL_BLOCK expr exprs hash CLOSE _
|
1614
|
+
|
1615
|
+
$default reduce using rule 37 (openPartialBlock)
|
1616
|
+
|
1617
|
+
|
1618
|
+
state 120
|
1619
|
+
|
1620
|
+
44) sexpr : OPEN_SEXPR expr exprs hash CLOSE_SEXPR _
|
1621
|
+
|
1622
|
+
$default reduce using rule 44 (sexpr)
|
1623
|
+
|
1624
|
+
|
1625
|
+
state 121
|
1626
|
+
|
1627
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN helperName exprs hash _ blockParams CLOSE
|
1628
|
+
|
1629
|
+
OPEN_BLOCK_PARAMS shift, and go to state 113
|
1630
|
+
$default reduce using rule 66 (none)
|
1631
|
+
|
1632
|
+
blockParams go to state 126
|
1633
|
+
none go to state 112
|
1634
|
+
|
1635
|
+
state 122
|
1636
|
+
|
1637
|
+
23) openBlock : OPEN_BLOCK helperName exprs hash blockParams CLOSE _
|
1638
|
+
|
1639
|
+
$default reduce using rule 23 (openBlock)
|
1640
|
+
|
1641
|
+
|
1642
|
+
state 123
|
1643
|
+
|
1644
|
+
51) blockParams : OPEN_BLOCK_PARAMS idSequence _ CLOSE_BLOCK_PARAMS
|
1645
|
+
53) idSequence : idSequence _ ID
|
1646
|
+
|
1647
|
+
CLOSE_BLOCK_PARAMS shift, and go to state 127
|
1648
|
+
ID shift, and go to state 128
|
1649
|
+
|
1650
|
+
|
1651
|
+
state 124
|
1652
|
+
|
1653
|
+
52) idSequence : ID _
|
1654
|
+
|
1655
|
+
$default reduce using rule 52 (idSequence)
|
1656
|
+
|
1657
|
+
|
1658
|
+
state 125
|
1659
|
+
|
1660
|
+
24) openInverse : OPEN_INVERSE helperName exprs hash blockParams CLOSE _
|
1661
|
+
|
1662
|
+
$default reduce using rule 24 (openInverse)
|
1663
|
+
|
1664
|
+
|
1665
|
+
state 126
|
1666
|
+
|
1667
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN helperName exprs hash blockParams _ CLOSE
|
1668
|
+
|
1669
|
+
CLOSE shift, and go to state 129
|
1670
|
+
|
1671
|
+
|
1672
|
+
state 127
|
1673
|
+
|
1674
|
+
51) blockParams : OPEN_BLOCK_PARAMS idSequence CLOSE_BLOCK_PARAMS _
|
1675
|
+
|
1676
|
+
$default reduce using rule 51 (blockParams)
|
1677
|
+
|
1678
|
+
|
1679
|
+
state 128
|
1680
|
+
|
1681
|
+
53) idSequence : idSequence ID _
|
1682
|
+
|
1683
|
+
$default reduce using rule 53 (idSequence)
|
1684
|
+
|
1685
|
+
|
1686
|
+
state 129
|
1687
|
+
|
1688
|
+
25) openInverseChain : OPEN_INVERSE_CHAIN helperName exprs hash blockParams CLOSE _
|
1689
|
+
|
1690
|
+
$default reduce using rule 25 (openInverseChain)
|
1691
|
+
|