Terminaux inutilisés dans la grammaire "string (some input, perhaps)" "input" Grammaire 0 $accept: input "end of command" 1 input: command 2 | input "# (pound sign)" command 3 | ε 4 command: parameters 5 | full_expression 6 parameters: parameter 7 | parameters parameter 8 | parameters "request id (-r %d)" 9 parameter: "identifier (command or function name)" ": (colon)" "digits (numbers)" 10 | "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" 11 | "protocol (file://)" "identifier (command or function name)" ": (colon)" "digits (numbers)" 12 | "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" 13 | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" 14 | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" 15 | "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" 16 | "if (condition)" "input (input string or data)" 17 | "opcode" 18 | "address" 19 | "literal (string)" 20 | "truthy (true, on, yes or enabled)" 21 | "falsy (false, off, no or disabled)" 22 | "digits (numbers)" 23 | "identifier (command or function name)" 24 req_id: "request id (-r %d)" 25 | ε 26 full_expression: "eval" req_id "input (input string or data)" 27 | "shell" req_id "input (input string or data)" 28 | "run" req_id 29 | "run" req_id "input (input string or data)" Terminaux, suivis des règles où ils apparaissent "end of command" (0) 0 error (256) "eval" (258) 26 "run" (259) 28 29 "shell" (260) 27 "if (condition)" (261) 16 "truthy (true, on, yes or enabled)" (262) 20 "falsy (false, off, no or disabled)" (263) 21 "string (some input, perhaps)" (264) ": (colon)" (265) 9 10 11 12 ":: (double colon)" (266) 13 14 "# (pound sign followed by digits)" (267) 10 12 14 15 "# (pound sign)" (268) 2 "protocol (file://)" (269) 11 12 "digits (numbers)" (270) 9 10 11 12 14 15 22 "literal (string)" (271) 19 "address" (272) 18 "opcode" (273) 17 "identifier (command or function name)" (274) 9 10 11 12 13 14 15 23 "input (input string or data)" (275) 16 26 27 29 "input" (276) "request id (-r %d)" (277) 8 24 Non-terminaux, suivis des règles où ils apparaissent $accept (23) à gauche: 0 input (24) à gauche: 1 2 3 à droite: 0 2 command (25) à gauche: 4 5 à droite: 1 2 parameters (26) à gauche: 6 7 8 à droite: 4 7 8 parameter (27) à gauche: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 à droite: 6 7 req_id (28) à gauche: 24 25 à droite: 26 27 28 29 full_expression (29) à gauche: 26 27 28 29 à droite: 5 État 0 0 $accept: • input "end of command" "eval" décalage et aller à l'état 1 "run" décalage et aller à l'état 2 "shell" décalage et aller à l'état 3 "if (condition)" décalage et aller à l'état 4 "truthy (true, on, yes or enabled)" décalage et aller à l'état 5 "falsy (false, off, no or disabled)" décalage et aller à l'état 6 "protocol (file://)" décalage et aller à l'état 7 "digits (numbers)" décalage et aller à l'état 8 "literal (string)" décalage et aller à l'état 9 "address" décalage et aller à l'état 10 "opcode" décalage et aller à l'état 11 "identifier (command or function name)" décalage et aller à l'état 12 $défaut réduction par utilisation de la règle 3 (input) input aller à l'état 13 command aller à l'état 14 parameters aller à l'état 15 parameter aller à l'état 16 full_expression aller à l'état 17 État 1 26 full_expression: "eval" • req_id "input (input string or data)" "request id (-r %d)" décalage et aller à l'état 18 $défaut réduction par utilisation de la règle 25 (req_id) req_id aller à l'état 19 État 2 28 full_expression: "run" • req_id 29 | "run" • req_id "input (input string or data)" "request id (-r %d)" décalage et aller à l'état 18 $défaut réduction par utilisation de la règle 25 (req_id) req_id aller à l'état 20 État 3 27 full_expression: "shell" • req_id "input (input string or data)" "request id (-r %d)" décalage et aller à l'état 18 $défaut réduction par utilisation de la règle 25 (req_id) req_id aller à l'état 21 État 4 16 parameter: "if (condition)" • "input (input string or data)" "input (input string or data)" décalage et aller à l'état 22 État 5 20 parameter: "truthy (true, on, yes or enabled)" • $défaut réduction par utilisation de la règle 20 (parameter) État 6 21 parameter: "falsy (false, off, no or disabled)" • $défaut réduction par utilisation de la règle 21 (parameter) État 7 11 parameter: "protocol (file://)" • "identifier (command or function name)" ": (colon)" "digits (numbers)" 12 | "protocol (file://)" • "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" "identifier (command or function name)" décalage et aller à l'état 23 État 8 22 parameter: "digits (numbers)" • $défaut réduction par utilisation de la règle 22 (parameter) État 9 19 parameter: "literal (string)" • $défaut réduction par utilisation de la règle 19 (parameter) État 10 18 parameter: "address" • $défaut réduction par utilisation de la règle 18 (parameter) État 11 17 parameter: "opcode" • $défaut réduction par utilisation de la règle 17 (parameter) État 12 9 parameter: "identifier (command or function name)" • ": (colon)" "digits (numbers)" 10 | "identifier (command or function name)" • ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" 13 | "identifier (command or function name)" • ":: (double colon)" "identifier (command or function name)" 14 | "identifier (command or function name)" • ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" 15 | "identifier (command or function name)" • "# (pound sign followed by digits)" "digits (numbers)" 23 | "identifier (command or function name)" • ": (colon)" décalage et aller à l'état 24 ":: (double colon)" décalage et aller à l'état 25 "# (pound sign followed by digits)" décalage et aller à l'état 26 $défaut réduction par utilisation de la règle 23 (parameter) État 13 0 $accept: input • "end of command" 2 input: input • "# (pound sign)" command "end of command" décalage et aller à l'état 27 "# (pound sign)" décalage et aller à l'état 28 État 14 1 input: command • $défaut réduction par utilisation de la règle 1 (input) État 15 4 command: parameters • 7 parameters: parameters • parameter 8 | parameters • "request id (-r %d)" "if (condition)" décalage et aller à l'état 4 "truthy (true, on, yes or enabled)" décalage et aller à l'état 5 "falsy (false, off, no or disabled)" décalage et aller à l'état 6 "protocol (file://)" décalage et aller à l'état 7 "digits (numbers)" décalage et aller à l'état 8 "literal (string)" décalage et aller à l'état 9 "address" décalage et aller à l'état 10 "opcode" décalage et aller à l'état 11 "identifier (command or function name)" décalage et aller à l'état 12 "request id (-r %d)" décalage et aller à l'état 29 $défaut réduction par utilisation de la règle 4 (command) parameter aller à l'état 30 État 16 6 parameters: parameter • $défaut réduction par utilisation de la règle 6 (parameters) État 17 5 command: full_expression • $défaut réduction par utilisation de la règle 5 (command) État 18 24 req_id: "request id (-r %d)" • $défaut réduction par utilisation de la règle 24 (req_id) État 19 26 full_expression: "eval" req_id • "input (input string or data)" "input (input string or data)" décalage et aller à l'état 31 État 20 28 full_expression: "run" req_id • 29 | "run" req_id • "input (input string or data)" "input (input string or data)" décalage et aller à l'état 32 $défaut réduction par utilisation de la règle 28 (full_expression) État 21 27 full_expression: "shell" req_id • "input (input string or data)" "input (input string or data)" décalage et aller à l'état 33 État 22 16 parameter: "if (condition)" "input (input string or data)" • $défaut réduction par utilisation de la règle 16 (parameter) État 23 11 parameter: "protocol (file://)" "identifier (command or function name)" • ": (colon)" "digits (numbers)" 12 | "protocol (file://)" "identifier (command or function name)" • ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" ": (colon)" décalage et aller à l'état 34 État 24 9 parameter: "identifier (command or function name)" ": (colon)" • "digits (numbers)" 10 | "identifier (command or function name)" ": (colon)" • "# (pound sign followed by digits)" "digits (numbers)" "# (pound sign followed by digits)" décalage et aller à l'état 35 "digits (numbers)" décalage et aller à l'état 36 État 25 13 parameter: "identifier (command or function name)" ":: (double colon)" • "identifier (command or function name)" 14 | "identifier (command or function name)" ":: (double colon)" • "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" "identifier (command or function name)" décalage et aller à l'état 37 État 26 15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" • "digits (numbers)" "digits (numbers)" décalage et aller à l'état 38 État 27 0 $accept: input "end of command" • $défaut accepter État 28 2 input: input "# (pound sign)" • command "eval" décalage et aller à l'état 1 "run" décalage et aller à l'état 2 "shell" décalage et aller à l'état 3 "if (condition)" décalage et aller à l'état 4 "truthy (true, on, yes or enabled)" décalage et aller à l'état 5 "falsy (false, off, no or disabled)" décalage et aller à l'état 6 "protocol (file://)" décalage et aller à l'état 7 "digits (numbers)" décalage et aller à l'état 8 "literal (string)" décalage et aller à l'état 9 "address" décalage et aller à l'état 10 "opcode" décalage et aller à l'état 11 "identifier (command or function name)" décalage et aller à l'état 12 command aller à l'état 39 parameters aller à l'état 15 parameter aller à l'état 16 full_expression aller à l'état 17 État 29 8 parameters: parameters "request id (-r %d)" • $défaut réduction par utilisation de la règle 8 (parameters) État 30 7 parameters: parameters parameter • $défaut réduction par utilisation de la règle 7 (parameters) État 31 26 full_expression: "eval" req_id "input (input string or data)" • $défaut réduction par utilisation de la règle 26 (full_expression) État 32 29 full_expression: "run" req_id "input (input string or data)" • $défaut réduction par utilisation de la règle 29 (full_expression) État 33 27 full_expression: "shell" req_id "input (input string or data)" • $défaut réduction par utilisation de la règle 27 (full_expression) État 34 11 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" • "digits (numbers)" 12 | "protocol (file://)" "identifier (command or function name)" ": (colon)" • "# (pound sign followed by digits)" "digits (numbers)" "# (pound sign followed by digits)" décalage et aller à l'état 40 "digits (numbers)" décalage et aller à l'état 41 État 35 10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" • "digits (numbers)" "digits (numbers)" décalage et aller à l'état 42 État 36 9 parameter: "identifier (command or function name)" ": (colon)" "digits (numbers)" • $défaut réduction par utilisation de la règle 9 (parameter) État 37 13 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" • 14 | "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" • "# (pound sign followed by digits)" "digits (numbers)" "# (pound sign followed by digits)" décalage et aller à l'état 43 $défaut réduction par utilisation de la règle 13 (parameter) État 38 15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" • $défaut réduction par utilisation de la règle 15 (parameter) État 39 2 input: input "# (pound sign)" command • $défaut réduction par utilisation de la règle 2 (input) État 40 12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" • "digits (numbers)" "digits (numbers)" décalage et aller à l'état 44 État 41 11 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "digits (numbers)" • $défaut réduction par utilisation de la règle 11 (parameter) État 42 10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" • $défaut réduction par utilisation de la règle 10 (parameter) État 43 14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" • "digits (numbers)" "digits (numbers)" décalage et aller à l'état 45 État 44 12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" • $défaut réduction par utilisation de la règle 12 (parameter) État 45 14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" • $défaut réduction par utilisation de la règle 14 (parameter)