state 11 contains 3 shift/reduce conflicts

——– Grammar ——–

rule 1 program: opt_termins blocks opt_termins rule 2 blocks: blocks TERMIN block rule 3 blocks: block rule 4 block: top_stmt rule 5 block: data_block rule 6 block: proc_block rule 7 top_stmt: TOP_INST top_options TOP_INST_END rule 8 data_block: DATA_START data_engine_option IDENT data_options TERMIN DATA_SCRIPT DATA_END rule 9 proc_block: PROC_START IDENT proc_options TERMIN proc_stmts TERMIN PROC_END rule 10 top_options: rule 11 top_options: value_or_kv rule 12 top_options: top_options value_or_kv rule 13 value_or_kv: opt_primary rule 14 value_or_kv: kv rule 15 data_engine_option: rule 16 data_engine_option: COLON IDENT rule 17 data_options: rule 18 data_options: options rule 19 proc_options: rule 20 proc_options: options rule 21 options: options key_or_kv rule 22 options: key_or_kv rule 23 key_or_kv: key rule 24 key_or_kv: kv rule 25 key: IDENT rule 26 kv: IDENT ASSIGN opt_primary rule 27 opt_primary: NUMBER rule 28 opt_primary: STRING rule 29 opt_primary: IDENT rule 30 proc_stmts: proc_stmts TERMIN proc_stmt rule 31 proc_stmts: proc_stmt rule 32 proc_stmt: PROC_INST optional_proc_stmt_options rule 33 optional_proc_stmt_options: rule 34 optional_proc_stmt_options: proc_stmt_options rule 35 proc_stmt_options: proc_stmt_options proc_primary rule 36 proc_stmt_options: proc_primary rule 37 proc_primary: IDENT rule 38 proc_primary: NUMBER rule 39 proc_primary: STRING rule 40 proc_primary: P_EQ rule 41 proc_primary: P_MULT rule 42 proc_primary: P_PLUS rule 43 proc_primary: P_MINUS rule 44 proc_primary: P_HAT rule 45 proc_primary: P_IN rule 46 proc_primary: P_PERC rule 47 proc_primary: P_TILDA rule 48 proc_primary: P_COLON rule 49 proc_primary: P_LPAR rule 50 proc_primary: P_RPAR rule 51 proc_primary: P_LSQBR rule 52 proc_primary: P_RSQBR rule 53 proc_primary: P_COMMA rule 54 proc_primary: SEP_SLASH rule 55 opt_termins: rule 56 opt_termins: termins rule 57 termins: termins TERMIN rule 58 termins: TERMIN

——- Symbols ——-

**Nonterminals, with rules where they appear

$start (31)
  on right: 
  on left : 
program (32)
  on right: 
  on left : 1
opt_termins (33)
  on right: 1
  on left : 55 56
blocks (34)
  on right: 1 2
  on left : 2 3
block (35)
  on right: 2 3
  on left : 4 5 6
top_stmt (36)
  on right: 4
  on left : 7
data_block (37)
  on right: 5
  on left : 8
proc_block (38)
  on right: 6
  on left : 9
top_options (39)
  on right: 7 12
  on left : 10 11 12
data_engine_option (40)
  on right: 8
  on left : 15 16
data_options (41)
  on right: 8
  on left : 17 18
proc_options (42)
  on right: 9
  on left : 19 20
proc_stmts (43)
  on right: 9 30
  on left : 30 31
value_or_kv (44)
  on right: 11 12
  on left : 13 14
opt_primary (45)
  on right: 13 26
  on left : 27 28 29
kv (46)
  on right: 14 24
  on left : 26
options (47)
  on right: 18 20 21
  on left : 21 22
key_or_kv (48)
  on right: 21 22
  on left : 23 24
key (49)
  on right: 23
  on left : 25
proc_stmt (50)
  on right: 30 31
  on left : 32
optional_proc_stmt_options (51)
  on right: 32
  on left : 33 34
proc_stmt_options (52)
  on right: 34 35
  on left : 35 36
proc_primary (53)
  on right: 35 36
  on left : 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
termins (54)
  on right: 56 57
  on left : 57 58

**Terminals, with rules where they appear

$end (0) 
error (1) 
TOP_INST (2) 7
TOP_INST_END (3) 7
DATA_START (4) 8
DATA_SCRIPT (5) 8
DATA_END (6) 8
PROC_START (7) 9
PROC_INST (8) 32
PROC_END (9) 9
TERMIN (10) 2 8 9 30 57 58
IDENT (11) 8 9 16 25 26 29 37
ASSIGN (12) 26
COLON (13) 16
NUMBER (14) 27 38
STRING (15) 28 39
P_EQ (16) 40
P_MULT (17) 41
P_PLUS (18) 42
P_MINUS (19) 43
P_HAT (20) 44
P_IN (21) 45
P_PERC (22) 46
P_TILDA (23) 47
P_COLON (24) 48
P_LPAR (25) 49
P_RPAR (26) 50
P_LSQBR (27) 51
P_RSQBR (28) 52
P_COMMA (29) 53
SEP_SLASH (30) 54

——— State ———

state 0

TERMIN        shift, and go to state 4
$default      reduce using rule 55 (opt_termins)

program       go to state 1
opt_termins   go to state 2
termins       go to state 3

state 1

$end          shift, and go to state 5

state 2

 1) program : opt_termins _ blocks opt_termins

TOP_INST      shift, and go to state 11
DATA_START    shift, and go to state 12
PROC_START    shift, and go to state 13

blocks        go to state 6
block         go to state 7
top_stmt      go to state 8
data_block    go to state 9
proc_block    go to state 10

state 3

56) opt_termins : termins _
57) termins : termins _ TERMIN

TERMIN        shift, and go to state 14
$default      reduce using rule 56 (opt_termins)

state 4

58) termins : TERMIN _

$default      reduce using rule 58 (termins)

state 5

$end          shift, and go to state 15

state 6

 1) program : opt_termins blocks _ opt_termins
 2) blocks : blocks _ TERMIN block

TERMIN        shift, and go to state 17
$default      reduce using rule 55 (opt_termins)

opt_termins   go to state 16
termins       go to state 3

state 7

 3) blocks : block _

$default      reduce using rule 3 (blocks)

state 8

 4) block : top_stmt _

$default      reduce using rule 4 (block)

state 9

 5) block : data_block _

$default      reduce using rule 5 (block)

state 10

 6) block : proc_block _

$default      reduce using rule 6 (block)

state 11

 7) top_stmt : TOP_INST _ top_options TOP_INST_END

IDENT         shift, and go to state 22
IDENT         [reduce using rule 10 (top_options)]
NUMBER        shift, and go to state 23
NUMBER        [reduce using rule 10 (top_options)]
STRING        shift, and go to state 24
STRING        [reduce using rule 10 (top_options)]
$default      reduce using rule 10 (top_options)

top_options   go to state 18
value_or_kv   go to state 19
opt_primary   go to state 20
kv            go to state 21

state 12

 8) data_block : DATA_START _ data_engine_option IDENT data_options TERMIN DATA_SCRIPT DATA_END

COLON         shift, and go to state 26
$default      reduce using rule 15 (data_engine_option)

data_engine_option  go to state 25

state 13

 9) proc_block : PROC_START _ IDENT proc_options TERMIN proc_stmts TERMIN PROC_END

IDENT         shift, and go to state 27

state 14

57) termins : termins TERMIN _

$default      reduce using rule 57 (termins)

state 15

$default      accept

state 16

 1) program : opt_termins blocks opt_termins _

$default      reduce using rule 1 (program)

state 17

 2) blocks : blocks TERMIN _ block
58) termins : TERMIN _

TOP_INST      shift, and go to state 11
DATA_START    shift, and go to state 12
PROC_START    shift, and go to state 13
$default      reduce using rule 58 (termins)

block         go to state 28
top_stmt      go to state 8
data_block    go to state 9
proc_block    go to state 10

state 18

 7) top_stmt : TOP_INST top_options _ TOP_INST_END
12) top_options : top_options _ value_or_kv

TOP_INST_END  shift, and go to state 29
IDENT         shift, and go to state 22
NUMBER        shift, and go to state 23
STRING        shift, and go to state 24

value_or_kv   go to state 30
opt_primary   go to state 20
kv            go to state 21

state 19

11) top_options : value_or_kv _

$default      reduce using rule 11 (top_options)

state 20

13) value_or_kv : opt_primary _

$default      reduce using rule 13 (value_or_kv)

state 21

14) value_or_kv : kv _

$default      reduce using rule 14 (value_or_kv)

state 22

26) kv : IDENT _ ASSIGN opt_primary
29) opt_primary : IDENT _

ASSIGN        shift, and go to state 31
$default      reduce using rule 29 (opt_primary)

state 23

27) opt_primary : NUMBER _

$default      reduce using rule 27 (opt_primary)

state 24

28) opt_primary : STRING _

$default      reduce using rule 28 (opt_primary)

state 25

 8) data_block : DATA_START data_engine_option _ IDENT data_options TERMIN DATA_SCRIPT DATA_END

IDENT         shift, and go to state 32

state 26

16) data_engine_option : COLON _ IDENT

IDENT         shift, and go to state 33

state 27

 9) proc_block : PROC_START IDENT _ proc_options TERMIN proc_stmts TERMIN PROC_END

IDENT         shift, and go to state 39
$default      reduce using rule 19 (proc_options)

proc_options  go to state 34
options       go to state 35
key_or_kv     go to state 36
key           go to state 37
kv            go to state 38

state 28

 2) blocks : blocks TERMIN block _

$default      reduce using rule 2 (blocks)

state 29

 7) top_stmt : TOP_INST top_options TOP_INST_END _

$default      reduce using rule 7 (top_stmt)

state 30

12) top_options : top_options value_or_kv _

$default      reduce using rule 12 (top_options)

state 31

26) kv : IDENT ASSIGN _ opt_primary

IDENT         shift, and go to state 41
NUMBER        shift, and go to state 23
STRING        shift, and go to state 24

opt_primary   go to state 40

state 32

 8) data_block : DATA_START data_engine_option IDENT _ data_options TERMIN DATA_SCRIPT DATA_END

IDENT         shift, and go to state 39
$default      reduce using rule 17 (data_options)

data_options  go to state 42
options       go to state 43
key_or_kv     go to state 36
key           go to state 37
kv            go to state 38

state 33

16) data_engine_option : COLON IDENT _

$default      reduce using rule 16 (data_engine_option)

state 34

 9) proc_block : PROC_START IDENT proc_options _ TERMIN proc_stmts TERMIN PROC_END

TERMIN        shift, and go to state 44

state 35

20) proc_options : options _
21) options : options _ key_or_kv

IDENT         shift, and go to state 39
$default      reduce using rule 20 (proc_options)

key_or_kv     go to state 45
key           go to state 37
kv            go to state 38

state 36

22) options : key_or_kv _

$default      reduce using rule 22 (options)

state 37

23) key_or_kv : key _

$default      reduce using rule 23 (key_or_kv)

state 38

24) key_or_kv : kv _

$default      reduce using rule 24 (key_or_kv)

state 39

25) key : IDENT _
26) kv : IDENT _ ASSIGN opt_primary

ASSIGN        shift, and go to state 31
$default      reduce using rule 25 (key)

state 40

26) kv : IDENT ASSIGN opt_primary _

$default      reduce using rule 26 (kv)

state 41

29) opt_primary : IDENT _

$default      reduce using rule 29 (opt_primary)

state 42

 8) data_block : DATA_START data_engine_option IDENT data_options _ TERMIN DATA_SCRIPT DATA_END

TERMIN        shift, and go to state 46

state 43

18) data_options : options _
21) options : options _ key_or_kv

IDENT         shift, and go to state 39
$default      reduce using rule 18 (data_options)

key_or_kv     go to state 45
key           go to state 37
kv            go to state 38

state 44

 9) proc_block : PROC_START IDENT proc_options TERMIN _ proc_stmts TERMIN PROC_END

PROC_INST     shift, and go to state 49

proc_stmts    go to state 47
proc_stmt     go to state 48

state 45

21) options : options key_or_kv _

$default      reduce using rule 21 (options)

state 46

 8) data_block : DATA_START data_engine_option IDENT data_options TERMIN _ DATA_SCRIPT DATA_END

DATA_SCRIPT   shift, and go to state 50

state 47

 9) proc_block : PROC_START IDENT proc_options TERMIN proc_stmts _ TERMIN PROC_END
30) proc_stmts : proc_stmts _ TERMIN proc_stmt

TERMIN        shift, and go to state 51

state 48

31) proc_stmts : proc_stmt _

$default      reduce using rule 31 (proc_stmts)

state 49

32) proc_stmt : PROC_INST _ optional_proc_stmt_options

IDENT         shift, and go to state 55
NUMBER        shift, and go to state 56
STRING        shift, and go to state 57
P_EQ          shift, and go to state 58
P_MULT        shift, and go to state 59
P_PLUS        shift, and go to state 60
P_MINUS       shift, and go to state 61
P_HAT         shift, and go to state 62
P_IN          shift, and go to state 63
P_PERC        shift, and go to state 64
P_TILDA       shift, and go to state 65
P_COLON       shift, and go to state 66
P_LPAR        shift, and go to state 67
P_RPAR        shift, and go to state 68
P_LSQBR       shift, and go to state 69
P_RSQBR       shift, and go to state 70
P_COMMA       shift, and go to state 71
SEP_SLASH     shift, and go to state 72
$default      reduce using rule 33 (optional_proc_stmt_options)

optional_proc_stmt_options  go to state 52
proc_stmt_options  go to state 53
proc_primary  go to state 54

state 50

 8) data_block : DATA_START data_engine_option IDENT data_options TERMIN DATA_SCRIPT _ DATA_END

DATA_END      shift, and go to state 73

state 51

 9) proc_block : PROC_START IDENT proc_options TERMIN proc_stmts TERMIN _ PROC_END
30) proc_stmts : proc_stmts TERMIN _ proc_stmt

PROC_INST     shift, and go to state 49
PROC_END      shift, and go to state 74

proc_stmt     go to state 75

state 52

32) proc_stmt : PROC_INST optional_proc_stmt_options _

$default      reduce using rule 32 (proc_stmt)

state 53

34) optional_proc_stmt_options : proc_stmt_options _
35) proc_stmt_options : proc_stmt_options _ proc_primary

IDENT         shift, and go to state 55
NUMBER        shift, and go to state 56
STRING        shift, and go to state 57
P_EQ          shift, and go to state 58
P_MULT        shift, and go to state 59
P_PLUS        shift, and go to state 60
P_MINUS       shift, and go to state 61
P_HAT         shift, and go to state 62
P_IN          shift, and go to state 63
P_PERC        shift, and go to state 64
P_TILDA       shift, and go to state 65
P_COLON       shift, and go to state 66
P_LPAR        shift, and go to state 67
P_RPAR        shift, and go to state 68
P_LSQBR       shift, and go to state 69
P_RSQBR       shift, and go to state 70
P_COMMA       shift, and go to state 71
SEP_SLASH     shift, and go to state 72
$default      reduce using rule 34 (optional_proc_stmt_options)

proc_primary  go to state 76

state 54

36) proc_stmt_options : proc_primary _

$default      reduce using rule 36 (proc_stmt_options)

state 55

37) proc_primary : IDENT _

$default      reduce using rule 37 (proc_primary)

state 56

38) proc_primary : NUMBER _

$default      reduce using rule 38 (proc_primary)

state 57

39) proc_primary : STRING _

$default      reduce using rule 39 (proc_primary)

state 58

40) proc_primary : P_EQ _

$default      reduce using rule 40 (proc_primary)

state 59

41) proc_primary : P_MULT _

$default      reduce using rule 41 (proc_primary)

state 60

42) proc_primary : P_PLUS _

$default      reduce using rule 42 (proc_primary)

state 61

43) proc_primary : P_MINUS _

$default      reduce using rule 43 (proc_primary)

state 62

44) proc_primary : P_HAT _

$default      reduce using rule 44 (proc_primary)

state 63

45) proc_primary : P_IN _

$default      reduce using rule 45 (proc_primary)

state 64

46) proc_primary : P_PERC _

$default      reduce using rule 46 (proc_primary)

state 65

47) proc_primary : P_TILDA _

$default      reduce using rule 47 (proc_primary)

state 66

48) proc_primary : P_COLON _

$default      reduce using rule 48 (proc_primary)

state 67

49) proc_primary : P_LPAR _

$default      reduce using rule 49 (proc_primary)

state 68

50) proc_primary : P_RPAR _

$default      reduce using rule 50 (proc_primary)

state 69

51) proc_primary : P_LSQBR _

$default      reduce using rule 51 (proc_primary)

state 70

52) proc_primary : P_RSQBR _

$default      reduce using rule 52 (proc_primary)

state 71

53) proc_primary : P_COMMA _

$default      reduce using rule 53 (proc_primary)

state 72

54) proc_primary : SEP_SLASH _

$default      reduce using rule 54 (proc_primary)

state 73

 8) data_block : DATA_START data_engine_option IDENT data_options TERMIN DATA_SCRIPT DATA_END _

$default      reduce using rule 8 (data_block)

state 74

 9) proc_block : PROC_START IDENT proc_options TERMIN proc_stmts TERMIN PROC_END _

$default      reduce using rule 9 (proc_block)

state 75

30) proc_stmts : proc_stmts TERMIN proc_stmt _

$default      reduce using rule 30 (proc_stmts)

state 76

35) proc_stmt_options : proc_stmt_options proc_primary _

$default      reduce using rule 35 (proc_stmt_options)