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