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