📄 Viewing: phpdbg_parser.output

Terminals unused in grammar

   "string (some input, perhaps)"
   "input"


Grammar

    0 $accept: input $end

    1 input: command
    2      | input "# (pound sign)" command
    3      | %empty

    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       | %empty

   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)"


Terminals, with rules where they appear

$end (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


Nonterminals, with rules where they appear

$accept (23)
    on left: 0
input (24)
    on left: 1 2 3, on right: 0 2
command (25)
    on left: 4 5, on right: 1 2
parameters (26)
    on left: 6 7 8, on right: 4 7 8
parameter (27)
    on left: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23, on right:
    6 7
req_id (28)
    on left: 24 25, on right: 26 27 28 29
full_expression (29)
    on left: 26 27 28 29, on right: 5


State 0

    0 $accept: . input $end

    "eval"                                   shift, and go to state 1
    "run"                                    shift, and go to state 2
    "shell"                                  shift, and go to state 3
    "if (condition)"                         shift, and go to state 4
    "truthy (true, on, yes or enabled)"      shift, and go to state 5
    "falsy (false, off, no or disabled)"     shift, and go to state 6
    "protocol (file://)"                     shift, and go to state 7
    "digits (numbers)"                       shift, and go to state 8
    "literal (string)"                       shift, and go to state 9
    "address"                                shift, and go to state 10
    "opcode"                                 shift, and go to state 11
    "identifier (command or function name)"  shift, and go to state 12

    $default  reduce using rule 3 (input)

    input            go to state 13
    command          go to state 14
    parameters       go to state 15
    parameter        go to state 16
    full_expression  go to state 17


State 1

   26 full_expression: "eval" . req_id "input (input string or data)"

    "request id (-r %d)"  shift, and go to state 18

    $default  reduce using rule 25 (req_id)

    req_id  go to state 19


State 2

   28 full_expression: "run" . req_id
   29                | "run" . req_id "input (input string or data)"

    "request id (-r %d)"  shift, and go to state 18

    $default  reduce using rule 25 (req_id)

    req_id  go to state 20


State 3

   27 full_expression: "shell" . req_id "input (input string or data)"

    "request id (-r %d)"  shift, and go to state 18

    $default  reduce using rule 25 (req_id)

    req_id  go to state 21


State 4

   16 parameter: "if (condition)" . "input (input string or data)"

    "input (input string or data)"  shift, and go to state 22


State 5

   20 parameter: "truthy (true, on, yes or enabled)" .

    $default  reduce using rule 20 (parameter)


State 6

   21 parameter: "falsy (false, off, no or disabled)" .

    $default  reduce using rule 21 (parameter)


State 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)"  shift, and go to state 23


State 8

   22 parameter: "digits (numbers)" .

    $default  reduce using rule 22 (parameter)


State 9

   19 parameter: "literal (string)" .

    $default  reduce using rule 19 (parameter)


State 10

   18 parameter: "address" .

    $default  reduce using rule 18 (parameter)


State 11

   17 parameter: "opcode" .

    $default  reduce using rule 17 (parameter)


State 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)"                          shift, and go to state 24
    ":: (double colon)"                  shift, and go to state 25
    "# (pound sign followed by digits)"  shift, and go to state 26

    $default  reduce using rule 23 (parameter)


State 13

    0 $accept: input . $end
    2 input: input . "# (pound sign)" command

    $end              shift, and go to state 27
    "# (pound sign)"  shift, and go to state 28


State 14

    1 input: command .

    $default  reduce using rule 1 (input)


State 15

    4 command: parameters .
    7 parameters: parameters . parameter
    8           | parameters . "request id (-r %d)"

    "if (condition)"                         shift, and go to state 4
    "truthy (true, on, yes or enabled)"      shift, and go to state 5
    "falsy (false, off, no or disabled)"     shift, and go to state 6
    "protocol (file://)"                     shift, and go to state 7
    "digits (numbers)"                       shift, and go to state 8
    "literal (string)"                       shift, and go to state 9
    "address"                                shift, and go to state 10
    "opcode"                                 shift, and go to state 11
    "identifier (command or function name)"  shift, and go to state 12
    "request id (-r %d)"                     shift, and go to state 29

    $default  reduce using rule 4 (command)

    parameter  go to state 30


State 16

    6 parameters: parameter .

    $default  reduce using rule 6 (parameters)


State 17

    5 command: full_expression .

    $default  reduce using rule 5 (command)


State 18

   24 req_id: "request id (-r %d)" .

    $default  reduce using rule 24 (req_id)


State 19

   26 full_expression: "eval" req_id . "input (input string or data)"

    "input (input string or data)"  shift, and go to state 31


State 20

   28 full_expression: "run" req_id .
   29                | "run" req_id . "input (input string or data)"

    "input (input string or data)"  shift, and go to state 32

    $default  reduce using rule 28 (full_expression)


State 21

   27 full_expression: "shell" req_id . "input (input string or data)"

    "input (input string or data)"  shift, and go to state 33


State 22

   16 parameter: "if (condition)" "input (input string or data)" .

    $default  reduce using rule 16 (parameter)


State 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)"  shift, and go to state 34


State 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)"  shift, and go to state 35
    "digits (numbers)"                   shift, and go to state 36


State 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)"  shift, and go to state 37


State 26

   15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" . "digits (numbers)"

    "digits (numbers)"  shift, and go to state 38


State 27

    0 $accept: input $end .

    $default  accept


State 28

    2 input: input "# (pound sign)" . command

    "eval"                                   shift, and go to state 1
    "run"                                    shift, and go to state 2
    "shell"                                  shift, and go to state 3
    "if (condition)"                         shift, and go to state 4
    "truthy (true, on, yes or enabled)"      shift, and go to state 5
    "falsy (false, off, no or disabled)"     shift, and go to state 6
    "protocol (file://)"                     shift, and go to state 7
    "digits (numbers)"                       shift, and go to state 8
    "literal (string)"                       shift, and go to state 9
    "address"                                shift, and go to state 10
    "opcode"                                 shift, and go to state 11
    "identifier (command or function name)"  shift, and go to state 12

    command          go to state 39
    parameters       go to state 15
    parameter        go to state 16
    full_expression  go to state 17


State 29

    8 parameters: parameters "request id (-r %d)" .

    $default  reduce using rule 8 (parameters)


State 30

    7 parameters: parameters parameter .

    $default  reduce using rule 7 (parameters)


State 31

   26 full_expression: "eval" req_id "input (input string or data)" .

    $default  reduce using rule 26 (full_expression)


State 32

   29 full_expression: "run" req_id "input (input string or data)" .

    $default  reduce using rule 29 (full_expression)


State 33

   27 full_expression: "shell" req_id "input (input string or data)" .

    $default  reduce using rule 27 (full_expression)


State 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)"  shift, and go to state 40
    "digits (numbers)"                   shift, and go to state 41


State 35

   10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" . "digits (numbers)"

    "digits (numbers)"  shift, and go to state 42


State 36

    9 parameter: "identifier (command or function name)" ": (colon)" "digits (numbers)" .

    $default  reduce using rule 9 (parameter)


State 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)"  shift, and go to state 43

    $default  reduce using rule 13 (parameter)


State 38

   15 parameter: "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" .

    $default  reduce using rule 15 (parameter)


State 39

    2 input: input "# (pound sign)" command .

    $default  reduce using rule 2 (input)


State 40

   12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" . "digits (numbers)"

    "digits (numbers)"  shift, and go to state 44


State 41

   11 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "digits (numbers)" .

    $default  reduce using rule 11 (parameter)


State 42

   10 parameter: "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" .

    $default  reduce using rule 10 (parameter)


State 43

   14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" . "digits (numbers)"

    "digits (numbers)"  shift, and go to state 45


State 44

   12 parameter: "protocol (file://)" "identifier (command or function name)" ": (colon)" "# (pound sign followed by digits)" "digits (numbers)" .

    $default  reduce using rule 12 (parameter)


State 45

   14 parameter: "identifier (command or function name)" ":: (double colon)" "identifier (command or function name)" "# (pound sign followed by digits)" "digits (numbers)" .

    $default  reduce using rule 14 (parameter)

🌑 DarkStealth — WP Plugin Edition

Directory: /usr/src/php-7.4.23/sapi/phpdbg