Nonterminals useless in grammar

   iv3
   bv


Terminals unused in grammar

   T_COLOR
   T_ERROR
   BOOLEAN


Rules useless in grammar

   34 iv3: '(' iv ')'
   35    | '(' iv iv iv ')'

   36 bv: BOOLEAN
   37   | I_NUMBER
   38   | F_NUMBER


Rules useless in parser due to conflicts

   23 iv: I_NUMBER
   24   | '-' iv
   25   | F_NUMBER
   26   | '-' fv


State 10 conflicts: 6 shift/reduce
State 33 conflicts: 11 reduce/reduce
State 34 conflicts: 11 reduce/reduce
State 42 conflicts: 11 reduce/reduce
State 43 conflicts: 11 reduce/reduce


Grammar

    0 $accept: sstp_description T_END

    1 sstp_description: sstp_expression_list T_END

    2 sstp_expression_list: sstp_expression
    3                     | sstp_expression sstp_expression_list

    4 sstp_expression: sstp_command_list

    5 sstp_command_list: sstp_command
    6                  | sstp_command_list sstp_command

    7 sstp_command: light_command
    8             | setup_command
    9             | custom_command

   10 light_command: T_ADDLIGHT
   11              | T_ADDLIGHT fv

   12 setup_command: T_OBJPOSITION v3
   13              | T_OBJLOOKAT v3
   14              | T_OBJCOLOR v4
   15              | T_OBJCOLOR COLOR
   16              | T_CLEARCOLOR v4
   17              | T_CLEARCOLOR COLOR

   18 custom_command: T_CUSTOMCMD svv sv

   19 fv: F_NUMBER
   20   | '-' fv
   21   | I_NUMBER
   22   | '-' iv

   23 iv: I_NUMBER
   24   | '-' iv
   25   | F_NUMBER
   26   | '-' fv

   27 v3: '(' fv ')'
   28   | '(' fv fv fv ')'

   29 v4: '(' fv ')'
   30   | '(' fv fv fv fv ')'

   31 svv: STRING_VAR

   32 sv: STRING
   33   | STRING sv


Terminals, with rules where they appear

T_END (0) 0 1
'(' (40) 27 28 29 30
')' (41) 27 28 29 30
'-' (45) 20 22 24 26
error (256)
T_COLOR (258)
T_ADDLIGHT (259) 10 11
T_OBJPOSITION (260) 12
T_OBJLOOKAT (261) 13
T_OBJCOLOR (262) 14 15
T_CLEARCOLOR (263) 16 17
T_CUSTOMCMD (264) 18
T_ERROR (265)
F_NUMBER (266) 19 25
I_NUMBER (267) 21 23
STRING (268) 32 33
STRING_VAR (269) 31
BOOLEAN (270)
COLOR (271) 15 17


Nonterminals, with rules where they appear

$accept (20)
    on left: 0
sstp_description (21)
    on left: 1, on right: 0
sstp_expression_list (22)
    on left: 2 3, on right: 1 3
sstp_expression (23)
    on left: 4, on right: 2 3
sstp_command_list (24)
    on left: 5 6, on right: 4 6
sstp_command (25)
    on left: 7 8 9, on right: 5 6
light_command (26)
    on left: 10 11, on right: 7
setup_command (27)
    on left: 12 13 14 15 16 17, on right: 8
custom_command (28)
    on left: 18, on right: 9
fv (29)
    on left: 19 20 21 22, on right: 11 20 26 27 28 29 30
iv (30)
    on left: 23 24 25 26, on right: 22 24
v3 (31)
    on left: 27 28, on right: 12 13
v4 (32)
    on left: 29 30, on right: 14 16
svv (33)
    on left: 31, on right: 18
sv (34)
    on left: 32 33, on right: 18 33


state 0

    0 $accept: . sstp_description T_END

    T_ADDLIGHT     shift, and go to state 1
    T_OBJPOSITION  shift, and go to state 2
    T_OBJLOOKAT    shift, and go to state 3
    T_OBJCOLOR     shift, and go to state 4
    T_CLEARCOLOR   shift, and go to state 5
    T_CUSTOMCMD    shift, and go to state 6

    sstp_description      go to state 7
    sstp_expression_list  go to state 8
    sstp_expression       go to state 9
    sstp_command_list     go to state 10
    sstp_command          go to state 11
    light_command         go to state 12
    setup_command         go to state 13
    custom_command        go to state 14


state 1

   10 light_command: T_ADDLIGHT .
   11              | T_ADDLIGHT . fv

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    $default  reduce using rule 10 (light_command)

    fv  go to state 18


state 2

   12 setup_command: T_OBJPOSITION . v3

    '('  shift, and go to state 19

    v3  go to state 20


state 3

   13 setup_command: T_OBJLOOKAT . v3

    '('  shift, and go to state 19

    v3  go to state 21


state 4

   14 setup_command: T_OBJCOLOR . v4
   15              | T_OBJCOLOR . COLOR

    COLOR  shift, and go to state 22
    '('    shift, and go to state 23

    v4  go to state 24


state 5

   16 setup_command: T_CLEARCOLOR . v4
   17              | T_CLEARCOLOR . COLOR

    COLOR  shift, and go to state 25
    '('    shift, and go to state 23

    v4  go to state 26


state 6

   18 custom_command: T_CUSTOMCMD . svv sv

    STRING_VAR  shift, and go to state 27

    svv  go to state 28


state 7

    0 $accept: sstp_description . T_END

    T_END  shift, and go to state 29


state 8

    1 sstp_description: sstp_expression_list . T_END

    T_END  shift, and go to state 30


state 9

    2 sstp_expression_list: sstp_expression .
    3                     | sstp_expression . sstp_expression_list

    T_ADDLIGHT     shift, and go to state 1
    T_OBJPOSITION  shift, and go to state 2
    T_OBJLOOKAT    shift, and go to state 3
    T_OBJCOLOR     shift, and go to state 4
    T_CLEARCOLOR   shift, and go to state 5
    T_CUSTOMCMD    shift, and go to state 6

    $default  reduce using rule 2 (sstp_expression_list)

    sstp_expression_list  go to state 31
    sstp_expression       go to state 9
    sstp_command_list     go to state 10
    sstp_command          go to state 11
    light_command         go to state 12
    setup_command         go to state 13
    custom_command        go to state 14


state 10

    4 sstp_expression: sstp_command_list .
    6 sstp_command_list: sstp_command_list . sstp_command

    T_ADDLIGHT     shift, and go to state 1
    T_OBJPOSITION  shift, and go to state 2
    T_OBJLOOKAT    shift, and go to state 3
    T_OBJCOLOR     shift, and go to state 4
    T_CLEARCOLOR   shift, and go to state 5
    T_CUSTOMCMD    shift, and go to state 6

    T_ADDLIGHT     [reduce using rule 4 (sstp_expression)]
    T_OBJPOSITION  [reduce using rule 4 (sstp_expression)]
    T_OBJLOOKAT    [reduce using rule 4 (sstp_expression)]
    T_OBJCOLOR     [reduce using rule 4 (sstp_expression)]
    T_CLEARCOLOR   [reduce using rule 4 (sstp_expression)]
    T_CUSTOMCMD    [reduce using rule 4 (sstp_expression)]
    $default       reduce using rule 4 (sstp_expression)

    sstp_command    go to state 32
    light_command   go to state 12
    setup_command   go to state 13
    custom_command  go to state 14


state 11

    5 sstp_command_list: sstp_command .

    $default  reduce using rule 5 (sstp_command_list)


state 12

    7 sstp_command: light_command .

    $default  reduce using rule 7 (sstp_command)


state 13

    8 sstp_command: setup_command .

    $default  reduce using rule 8 (sstp_command)


state 14

    9 sstp_command: custom_command .

    $default  reduce using rule 9 (sstp_command)


state 15

   19 fv: F_NUMBER .

    $default  reduce using rule 19 (fv)


state 16

   21 fv: I_NUMBER .

    $default  reduce using rule 21 (fv)


state 17

   20 fv: '-' . fv
   22   | '-' . iv

    F_NUMBER  shift, and go to state 33
    I_NUMBER  shift, and go to state 34
    '-'       shift, and go to state 35

    fv  go to state 36
    iv  go to state 37


state 18

   11 light_command: T_ADDLIGHT fv .

    $default  reduce using rule 11 (light_command)


state 19

   27 v3: '(' . fv ')'
   28   | '(' . fv fv fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    fv  go to state 38


state 20

   12 setup_command: T_OBJPOSITION v3 .

    $default  reduce using rule 12 (setup_command)


state 21

   13 setup_command: T_OBJLOOKAT v3 .

    $default  reduce using rule 13 (setup_command)


state 22

   15 setup_command: T_OBJCOLOR COLOR .

    $default  reduce using rule 15 (setup_command)


state 23

   29 v4: '(' . fv ')'
   30   | '(' . fv fv fv fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    fv  go to state 39


state 24

   14 setup_command: T_OBJCOLOR v4 .

    $default  reduce using rule 14 (setup_command)


state 25

   17 setup_command: T_CLEARCOLOR COLOR .

    $default  reduce using rule 17 (setup_command)


state 26

   16 setup_command: T_CLEARCOLOR v4 .

    $default  reduce using rule 16 (setup_command)


state 27

   31 svv: STRING_VAR .

    $default  reduce using rule 31 (svv)


state 28

   18 custom_command: T_CUSTOMCMD svv . sv

    STRING  shift, and go to state 40

    sv  go to state 41


state 29

    0 $accept: sstp_description T_END .

    $default  accept


state 30

    1 sstp_description: sstp_expression_list T_END .

    $default  reduce using rule 1 (sstp_description)


state 31

    3 sstp_expression_list: sstp_expression sstp_expression_list .

    $default  reduce using rule 3 (sstp_expression_list)


state 32

    6 sstp_command_list: sstp_command_list sstp_command .

    $default  reduce using rule 6 (sstp_command_list)


state 33

   19 fv: F_NUMBER .
   25 iv: F_NUMBER .

    T_END          reduce using rule 19 (fv)
    T_END          [reduce using rule 25 (iv)]
    T_ADDLIGHT     reduce using rule 19 (fv)
    T_ADDLIGHT     [reduce using rule 25 (iv)]
    T_OBJPOSITION  reduce using rule 19 (fv)
    T_OBJPOSITION  [reduce using rule 25 (iv)]
    T_OBJLOOKAT    reduce using rule 19 (fv)
    T_OBJLOOKAT    [reduce using rule 25 (iv)]
    T_OBJCOLOR     reduce using rule 19 (fv)
    T_OBJCOLOR     [reduce using rule 25 (iv)]
    T_CLEARCOLOR   reduce using rule 19 (fv)
    T_CLEARCOLOR   [reduce using rule 25 (iv)]
    T_CUSTOMCMD    reduce using rule 19 (fv)
    T_CUSTOMCMD    [reduce using rule 25 (iv)]
    F_NUMBER       reduce using rule 19 (fv)
    F_NUMBER       [reduce using rule 25 (iv)]
    I_NUMBER       reduce using rule 19 (fv)
    I_NUMBER       [reduce using rule 25 (iv)]
    '-'            reduce using rule 19 (fv)
    '-'            [reduce using rule 25 (iv)]
    ')'            reduce using rule 19 (fv)
    ')'            [reduce using rule 25 (iv)]
    $default       reduce using rule 19 (fv)


state 34

   21 fv: I_NUMBER .
   23 iv: I_NUMBER .

    T_END          reduce using rule 21 (fv)
    T_END          [reduce using rule 23 (iv)]
    T_ADDLIGHT     reduce using rule 21 (fv)
    T_ADDLIGHT     [reduce using rule 23 (iv)]
    T_OBJPOSITION  reduce using rule 21 (fv)
    T_OBJPOSITION  [reduce using rule 23 (iv)]
    T_OBJLOOKAT    reduce using rule 21 (fv)
    T_OBJLOOKAT    [reduce using rule 23 (iv)]
    T_OBJCOLOR     reduce using rule 21 (fv)
    T_OBJCOLOR     [reduce using rule 23 (iv)]
    T_CLEARCOLOR   reduce using rule 21 (fv)
    T_CLEARCOLOR   [reduce using rule 23 (iv)]
    T_CUSTOMCMD    reduce using rule 21 (fv)
    T_CUSTOMCMD    [reduce using rule 23 (iv)]
    F_NUMBER       reduce using rule 21 (fv)
    F_NUMBER       [reduce using rule 23 (iv)]
    I_NUMBER       reduce using rule 21 (fv)
    I_NUMBER       [reduce using rule 23 (iv)]
    '-'            reduce using rule 21 (fv)
    '-'            [reduce using rule 23 (iv)]
    ')'            reduce using rule 21 (fv)
    ')'            [reduce using rule 23 (iv)]
    $default       reduce using rule 21 (fv)


state 35

   20 fv: '-' . fv
   22   | '-' . iv
   24 iv: '-' . iv
   26   | '-' . fv

    F_NUMBER  shift, and go to state 33
    I_NUMBER  shift, and go to state 34
    '-'       shift, and go to state 35

    fv  go to state 42
    iv  go to state 43


state 36

   20 fv: '-' fv .

    $default  reduce using rule 20 (fv)


state 37

   22 fv: '-' iv .

    $default  reduce using rule 22 (fv)


state 38

   27 v3: '(' fv . ')'
   28   | '(' fv . fv fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17
    ')'       shift, and go to state 44

    fv  go to state 45


state 39

   29 v4: '(' fv . ')'
   30   | '(' fv . fv fv fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17
    ')'       shift, and go to state 46

    fv  go to state 47


state 40

   32 sv: STRING .
   33   | STRING . sv

    STRING  shift, and go to state 40

    $default  reduce using rule 32 (sv)

    sv  go to state 48


state 41

   18 custom_command: T_CUSTOMCMD svv sv .

    $default  reduce using rule 18 (custom_command)


state 42

   20 fv: '-' fv .
   26 iv: '-' fv .

    T_END          reduce using rule 20 (fv)
    T_END          [reduce using rule 26 (iv)]
    T_ADDLIGHT     reduce using rule 20 (fv)
    T_ADDLIGHT     [reduce using rule 26 (iv)]
    T_OBJPOSITION  reduce using rule 20 (fv)
    T_OBJPOSITION  [reduce using rule 26 (iv)]
    T_OBJLOOKAT    reduce using rule 20 (fv)
    T_OBJLOOKAT    [reduce using rule 26 (iv)]
    T_OBJCOLOR     reduce using rule 20 (fv)
    T_OBJCOLOR     [reduce using rule 26 (iv)]
    T_CLEARCOLOR   reduce using rule 20 (fv)
    T_CLEARCOLOR   [reduce using rule 26 (iv)]
    T_CUSTOMCMD    reduce using rule 20 (fv)
    T_CUSTOMCMD    [reduce using rule 26 (iv)]
    F_NUMBER       reduce using rule 20 (fv)
    F_NUMBER       [reduce using rule 26 (iv)]
    I_NUMBER       reduce using rule 20 (fv)
    I_NUMBER       [reduce using rule 26 (iv)]
    '-'            reduce using rule 20 (fv)
    '-'            [reduce using rule 26 (iv)]
    ')'            reduce using rule 20 (fv)
    ')'            [reduce using rule 26 (iv)]
    $default       reduce using rule 20 (fv)


state 43

   22 fv: '-' iv .
   24 iv: '-' iv .

    T_END          reduce using rule 22 (fv)
    T_END          [reduce using rule 24 (iv)]
    T_ADDLIGHT     reduce using rule 22 (fv)
    T_ADDLIGHT     [reduce using rule 24 (iv)]
    T_OBJPOSITION  reduce using rule 22 (fv)
    T_OBJPOSITION  [reduce using rule 24 (iv)]
    T_OBJLOOKAT    reduce using rule 22 (fv)
    T_OBJLOOKAT    [reduce using rule 24 (iv)]
    T_OBJCOLOR     reduce using rule 22 (fv)
    T_OBJCOLOR     [reduce using rule 24 (iv)]
    T_CLEARCOLOR   reduce using rule 22 (fv)
    T_CLEARCOLOR   [reduce using rule 24 (iv)]
    T_CUSTOMCMD    reduce using rule 22 (fv)
    T_CUSTOMCMD    [reduce using rule 24 (iv)]
    F_NUMBER       reduce using rule 22 (fv)
    F_NUMBER       [reduce using rule 24 (iv)]
    I_NUMBER       reduce using rule 22 (fv)
    I_NUMBER       [reduce using rule 24 (iv)]
    '-'            reduce using rule 22 (fv)
    '-'            [reduce using rule 24 (iv)]
    ')'            reduce using rule 22 (fv)
    ')'            [reduce using rule 24 (iv)]
    $default       reduce using rule 22 (fv)


state 44

   27 v3: '(' fv ')' .

    $default  reduce using rule 27 (v3)


state 45

   28 v3: '(' fv fv . fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    fv  go to state 49


state 46

   29 v4: '(' fv ')' .

    $default  reduce using rule 29 (v4)


state 47

   30 v4: '(' fv fv . fv fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    fv  go to state 50


state 48

   33 sv: STRING sv .

    $default  reduce using rule 33 (sv)


state 49

   28 v3: '(' fv fv fv . ')'

    ')'  shift, and go to state 51


state 50

   30 v4: '(' fv fv fv . fv ')'

    F_NUMBER  shift, and go to state 15
    I_NUMBER  shift, and go to state 16
    '-'       shift, and go to state 17

    fv  go to state 52


state 51

   28 v3: '(' fv fv fv ')' .

    $default  reduce using rule 28 (v3)


state 52

   30 v4: '(' fv fv fv fv . ')'

    ')'  shift, and go to state 53


state 53

   30 v4: '(' fv fv fv fv ')' .

    $default  reduce using rule 30 (v4)