1Terminals unused in grammar
2
3   "string (some input, perhaps)"
4   "input"
5
6
7Grammar
8
9    0 $accept: input $end
10
11    1 input: command
12    2      | input "# (pound sign)" command
13    3      | %empty
14
15    4 command: parameters
16    5        | full_expression
17
18    6 parameters: parameter
19    7           | parameters parameter
20    8           | parameters "request id (-r %d)"
21
22    9 parameter: "identifier (command or function name)" ": (colon)" "digits (numbers)"
23   10          | "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)"
24   11          | "protocol (file://)" "identifier (command or function name)" ": (colon)" "digits (numbers)"
25   12          | "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)"
26   13          | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)"
27   14          | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)"
28   15          | "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)"
29   16          | "if (condition)" "input (input string or data)"
30   17          | "opcode"
31   18          | "address"
32   19          | "literal (string)"
33   20          | "truthy (true, on, yes or enabled)"
34   21          | "falsy (false, off, no or disabled)"
35   22          | "digits (numbers)"
36   23          | "identifier (command or function name)"
37
38   24 req_id: "request id (-r %d)"
39   25       | %empty
40
41   26 full_expression: "eval" req_id "input (input string or data)"
42   27                | "shell" req_id "input (input string or data)"
43   28                | "run" req_id
44   29                | "run" req_id "input (input string or data)"
45
46
47Terminals, with rules where they appear
48
49$end (0) 0
50error (256)
51"eval" (258) 26
52"run" (259) 28 29
53"shell" (260) 27
54"if (condition)" (261) 16
55"truthy (true, on, yes or enabled)" (262) 20
56"falsy (false, off, no or disabled)" (263) 21
57"string (some input, perhaps)" (264)
58": (colon)" (265) 9 10 11 12
59":: (double colon)" (266) 13 14
60"# (pound sign followed by digits)" (267) 10 12 14 15
61"# (pound sign)" (268) 2
62"protocol (file://)" (269) 11 12
63"digits (numbers)" (270) 9 10 11 12 14 15 22
64"literal (string)" (271) 19
65"address" (272) 18
66"opcode" (273) 17
67"identifier (command or function name)" (274) 9 10 11 12 13 14 15 23
68"input (input string or data)" (275) 16 26 27 29
69"input" (276)
70"request id (-r %d)" (277) 8 24
71
72
73Nonterminals, with rules where they appear
74
75$accept (23)
76    on left: 0
77input (24)
78    on left: 1 2 3, on right: 0 2
79command (25)
80    on left: 4 5, on right: 1 2
81parameters (26)
82    on left: 6 7 8, on right: 4 7 8
83parameter (27)
84    on left: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23, on right:
85    6 7
86req_id (28)
87    on left: 24 25, on right: 26 27 28 29
88full_expression (29)
89    on left: 26 27 28 29, on right: 5
90
91
92State 0
93
94    0 $accept: . input $end
95
96    "eval"                                   shift, and go to state 1
97    "run"                                    shift, and go to state 2
98    "shell"                                  shift, and go to state 3
99    "if (condition)"                         shift, and go to state 4
100    "truthy (true, on, yes or enabled)"      shift, and go to state 5
101    "falsy (false, off, no or disabled)"     shift, and go to state 6
102    "protocol (file://)"                     shift, and go to state 7
103    "digits (numbers)"                       shift, and go to state 8
104    "literal (string)"                       shift, and go to state 9
105    "address"                                shift, and go to state 10
106    "opcode"                                 shift, and go to state 11
107    "identifier (command or function name)"  shift, and go to state 12
108
109    $default  reduce using rule 3 (input)
110
111    input            go to state 13
112    command          go to state 14
113    parameters       go to state 15
114    parameter        go to state 16
115    full_expression  go to state 17
116
117
118State 1
119
120   26 full_expression: "eval" . req_id "input (input string or data)"
121
122    "request id (-r %d)"  shift, and go to state 18
123
124    $default  reduce using rule 25 (req_id)
125
126    req_id  go to state 19
127
128
129State 2
130
131   28 full_expression: "run" . req_id
132   29                | "run" . req_id "input (input string or data)"
133
134    "request id (-r %d)"  shift, and go to state 18
135
136    $default  reduce using rule 25 (req_id)
137
138    req_id  go to state 20
139
140
141State 3
142
143   27 full_expression: "shell" . req_id "input (input string or data)"
144
145    "request id (-r %d)"  shift, and go to state 18
146
147    $default  reduce using rule 25 (req_id)
148
149    req_id  go to state 21
150
151
152State 4
153
154   16 parameter: "if (condition)" . "input (input string or data)"
155
156    "input (input string or data)"  shift, and go to state 22
157
158
159State 5
160
161   20 parameter: "truthy (true, on, yes or enabled)" .
162
163    $default  reduce using rule 20 (parameter)
164
165
166State 6
167
168   21 parameter: "falsy (false, off, no or disabled)" .
169
170    $default  reduce using rule 21 (parameter)
171
172
173State 7
174
175   11 parameter: "protocol (file://)" . "identifier (command or function name)" ": (colon)" "digits (numbers)"
176   12          | "protocol (file://)" . "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)"
177
178    "identifier (command or function name)"  shift, and go to state 23
179
180
181State 8
182
183   22 parameter: "digits (numbers)" .
184
185    $default  reduce using rule 22 (parameter)
186
187
188State 9
189
190   19 parameter: "literal (string)" .
191
192    $default  reduce using rule 19 (parameter)
193
194
195State 10
196
197   18 parameter: "address" .
198
199    $default  reduce using rule 18 (parameter)
200
201
202State 11
203
204   17 parameter: "opcode" .
205
206    $default  reduce using rule 17 (parameter)
207
208
209State 12
210
211    9 parameter: "identifier (command or function name)" . ": (colon)" "digits (numbers)"
212   10          | "identifier (command or function name)" . ": (colon)" "# (pound sign followed by digits)" "digits (numbers)"
213   13          | "identifier (command or function name)" . ":: (double colon)" "identifier (command or function name)"
214   14          | "identifier (command or function name)" . ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)"
215   15          | "identifier (command or function name)" . "# (pound sign followed by digits)" "digits (numbers)"
216   23          | "identifier (command or function name)" .
217
218    ": (colon)"                          shift, and go to state 24
219    ":: (double colon)"                  shift, and go to state 25
220    "# (pound sign followed by digits)"  shift, and go to state 26
221
222    $default  reduce using rule 23 (parameter)
223
224
225State 13
226
227    0 $accept: input . $end
228    2 input: input . "# (pound sign)" command
229
230    $end              shift, and go to state 27
231    "# (pound sign)"  shift, and go to state 28
232
233
234State 14
235
236    1 input: command .
237
238    $default  reduce using rule 1 (input)
239
240
241State 15
242
243    4 command: parameters .
244    7 parameters: parameters . parameter
245    8           | parameters . "request id (-r %d)"
246
247    "if (condition)"                         shift, and go to state 4
248    "truthy (true, on, yes or enabled)"      shift, and go to state 5
249    "falsy (false, off, no or disabled)"     shift, and go to state 6
250    "protocol (file://)"                     shift, and go to state 7
251    "digits (numbers)"                       shift, and go to state 8
252    "literal (string)"                       shift, and go to state 9
253    "address"                                shift, and go to state 10
254    "opcode"                                 shift, and go to state 11
255    "identifier (command or function name)"  shift, and go to state 12
256    "request id (-r %d)"                     shift, and go to state 29
257
258    $default  reduce using rule 4 (command)
259
260    parameter  go to state 30
261
262
263State 16
264
265    6 parameters: parameter .
266
267    $default  reduce using rule 6 (parameters)
268
269
270State 17
271
272    5 command: full_expression .
273
274    $default  reduce using rule 5 (command)
275
276
277State 18
278
279   24 req_id: "request id (-r %d)" .
280
281    $default  reduce using rule 24 (req_id)
282
283
284State 19
285
286   26 full_expression: "eval" req_id . "input (input string or data)"
287
288    "input (input string or data)"  shift, and go to state 31
289
290
291State 20
292
293   28 full_expression: "run" req_id .
294   29                | "run" req_id . "input (input string or data)"
295
296    "input (input string or data)"  shift, and go to state 32
297
298    $default  reduce using rule 28 (full_expression)
299
300
301State 21
302
303   27 full_expression: "shell" req_id . "input (input string or data)"
304
305    "input (input string or data)"  shift, and go to state 33
306
307
308State 22
309
310   16 parameter: "if (condition)" "input (input string or data)" .
311
312    $default  reduce using rule 16 (parameter)
313
314
315State 23
316
317   11 parameter: "protocol (file://)" "identifier (command or function name)" . ": (colon)" "digits (numbers)"
318   12          | "protocol (file://)" "identifier (command or function name)" . ": (colon)" "# (pound sign followed by digits)" "digits (numbers)"
319
320    ": (colon)"  shift, and go to state 34
321
322
323State 24
324
325    9 parameter: "identifier (command or function name)" ": (colon)" . "digits (numbers)"
326   10          | "identifier (command or function name)" ": (colon)" . "# (pound sign followed by digits)" "digits (numbers)"
327
328    "# (pound sign followed by digits)"  shift, and go to state 35
329    "digits (numbers)"                   shift, and go to state 36
330
331
332State 25
333
334   13 parameter: "identifier (command or function name)" ":: (double colon)" . "identifier (command or function name)"
335   14          | "identifier (command or function name)" ":: (double colon)" . "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)"
336
337    "identifier (command or function name)"  shift, and go to state 37
338
339
340State 26
341
342   15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" . "digits (numbers)"
343
344    "digits (numbers)"  shift, and go to state 38
345
346
347State 27
348
349    0 $accept: input $end .
350
351    $default  accept
352
353
354State 28
355
356    2 input: input "# (pound sign)" . command
357
358    "eval"                                   shift, and go to state 1
359    "run"                                    shift, and go to state 2
360    "shell"                                  shift, and go to state 3
361    "if (condition)"                         shift, and go to state 4
362    "truthy (true, on, yes or enabled)"      shift, and go to state 5
363    "falsy (false, off, no or disabled)"     shift, and go to state 6
364    "protocol (file://)"                     shift, and go to state 7
365    "digits (numbers)"                       shift, and go to state 8
366    "literal (string)"                       shift, and go to state 9
367    "address"                                shift, and go to state 10
368    "opcode"                                 shift, and go to state 11
369    "identifier (command or function name)"  shift, and go to state 12
370
371    command          go to state 39
372    parameters       go to state 15
373    parameter        go to state 16
374    full_expression  go to state 17
375
376
377State 29
378
379    8 parameters: parameters "request id (-r %d)" .
380
381    $default  reduce using rule 8 (parameters)
382
383
384State 30
385
386    7 parameters: parameters parameter .
387
388    $default  reduce using rule 7 (parameters)
389
390
391State 31
392
393   26 full_expression: "eval" req_id "input (input string or data)" .
394
395    $default  reduce using rule 26 (full_expression)
396
397
398State 32
399
400   29 full_expression: "run" req_id "input (input string or data)" .
401
402    $default  reduce using rule 29 (full_expression)
403
404
405State 33
406
407   27 full_expression: "shell" req_id "input (input string or data)" .
408
409    $default  reduce using rule 27 (full_expression)
410
411
412State 34
413
414   11 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" . "digits (numbers)"
415   12          | "protocol (file://)" "identifier (command or function name)" ": (colon)" . "# (pound sign followed by digits)" "digits (numbers)"
416
417    "# (pound sign followed by digits)"  shift, and go to state 40
418    "digits (numbers)"                   shift, and go to state 41
419
420
421State 35
422
423   10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" . "digits (numbers)"
424
425    "digits (numbers)"  shift, and go to state 42
426
427
428State 36
429
430    9 parameter: "identifier (command or function name)" ": (colon)" "digits (numbers)" .
431
432    $default  reduce using rule 9 (parameter)
433
434
435State 37
436
437   13 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" .
438   14          | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" . "# (pound sign followed by digits)" "digits (numbers)"
439
440    "# (pound sign followed by digits)"  shift, and go to state 43
441
442    $default  reduce using rule 13 (parameter)
443
444
445State 38
446
447   15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" .
448
449    $default  reduce using rule 15 (parameter)
450
451
452State 39
453
454    2 input: input "# (pound sign)" command .
455
456    $default  reduce using rule 2 (input)
457
458
459State 40
460
461   12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" . "digits (numbers)"
462
463    "digits (numbers)"  shift, and go to state 44
464
465
466State 41
467
468   11 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "digits (numbers)" .
469
470    $default  reduce using rule 11 (parameter)
471
472
473State 42
474
475   10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" .
476
477    $default  reduce using rule 10 (parameter)
478
479
480State 43
481
482   14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" . "digits (numbers)"
483
484    "digits (numbers)"  shift, and go to state 45
485
486
487State 44
488
489   12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" .
490
491    $default  reduce using rule 12 (parameter)
492
493
494State 45
495
496   14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" .
497
498    $default  reduce using rule 14 (parameter)
499