Nonterminals useless in grammar

   iv3


Terminals unused in grammar

   T_COLOR
   T_ERROR


Rules useless in grammar

   42 iv3: '(' iv ')'
   43    | '(' iv iv iv ')'


Rules useless in parser due to conflicts

   28 iv: I_NUMBER
   29   | '-' iv
   30   | F_NUMBER
   31   | '-' fv


State 12 conflicts: 8 shift/reduce
State 42 conflicts: 13 reduce/reduce
State 43 conflicts: 13 reduce/reduce
State 52 conflicts: 13 reduce/reduce
State 53 conflicts: 13 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             | scene_command
   10             | custom_command

   11 light_command: T_ADDLIGHT
   12              | T_ADDLIGHT fv
   13              | T_ADDLIGHT svv

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

   18 $@1: /* empty */

   19 scene_command: T_CLEARCOLOR v4 $@1 T_CLEARCOLOR v3
   20              | T_CLEARCOLOR COLOR
   21              | T_SHOWGIZMO bv
   22              | T_SHOWLIGHT bv

   23 custom_command: T_CUSTOMCMD svv sv

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

   28 iv: I_NUMBER
   29   | '-' iv
   30   | F_NUMBER
   31   | '-' fv

   32 v3: '(' fv ')'
   33   | '(' fv fv fv ')'

   34 v4: '(' fv ')'
   35   | '(' fv fv fv fv ')'

   36 bv: BOOLEAN
   37   | I_NUMBER
   38   | F_NUMBER

   39 svv: STRING_VAR

   40 sv: STRING
   41   | STRING sv


Terminals, with rules where they appear

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


Nonterminals, with rules where they appear

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


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_SHOWGIZMO    shift, and go to state 6
    T_SHOWLIGHT    shift, and go to state 7
    T_CUSTOMCMD    shift, and go to state 8

    sstp_description      go to state 9
    sstp_expression_list  go to state 10
    sstp_expression       go to state 11
    sstp_command_list     go to state 12
    sstp_command          go to state 13
    light_command         go to state 14
    setup_command         go to state 15
    scene_command         go to state 16
    custom_command        go to state 17


state 1

   11 light_command: T_ADDLIGHT .
   12              | T_ADDLIGHT . fv
   13              | T_ADDLIGHT . svv

    F_NUMBER    shift, and go to state 18
    I_NUMBER    shift, and go to state 19
    STRING_VAR  shift, and go to state 20
    '-'         shift, and go to state 21

    $default  reduce using rule 11 (light_command)

    fv   go to state 22
    svv  go to state 23


state 2

   14 setup_command: T_OBJPOSITION . v3

    '('  shift, and go to state 24

    v3  go to state 25


state 3

   15 setup_command: T_OBJLOOKAT . v3

    '('  shift, and go to state 24

    v3  go to state 26


state 4

   16 setup_command: T_OBJCOLOR . v4
   17              | T_OBJCOLOR . COLOR

    COLOR  shift, and go to state 27
    '('    shift, and go to state 28

    v4  go to state 29


state 5

   19 scene_command: T_CLEARCOLOR . v4 $@1 T_CLEARCOLOR v3
   20              | T_CLEARCOLOR . COLOR

    COLOR  shift, and go to state 30
    '('    shift, and go to state 28

    v4  go to state 31


state 6

   21 scene_command: T_SHOWGIZMO . bv

    F_NUMBER  shift, and go to state 32
    I_NUMBER  shift, and go to state 33
    BOOLEAN   shift, and go to state 34

    bv  go to state 35


state 7

   22 scene_command: T_SHOWLIGHT . bv

    F_NUMBER  shift, and go to state 32
    I_NUMBER  shift, and go to state 33
    BOOLEAN   shift, and go to state 34

    bv  go to state 36


state 8

   23 custom_command: T_CUSTOMCMD . svv sv

    STRING_VAR  shift, and go to state 20

    svv  go to state 37


state 9

    0 $accept: sstp_description . T_END

    T_END  shift, and go to state 38


state 10

    1 sstp_description: sstp_expression_list . T_END

    T_END  shift, and go to state 39


state 11

    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_SHOWGIZMO    shift, and go to state 6
    T_SHOWLIGHT    shift, and go to state 7
    T_CUSTOMCMD    shift, and go to state 8

    $default  reduce using rule 2 (sstp_expression_list)

    sstp_expression_list  go to state 40
    sstp_expression       go to state 11
    sstp_command_list     go to state 12
    sstp_command          go to state 13
    light_command         go to state 14
    setup_command         go to state 15
    scene_command         go to state 16
    custom_command        go to state 17


state 12

    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_SHOWGIZMO    shift, and go to state 6
    T_SHOWLIGHT    shift, and go to state 7
    T_CUSTOMCMD    shift, and go to state 8

    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_SHOWGIZMO    [reduce using rule 4 (sstp_expression)]
    T_SHOWLIGHT    [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 41
    light_command   go to state 14
    setup_command   go to state 15
    scene_command   go to state 16
    custom_command  go to state 17


state 13

    5 sstp_command_list: sstp_command .

    $default  reduce using rule 5 (sstp_command_list)


state 14

    7 sstp_command: light_command .

    $default  reduce using rule 7 (sstp_command)


state 15

    8 sstp_command: setup_command .

    $default  reduce using rule 8 (sstp_command)


state 16

    9 sstp_command: scene_command .

    $default  reduce using rule 9 (sstp_command)


state 17

   10 sstp_command: custom_command .

    $default  reduce using rule 10 (sstp_command)


state 18

   24 fv: F_NUMBER .

    $default  reduce using rule 24 (fv)


state 19

   26 fv: I_NUMBER .

    $default  reduce using rule 26 (fv)


state 20

   39 svv: STRING_VAR .

    $default  reduce using rule 39 (svv)


state 21

   25 fv: '-' . fv
   27   | '-' . iv

    F_NUMBER  shift, and go to state 42
    I_NUMBER  shift, and go to state 43
    '-'       shift, and go to state 44

    fv  go to state 45
    iv  go to state 46


state 22

   12 light_command: T_ADDLIGHT fv .

    $default  reduce using rule 12 (light_command)


state 23

   13 light_command: T_ADDLIGHT svv .

    $default  reduce using rule 13 (light_command)


state 24

   32 v3: '(' . fv ')'
   33   | '(' . fv fv fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21

    fv  go to state 47


state 25

   14 setup_command: T_OBJPOSITION v3 .

    $default  reduce using rule 14 (setup_command)


state 26

   15 setup_command: T_OBJLOOKAT v3 .

    $default  reduce using rule 15 (setup_command)


state 27

   17 setup_command: T_OBJCOLOR COLOR .

    $default  reduce using rule 17 (setup_command)


state 28

   34 v4: '(' . fv ')'
   35   | '(' . fv fv fv fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21

    fv  go to state 48


state 29

   16 setup_command: T_OBJCOLOR v4 .

    $default  reduce using rule 16 (setup_command)


state 30

   20 scene_command: T_CLEARCOLOR COLOR .

    $default  reduce using rule 20 (scene_command)


state 31

   19 scene_command: T_CLEARCOLOR v4 . $@1 T_CLEARCOLOR v3

    $default  reduce using rule 18 ($@1)

    $@1  go to state 49


state 32

   38 bv: F_NUMBER .

    $default  reduce using rule 38 (bv)


state 33

   37 bv: I_NUMBER .

    $default  reduce using rule 37 (bv)


state 34

   36 bv: BOOLEAN .

    $default  reduce using rule 36 (bv)


state 35

   21 scene_command: T_SHOWGIZMO bv .

    $default  reduce using rule 21 (scene_command)


state 36

   22 scene_command: T_SHOWLIGHT bv .

    $default  reduce using rule 22 (scene_command)


state 37

   23 custom_command: T_CUSTOMCMD svv . sv

    STRING  shift, and go to state 50

    sv  go to state 51


state 38

    0 $accept: sstp_description T_END .

    $default  accept


state 39

    1 sstp_description: sstp_expression_list T_END .

    $default  reduce using rule 1 (sstp_description)


state 40

    3 sstp_expression_list: sstp_expression sstp_expression_list .

    $default  reduce using rule 3 (sstp_expression_list)


state 41

    6 sstp_command_list: sstp_command_list sstp_command .

    $default  reduce using rule 6 (sstp_command_list)


state 42

   24 fv: F_NUMBER .
   30 iv: F_NUMBER .

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


state 43

   26 fv: I_NUMBER .
   28 iv: I_NUMBER .

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


state 44

   25 fv: '-' . fv
   27   | '-' . iv
   29 iv: '-' . iv
   31   | '-' . fv

    F_NUMBER  shift, and go to state 42
    I_NUMBER  shift, and go to state 43
    '-'       shift, and go to state 44

    fv  go to state 52
    iv  go to state 53


state 45

   25 fv: '-' fv .

    $default  reduce using rule 25 (fv)


state 46

   27 fv: '-' iv .

    $default  reduce using rule 27 (fv)


state 47

   32 v3: '(' fv . ')'
   33   | '(' fv . fv fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21
    ')'       shift, and go to state 54

    fv  go to state 55


state 48

   34 v4: '(' fv . ')'
   35   | '(' fv . fv fv fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21
    ')'       shift, and go to state 56

    fv  go to state 57


state 49

   19 scene_command: T_CLEARCOLOR v4 $@1 . T_CLEARCOLOR v3

    T_CLEARCOLOR  shift, and go to state 58


state 50

   40 sv: STRING .
   41   | STRING . sv

    STRING  shift, and go to state 50

    $default  reduce using rule 40 (sv)

    sv  go to state 59


state 51

   23 custom_command: T_CUSTOMCMD svv sv .

    $default  reduce using rule 23 (custom_command)


state 52

   25 fv: '-' fv .
   31 iv: '-' fv .

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


state 53

   27 fv: '-' iv .
   29 iv: '-' iv .

    T_END          reduce using rule 27 (fv)
    T_END          [reduce using rule 29 (iv)]
    T_ADDLIGHT     reduce using rule 27 (fv)
    T_ADDLIGHT     [reduce using rule 29 (iv)]
    T_OBJPOSITION  reduce using rule 27 (fv)
    T_OBJPOSITION  [reduce using rule 29 (iv)]
    T_OBJLOOKAT    reduce using rule 27 (fv)
    T_OBJLOOKAT    [reduce using rule 29 (iv)]
    T_OBJCOLOR     reduce using rule 27 (fv)
    T_OBJCOLOR     [reduce using rule 29 (iv)]
    T_CLEARCOLOR   reduce using rule 27 (fv)
    T_CLEARCOLOR   [reduce using rule 29 (iv)]
    T_SHOWGIZMO    reduce using rule 27 (fv)
    T_SHOWGIZMO    [reduce using rule 29 (iv)]
    T_SHOWLIGHT    reduce using rule 27 (fv)
    T_SHOWLIGHT    [reduce using rule 29 (iv)]
    T_CUSTOMCMD    reduce using rule 27 (fv)
    T_CUSTOMCMD    [reduce using rule 29 (iv)]
    F_NUMBER       reduce using rule 27 (fv)
    F_NUMBER       [reduce using rule 29 (iv)]
    I_NUMBER       reduce using rule 27 (fv)
    I_NUMBER       [reduce using rule 29 (iv)]
    '-'            reduce using rule 27 (fv)
    '-'            [reduce using rule 29 (iv)]
    ')'            reduce using rule 27 (fv)
    ')'            [reduce using rule 29 (iv)]
    $default       reduce using rule 27 (fv)


state 54

   32 v3: '(' fv ')' .

    $default  reduce using rule 32 (v3)


state 55

   33 v3: '(' fv fv . fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21

    fv  go to state 60


state 56

   34 v4: '(' fv ')' .

    $default  reduce using rule 34 (v4)


state 57

   35 v4: '(' fv fv . fv fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21

    fv  go to state 61


state 58

   19 scene_command: T_CLEARCOLOR v4 $@1 T_CLEARCOLOR . v3

    '('  shift, and go to state 24

    v3  go to state 62


state 59

   41 sv: STRING sv .

    $default  reduce using rule 41 (sv)


state 60

   33 v3: '(' fv fv fv . ')'

    ')'  shift, and go to state 63


state 61

   35 v4: '(' fv fv fv . fv ')'

    F_NUMBER  shift, and go to state 18
    I_NUMBER  shift, and go to state 19
    '-'       shift, and go to state 21

    fv  go to state 64


state 62

   19 scene_command: T_CLEARCOLOR v4 $@1 T_CLEARCOLOR v3 .

    $default  reduce using rule 19 (scene_command)


state 63

   33 v3: '(' fv fv fv ')' .

    $default  reduce using rule 33 (v3)


state 64

   35 v4: '(' fv fv fv fv . ')'

    ')'  shift, and go to state 65


state 65

   35 v4: '(' fv fv fv fv ')' .

    $default  reduce using rule 35 (v4)