GNU Bison XML Automaton Report

input grammar: src/parse-gram.y

Table of Contents

Reductions

Nonterminals useless in grammar

Terminals unused in grammar

"="

Rules useless in grammar

Conflicts

Grammar

0 $acceptinput $end 1 inputprologue_declarations "%%" grammar epilogue.opt 2 prologue_declarations → %empty 3 | prologue_declarations prologue_declaration 4 prologue_declarationgrammar_declaration 5 | "%{...%}" 6 | "%<flag>" 7 | "%define" variable value 8 | "%defines" 9 | "%defines" "string" 10 | "%error-verbose" 11 | "%expect" "integer literal" 12 | "%expect-rr" "integer literal" 13 | "%file-prefix" "string" 14 | "%glr-parser" 15 | "%initial-action" "{...}" 16 | "%language" "string" 17 | "%name-prefix" "string" 18 | "%no-lines" 19 | "%nondeterministic-parser" 20 | "%output" "string" 21 $@1 → %empty 22 prologue_declaration"%param" $@1 params 23 | "%pure-parser" 24 | "%require" "string" 25 | "%skeleton" "string" 26 | "%token-table" 27 | "%verbose" 28 | "%yacc" 29 | error ";" 30 | ";" 31 paramsparams "{...}" 32 | "{...}" 33 grammar_declarationsymbol_declaration 34 | "%start" symbol 35 | code_props_type "{...}" generic_symlist 36 | "%default-prec" 37 | "%no-default-prec" 38 | "%code" "{...}" 39 | "%code" "identifier" "{...}" 40 code_props_type"%destructor" 41 | "%printer" 42 union_name → %empty 43 | "identifier" 44 grammar_declaration"%union" union_name "{...}" 45 $@2 → %empty 46 symbol_declaration"%nterm" $@2 nterm_decls 47 $@3 → %empty 48 symbol_declaration"%token" $@3 token_decls 49 | "%type" symbol_decls 50 | precedence_declarator token_decls_for_prec 51 precedence_declarator"%left" 52 | "%right" 53 | "%nonassoc" 54 | "%precedence" 55 tag.opt → %empty 56 | "<tag>" 57 generic_symlistgeneric_symlist_item 58 | generic_symlist generic_symlist_item 59 generic_symlist_itemsymbol 60 | tag 61 tag"<tag>" 62 | "<*>" 63 | "<>" 64 nterm_declstoken_decls 65 token_declstoken_decl.1 66 | "<tag>" token_decl.1 67 | token_decls "<tag>" token_decl.1 68 token_decl.1token_decl 69 | token_decl.1 token_decl 70 token_declid int.opt alias 71 int.opt → %empty 72 | "integer literal" 73 alias → %empty 74 | string_as_id 75 | "translatable string" 76 token_decls_for_prectoken_decl_for_prec.1 77 | "<tag>" token_decl_for_prec.1 78 | token_decls_for_prec "<tag>" token_decl_for_prec.1 79 token_decl_for_prec.1token_decl_for_prec 80 | token_decl_for_prec.1 token_decl_for_prec 81 token_decl_for_precid int.opt 82 | string_as_id 83 symbol_declssymbol_decl.1 84 | "<tag>" symbol_decl.1 85 | symbol_decls "<tag>" symbol_decl.1 86 symbol_decl.1symbol 87 | symbol_decl.1 symbol 88 grammarrules_or_grammar_declaration 89 | grammar rules_or_grammar_declaration 90 rules_or_grammar_declarationrules 91 | grammar_declaration ";" 92 | error ";" 93 $@4 → %empty 94 rulesid_colon named_ref.opt $@4 ":" rhses.1 95 rhses.1rhs 96 | rhses.1 "|" rhs 97 | rhses.1 ";" 98 rhs → %empty 99 | rhs symbol named_ref.opt 100 | rhs tag.opt "{...}" named_ref.opt 101 | rhs "%?{...}" 102 | rhs "%empty" 103 | rhs "%prec" symbol 104 | rhs "%dprec" "integer literal" 105 | rhs "%merge" "<tag>" 106 | rhs "%expect" "integer literal" 107 | rhs "%expect-rr" "integer literal" 108 named_ref.opt → %empty 109 | "[identifier]" 110 variable"identifier" 111 value → %empty 112 | "identifier" 113 | "string" 114 | "{...}" 115 id"identifier" 116 | "character literal" 117 id_colon"identifier:" 118 symbolid 119 | string_as_id 120 string_as_id"string" 121 epilogue.opt → %empty 122 | "%%" "epilogue"

Terminals, with rules where they appear

$end (0) 0 error (256) 29 92 "string" (258) 9 13 16 17 20 24 25 113 120 "translatable string" (259) 75 "%token" (260) 48 "%nterm" (261) 46 "%type" (262) 49 "%destructor" (263) 40 "%printer" (264) 41 "%left" (265) 51 "%right" (266) 52 "%nonassoc" (267) 53 "%precedence" (268) 54 "%prec" (269) 103 "%dprec" (270) 104 "%merge" (271) 105 "%code" (272) 38 39 "%default-prec" (273) 36 "%define" (274) 7 "%defines" (275) 8 9 "%error-verbose" (276) 10 "%expect" (277) 11 106 "%expect-rr" (278) 12 107 "%<flag>" (279) 6 "%file-prefix" (280) 13 "%glr-parser" (281) 14 "%initial-action" (282) 15 "%language" (283) 16 "%name-prefix" (284) 17 "%no-default-prec" (285) 37 "%no-lines" (286) 18 "%nondeterministic-parser" (287) 19 "%output" (288) 20 "%pure-parser" (289) 23 "%require" (290) 24 "%skeleton" (291) 25 "%start" (292) 34 "%token-table" (293) 26 "%verbose" (294) 27 "%yacc" (295) 28 "{...}" (296) 15 31 32 35 38 39 44 100 114 "%?{...}" (297) 101 "[identifier]" (298) 109 "character literal" (299) 116 ":" (300) 94 "epilogue" (301) 122 "=" (302) "identifier" (303) 39 43 110 112 115 "identifier:" (304) 117 "%%" (305) 1 122 "|" (306) 96 "%{...%}" (307) 5 ";" (308) 29 30 91 92 97 "<tag>" (309) 56 61 66 67 77 78 84 85 105 "<*>" (310) 62 "<>" (311) 63 "integer literal" (312) 11 12 72 104 106 107 "%param" (313) 22 "%union" (314) 44 "%empty" (315) 102

Nonterminals, with rules where they appear

$accept (61) on left: 0 input (62) on left: 1 on right: 0 prologue_declarations (63) on left: 2 3 on right: 1 3 prologue_declaration (64) on left: 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 on right: 3 $@1 (65) on left: 21 on right: 22 params (66) on left: 31 32 on right: 22 31 grammar_declaration (67) on left: 33 34 35 36 37 38 39 44 on right: 4 91 code_props_type (68) on left: 40 41 on right: 35 union_name (69) on left: 42 43 on right: 44 symbol_declaration (70) on left: 46 48 49 50 on right: 33 $@2 (71) on left: 45 on right: 46 $@3 (72) on left: 47 on right: 48 precedence_declarator (73) on left: 51 52 53 54 on right: 50 tag.opt (74) on left: 55 56 on right: 100 generic_symlist (75) on left: 57 58 on right: 35 58 generic_symlist_item (76) on left: 59 60 on right: 57 58 tag (77) on left: 61 62 63 on right: 60 nterm_decls (78) on left: 64 on right: 46 token_decls (79) on left: 65 66 67 on right: 48 64 67 token_decl.1 (80) on left: 68 69 on right: 65 66 67 69 token_decl (81) on left: 70 on right: 68 69 int.opt (82) on left: 71 72 on right: 70 81 alias (83) on left: 73 74 75 on right: 70 token_decls_for_prec (84) on left: 76 77 78 on right: 50 78 token_decl_for_prec.1 (85) on left: 79 80 on right: 76 77 78 80 token_decl_for_prec (86) on left: 81 82 on right: 79 80 symbol_decls (87) on left: 83 84 85 on right: 49 85 symbol_decl.1 (88) on left: 86 87 on right: 83 84 85 87 grammar (89) on left: 88 89 on right: 1 89 rules_or_grammar_declaration (90) on left: 90 91 92 on right: 88 89 rules (91) on left: 94 on right: 90 $@4 (92) on left: 93 on right: 94 rhses.1 (93) on left: 95 96 97 on right: 94 96 97 rhs (94) on left: 98 99 100 101 102 103 104 105 106 107 on right: 95 96 99 100 101 102 103 104 105 106 107 named_ref.opt (95) on left: 108 109 on right: 94 99 100 variable (96) on left: 110 on right: 7 value (97) on left: 111 112 113 114 on right: 7 id (98) on left: 115 116 on right: 70 81 118 id_colon (99) on left: 117 on right: 94 symbol (100) on left: 118 119 on right: 34 59 86 87 99 103 string_as_id (101) on left: 120 on right: 74 82 119 epilogue.opt (102) on left: 121 122 on right: 1

Automaton

state 0

0 $accept. input $end 1 input. prologue_declarations "%%" grammar epilogue.opt 2 prologue_declarations. %empty 3 | . prologue_declarations prologue_declaration $default reduce using rule 2 (prologue_declarations) input go to state 1 prologue_declarations go to state 2

state 1

0 $acceptinput . $end $end shift, and go to state 3

state 2

1 inputprologue_declarations . "%%" grammar epilogue.opt 3 prologue_declarationsprologue_declarations . prologue_declaration 4 prologue_declaration. grammar_declaration 5 | . "%{...%}" 6 | . "%<flag>" 7 | . "%define" variable value 8 | . "%defines" 9 | . "%defines" "string" 10 | . "%error-verbose" 11 | . "%expect" "integer literal" 12 | . "%expect-rr" "integer literal" 13 | . "%file-prefix" "string" 14 | . "%glr-parser" 15 | . "%initial-action" "{...}" 16 | . "%language" "string" 17 | . "%name-prefix" "string" 18 | . "%no-lines" 19 | . "%nondeterministic-parser" 20 | . "%output" "string" 22 | . "%param" $@1 params 23 | . "%pure-parser" 24 | . "%require" "string" 25 | . "%skeleton" "string" 26 | . "%token-table" 27 | . "%verbose" 28 | . "%yacc" 29 | . error ";" 30 | . ";" 33 grammar_declaration. symbol_declaration 34 | . "%start" symbol 35 | . code_props_type "{...}" generic_symlist 36 | . "%default-prec" 37 | . "%no-default-prec" 38 | . "%code" "{...}" 39 | . "%code" "identifier" "{...}" 40 code_props_type. "%destructor" 41 | . "%printer" 44 grammar_declaration. "%union" union_name "{...}" 46 symbol_declaration. "%nterm" $@2 nterm_decls 48 | . "%token" $@3 token_decls 49 | . "%type" symbol_decls 50 | . precedence_declarator token_decls_for_prec 51 precedence_declarator. "%left" 52 | . "%right" 53 | . "%nonassoc" 54 | . "%precedence" error shift, and go to state 4 "%token" shift, and go to state 5 "%nterm" shift, and go to state 6 "%type" shift, and go to state 7 "%destructor" shift, and go to state 8 "%printer" shift, and go to state 9 "%left" shift, and go to state 10 "%right" shift, and go to state 11 "%nonassoc" shift, and go to state 12 "%precedence" shift, and go to state 13 "%code" shift, and go to state 14 "%default-prec" shift, and go to state 15 "%define" shift, and go to state 16 "%defines" shift, and go to state 17 "%error-verbose" shift, and go to state 18 "%expect" shift, and go to state 19 "%expect-rr" shift, and go to state 20 "%<flag>" shift, and go to state 21 "%file-prefix" shift, and go to state 22 "%glr-parser" shift, and go to state 23 "%initial-action" shift, and go to state 24 "%language" shift, and go to state 25 "%name-prefix" shift, and go to state 26 "%no-default-prec" shift, and go to state 27 "%no-lines" shift, and go to state 28 "%nondeterministic-parser" shift, and go to state 29 "%output" shift, and go to state 30 "%pure-parser" shift, and go to state 31 "%require" shift, and go to state 32 "%skeleton" shift, and go to state 33 "%start" shift, and go to state 34 "%token-table" shift, and go to state 35 "%verbose" shift, and go to state 36 "%yacc" shift, and go to state 37 "%%" shift, and go to state 38 "%{...%}" shift, and go to state 39 ";" shift, and go to state 40 "%param" shift, and go to state 41 "%union" shift, and go to state 42 prologue_declaration go to state 43 grammar_declaration go to state 44 code_props_type go to state 45 symbol_declaration go to state 46 precedence_declarator go to state 47

state 3

0 $acceptinput $end . $default accept

state 4

29 prologue_declarationerror . ";" ";" shift, and go to state 48

state 5

47 $@3. %empty 48 symbol_declaration"%token" . $@3 token_decls $default reduce using rule 47 ($@3) $@3 go to state 49

state 6

45 $@2. %empty 46 symbol_declaration"%nterm" . $@2 nterm_decls $default reduce using rule 45 ($@2) $@2 go to state 50

state 7

49 symbol_declaration"%type" . symbol_decls 83 symbol_decls. symbol_decl.1 84 | . "<tag>" symbol_decl.1 85 | . symbol_decls "<tag>" symbol_decl.1 86 symbol_decl.1. symbol 87 | . symbol_decl.1 symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 54 symbol_decls go to state 55 symbol_decl.1 go to state 56 id go to state 57 symbol go to state 58 string_as_id go to state 59

state 8

40 code_props_type"%destructor" . $default reduce using rule 40 (code_props_type)

state 9

41 code_props_type"%printer" . $default reduce using rule 41 (code_props_type)

state 10

51 precedence_declarator"%left" . $default reduce using rule 51 (precedence_declarator)

state 11

52 precedence_declarator"%right" . $default reduce using rule 52 (precedence_declarator)

state 12

53 precedence_declarator"%nonassoc" . $default reduce using rule 53 (precedence_declarator)

state 13

54 precedence_declarator"%precedence" . $default reduce using rule 54 (precedence_declarator)

state 14

38 grammar_declaration"%code" . "{...}" 39 | "%code" . "identifier" "{...}" "{...}" shift, and go to state 60 "identifier" shift, and go to state 61

state 15

36 grammar_declaration"%default-prec" . $default reduce using rule 36 (grammar_declaration)

state 16

7 prologue_declaration"%define" . variable value 110 variable. "identifier" "identifier" shift, and go to state 62 variable go to state 63

state 17

8 prologue_declaration"%defines" . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 9 | "%defines" . "string" "string" shift, and go to state 64 $default reduce using rule 8 (prologue_declaration)

state 18

10 prologue_declaration"%error-verbose" . $default reduce using rule 10 (prologue_declaration)

state 19

11 prologue_declaration"%expect" . "integer literal" "integer literal" shift, and go to state 65

state 20

12 prologue_declaration"%expect-rr" . "integer literal" "integer literal" shift, and go to state 66

state 21

6 prologue_declaration"%<flag>" . $default reduce using rule 6 (prologue_declaration)

state 22

13 prologue_declaration"%file-prefix" . "string" "string" shift, and go to state 67

state 23

14 prologue_declaration"%glr-parser" . $default reduce using rule 14 (prologue_declaration)

state 24

15 prologue_declaration"%initial-action" . "{...}" "{...}" shift, and go to state 68

state 25

16 prologue_declaration"%language" . "string" "string" shift, and go to state 69

state 26

17 prologue_declaration"%name-prefix" . "string" "string" shift, and go to state 70

state 27

37 grammar_declaration"%no-default-prec" . $default reduce using rule 37 (grammar_declaration)

state 28

18 prologue_declaration"%no-lines" . $default reduce using rule 18 (prologue_declaration)

state 29

19 prologue_declaration"%nondeterministic-parser" . $default reduce using rule 19 (prologue_declaration)

state 30

20 prologue_declaration"%output" . "string" "string" shift, and go to state 71

state 31

23 prologue_declaration"%pure-parser" . $default reduce using rule 23 (prologue_declaration)

state 32

24 prologue_declaration"%require" . "string" "string" shift, and go to state 72

state 33

25 prologue_declaration"%skeleton" . "string" "string" shift, and go to state 73

state 34

34 grammar_declaration"%start" . symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 id go to state 57 symbol go to state 74 string_as_id go to state 59

state 35

26 prologue_declaration"%token-table" . $default reduce using rule 26 (prologue_declaration)

state 36

27 prologue_declaration"%verbose" . $default reduce using rule 27 (prologue_declaration)

state 37

28 prologue_declaration"%yacc" . $default reduce using rule 28 (prologue_declaration)

state 38

1 inputprologue_declarations "%%" . grammar epilogue.opt 33 grammar_declaration. symbol_declaration 34 | . "%start" symbol 35 | . code_props_type "{...}" generic_symlist 36 | . "%default-prec" 37 | . "%no-default-prec" 38 | . "%code" "{...}" 39 | . "%code" "identifier" "{...}" 40 code_props_type. "%destructor" 41 | . "%printer" 44 grammar_declaration. "%union" union_name "{...}" 46 symbol_declaration. "%nterm" $@2 nterm_decls 48 | . "%token" $@3 token_decls 49 | . "%type" symbol_decls 50 | . precedence_declarator token_decls_for_prec 51 precedence_declarator. "%left" 52 | . "%right" 53 | . "%nonassoc" 54 | . "%precedence" 88 grammar. rules_or_grammar_declaration 89 | . grammar rules_or_grammar_declaration 90 rules_or_grammar_declaration. rules 91 | . grammar_declaration ";" 92 | . error ";" 94 rules. id_colon named_ref.opt $@4 ":" rhses.1 117 id_colon. "identifier:" error shift, and go to state 75 "%token" shift, and go to state 5 "%nterm" shift, and go to state 6 "%type" shift, and go to state 7 "%destructor" shift, and go to state 8 "%printer" shift, and go to state 9 "%left" shift, and go to state 10 "%right" shift, and go to state 11 "%nonassoc" shift, and go to state 12 "%precedence" shift, and go to state 13 "%code" shift, and go to state 14 "%default-prec" shift, and go to state 15 "%no-default-prec" shift, and go to state 27 "%start" shift, and go to state 34 "identifier:" shift, and go to state 76 "%union" shift, and go to state 42 grammar_declaration go to state 77 code_props_type go to state 45 symbol_declaration go to state 46 precedence_declarator go to state 47 grammar go to state 78 rules_or_grammar_declaration go to state 79 rules go to state 80 id_colon go to state 81

state 39

5 prologue_declaration"%{...%}" . $default reduce using rule 5 (prologue_declaration)

state 40

30 prologue_declaration";" . $default reduce using rule 30 (prologue_declaration)

state 41

21 $@1. %empty 22 prologue_declaration"%param" . $@1 params $default reduce using rule 21 ($@1) $@1 go to state 82

state 42

42 union_name. %empty ["{...}"] 43 | . "identifier" 44 grammar_declaration"%union" . union_name "{...}" "identifier" shift, and go to state 83 $default reduce using rule 42 (union_name) union_name go to state 84

state 43

3 prologue_declarationsprologue_declarations prologue_declaration . $default reduce using rule 3 (prologue_declarations)

state 44

4 prologue_declarationgrammar_declaration . $default reduce using rule 4 (prologue_declaration)

state 45

35 grammar_declarationcode_props_type . "{...}" generic_symlist "{...}" shift, and go to state 85

state 46

33 grammar_declarationsymbol_declaration . $default reduce using rule 33 (grammar_declaration)

state 47

50 symbol_declarationprecedence_declarator . token_decls_for_prec 76 token_decls_for_prec. token_decl_for_prec.1 77 | . "<tag>" token_decl_for_prec.1 78 | . token_decls_for_prec "<tag>" token_decl_for_prec.1 79 token_decl_for_prec.1. token_decl_for_prec 80 | . token_decl_for_prec.1 token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 86 token_decls_for_prec go to state 87 token_decl_for_prec.1 go to state 88 token_decl_for_prec go to state 89 id go to state 90 string_as_id go to state 91

state 48

29 prologue_declarationerror ";" . $default reduce using rule 29 (prologue_declaration)

state 49

48 symbol_declaration"%token" $@3 . token_decls 65 token_decls. token_decl.1 66 | . "<tag>" token_decl.1 67 | . token_decls "<tag>" token_decl.1 68 token_decl.1. token_decl 69 | . token_decl.1 token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 92 token_decls go to state 93 token_decl.1 go to state 94 token_decl go to state 95 id go to state 96

state 50

46 symbol_declaration"%nterm" $@2 . nterm_decls 64 nterm_decls. token_decls 65 token_decls. token_decl.1 66 | . "<tag>" token_decl.1 67 | . token_decls "<tag>" token_decl.1 68 token_decl.1. token_decl 69 | . token_decl.1 token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 92 nterm_decls go to state 97 token_decls go to state 98 token_decl.1 go to state 94 token_decl go to state 95 id go to state 96

state 51

120 string_as_id"string" . $default reduce using rule 120 (string_as_id)

state 52

116 id"character literal" . $default reduce using rule 116 (id)

state 53

115 id"identifier" . $default reduce using rule 115 (id)

state 54

84 symbol_decls"<tag>" . symbol_decl.1 86 symbol_decl.1. symbol 87 | . symbol_decl.1 symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 symbol_decl.1 go to state 99 id go to state 57 symbol go to state 58 string_as_id go to state 59

state 55

49 symbol_declaration"%type" symbol_decls . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 85 symbol_declssymbol_decls . "<tag>" symbol_decl.1 "<tag>" shift, and go to state 100 $default reduce using rule 49 (symbol_declaration)

state 56

83 symbol_declssymbol_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 87 symbol_decl.1symbol_decl.1 . symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 83 (symbol_decls) id go to state 57 symbol go to state 101 string_as_id go to state 59

state 57

118 symbolid . $default reduce using rule 118 (symbol)

state 58

86 symbol_decl.1symbol . $default reduce using rule 86 (symbol_decl.1)

state 59

119 symbolstring_as_id . $default reduce using rule 119 (symbol)

state 60

38 grammar_declaration"%code" "{...}" . $default reduce using rule 38 (grammar_declaration)

state 61

39 grammar_declaration"%code" "identifier" . "{...}" "{...}" shift, and go to state 102

state 62

110 variable"identifier" . $default reduce using rule 110 (variable)

state 63

7 prologue_declaration"%define" variable . value 111 value. %empty [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 112 | . "identifier" 113 | . "string" 114 | . "{...}" "string" shift, and go to state 103 "{...}" shift, and go to state 104 "identifier" shift, and go to state 105 $default reduce using rule 111 (value) value go to state 106

state 64

9 prologue_declaration"%defines" "string" . $default reduce using rule 9 (prologue_declaration)

state 65

11 prologue_declaration"%expect" "integer literal" . $default reduce using rule 11 (prologue_declaration)

state 66

12 prologue_declaration"%expect-rr" "integer literal" . $default reduce using rule 12 (prologue_declaration)

state 67

13 prologue_declaration"%file-prefix" "string" . $default reduce using rule 13 (prologue_declaration)

state 68

15 prologue_declaration"%initial-action" "{...}" . $default reduce using rule 15 (prologue_declaration)

state 69

16 prologue_declaration"%language" "string" . $default reduce using rule 16 (prologue_declaration)

state 70

17 prologue_declaration"%name-prefix" "string" . $default reduce using rule 17 (prologue_declaration)

state 71

20 prologue_declaration"%output" "string" . $default reduce using rule 20 (prologue_declaration)

state 72

24 prologue_declaration"%require" "string" . $default reduce using rule 24 (prologue_declaration)

state 73

25 prologue_declaration"%skeleton" "string" . $default reduce using rule 25 (prologue_declaration)

state 74

34 grammar_declaration"%start" symbol . $default reduce using rule 34 (grammar_declaration)

state 75

92 rules_or_grammar_declarationerror . ";" ";" shift, and go to state 107

state 76

117 id_colon"identifier:" . $default reduce using rule 117 (id_colon)

state 77

91 rules_or_grammar_declarationgrammar_declaration . ";" ";" shift, and go to state 108

state 78

1 inputprologue_declarations "%%" grammar . epilogue.opt 33 grammar_declaration. symbol_declaration 34 | . "%start" symbol 35 | . code_props_type "{...}" generic_symlist 36 | . "%default-prec" 37 | . "%no-default-prec" 38 | . "%code" "{...}" 39 | . "%code" "identifier" "{...}" 40 code_props_type. "%destructor" 41 | . "%printer" 44 grammar_declaration. "%union" union_name "{...}" 46 symbol_declaration. "%nterm" $@2 nterm_decls 48 | . "%token" $@3 token_decls 49 | . "%type" symbol_decls 50 | . precedence_declarator token_decls_for_prec 51 precedence_declarator. "%left" 52 | . "%right" 53 | . "%nonassoc" 54 | . "%precedence" 89 grammargrammar . rules_or_grammar_declaration 90 rules_or_grammar_declaration. rules 91 | . grammar_declaration ";" 92 | . error ";" 94 rules. id_colon named_ref.opt $@4 ":" rhses.1 117 id_colon. "identifier:" 121 epilogue.opt. %empty [$end] 122 | . "%%" "epilogue" error shift, and go to state 75 "%token" shift, and go to state 5 "%nterm" shift, and go to state 6 "%type" shift, and go to state 7 "%destructor" shift, and go to state 8 "%printer" shift, and go to state 9 "%left" shift, and go to state 10 "%right" shift, and go to state 11 "%nonassoc" shift, and go to state 12 "%precedence" shift, and go to state 13 "%code" shift, and go to state 14 "%default-prec" shift, and go to state 15 "%no-default-prec" shift, and go to state 27 "%start" shift, and go to state 34 "identifier:" shift, and go to state 76 "%%" shift, and go to state 109 "%union" shift, and go to state 42 $end reduce using rule 121 (epilogue.opt) grammar_declaration go to state 77 code_props_type go to state 45 symbol_declaration go to state 46 precedence_declarator go to state 47 rules_or_grammar_declaration go to state 110 rules go to state 80 id_colon go to state 81 epilogue.opt go to state 111

state 79

88 grammarrules_or_grammar_declaration . $default reduce using rule 88 (grammar)

state 80

90 rules_or_grammar_declarationrules . $default reduce using rule 90 (rules_or_grammar_declaration)

state 81

94 rulesid_colon . named_ref.opt $@4 ":" rhses.1 108 named_ref.opt. %empty [":"] 109 | . "[identifier]" "[identifier]" shift, and go to state 112 $default reduce using rule 108 (named_ref.opt) named_ref.opt go to state 113

state 82

22 prologue_declaration"%param" $@1 . params 31 params. params "{...}" 32 | . "{...}" "{...}" shift, and go to state 114 params go to state 115

state 83

43 union_name"identifier" . $default reduce using rule 43 (union_name)

state 84

44 grammar_declaration"%union" union_name . "{...}" "{...}" shift, and go to state 116

state 85

35 grammar_declarationcode_props_type "{...}" . generic_symlist 57 generic_symlist. generic_symlist_item 58 | . generic_symlist generic_symlist_item 59 generic_symlist_item. symbol 60 | . tag 61 tag. "<tag>" 62 | . "<*>" 63 | . "<>" 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 117 "<*>" shift, and go to state 118 "<>" shift, and go to state 119 generic_symlist go to state 120 generic_symlist_item go to state 121 tag go to state 122 id go to state 57 symbol go to state 123 string_as_id go to state 59

state 86

77 token_decls_for_prec"<tag>" . token_decl_for_prec.1 79 token_decl_for_prec.1. token_decl_for_prec 80 | . token_decl_for_prec.1 token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 token_decl_for_prec.1 go to state 124 token_decl_for_prec go to state 89 id go to state 90 string_as_id go to state 91

state 87

50 symbol_declarationprecedence_declarator token_decls_for_prec . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 78 token_decls_for_prectoken_decls_for_prec . "<tag>" token_decl_for_prec.1 "<tag>" shift, and go to state 125 $default reduce using rule 50 (symbol_declaration)

state 88

76 token_decls_for_prectoken_decl_for_prec.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 80 token_decl_for_prec.1token_decl_for_prec.1 . token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 76 (token_decls_for_prec) token_decl_for_prec go to state 126 id go to state 90 string_as_id go to state 91

state 89

79 token_decl_for_prec.1token_decl_for_prec . $default reduce using rule 79 (token_decl_for_prec.1)

state 90

71 int.opt. %empty [error, "string", "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "character literal", "identifier", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 72 | . "integer literal" 81 token_decl_for_precid . int.opt "integer literal" shift, and go to state 127 $default reduce using rule 71 (int.opt) int.opt go to state 128

state 91

82 token_decl_for_precstring_as_id . $default reduce using rule 82 (token_decl_for_prec)

state 92

66 token_decls"<tag>" . token_decl.1 68 token_decl.1. token_decl 69 | . token_decl.1 token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 token_decl.1 go to state 129 token_decl go to state 95 id go to state 96

state 93

48 symbol_declaration"%token" $@3 token_decls . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 67 token_declstoken_decls . "<tag>" token_decl.1 "<tag>" shift, and go to state 130 $default reduce using rule 48 (symbol_declaration)

state 94

65 token_declstoken_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 69 token_decl.1token_decl.1 . token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 65 (token_decls) token_decl go to state 131 id go to state 96

state 95

68 token_decl.1token_decl . $default reduce using rule 68 (token_decl.1)

state 96

70 token_declid . int.opt alias 71 int.opt. %empty [error, "string", "translatable string", "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "character literal", "identifier", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 72 | . "integer literal" "integer literal" shift, and go to state 127 $default reduce using rule 71 (int.opt) int.opt go to state 132

state 97

46 symbol_declaration"%nterm" $@2 nterm_decls . $default reduce using rule 46 (symbol_declaration)

state 98

64 nterm_declstoken_decls . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 67 token_declstoken_decls . "<tag>" token_decl.1 "<tag>" shift, and go to state 130 $default reduce using rule 64 (nterm_decls)

state 99

84 symbol_decls"<tag>" symbol_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 87 symbol_decl.1symbol_decl.1 . symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 84 (symbol_decls) id go to state 57 symbol go to state 101 string_as_id go to state 59

state 100

85 symbol_declssymbol_decls "<tag>" . symbol_decl.1 86 symbol_decl.1. symbol 87 | . symbol_decl.1 symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 symbol_decl.1 go to state 133 id go to state 57 symbol go to state 58 string_as_id go to state 59

state 101

87 symbol_decl.1symbol_decl.1 symbol . $default reduce using rule 87 (symbol_decl.1)

state 102

39 grammar_declaration"%code" "identifier" "{...}" . $default reduce using rule 39 (grammar_declaration)

state 103

113 value"string" . $default reduce using rule 113 (value)

state 104

114 value"{...}" . $default reduce using rule 114 (value)

state 105

112 value"identifier" . $default reduce using rule 112 (value)

state 106

7 prologue_declaration"%define" variable value . $default reduce using rule 7 (prologue_declaration)

state 107

92 rules_or_grammar_declarationerror ";" . $default reduce using rule 92 (rules_or_grammar_declaration)

state 108

91 rules_or_grammar_declarationgrammar_declaration ";" . $default reduce using rule 91 (rules_or_grammar_declaration)

state 109

122 epilogue.opt"%%" . "epilogue" "epilogue" shift, and go to state 134

state 110

89 grammargrammar rules_or_grammar_declaration . $default reduce using rule 89 (grammar)

state 111

1 inputprologue_declarations "%%" grammar epilogue.opt . $default reduce using rule 1 (input)

state 112

109 named_ref.opt"[identifier]" . $default reduce using rule 109 (named_ref.opt)

state 113

93 $@4. %empty 94 rulesid_colon named_ref.opt . $@4 ":" rhses.1 $default reduce using rule 93 ($@4) $@4 go to state 135

state 114

32 params"{...}" . $default reduce using rule 32 (params)

state 115

22 prologue_declaration"%param" $@1 params . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 31 paramsparams . "{...}" "{...}" shift, and go to state 136 $default reduce using rule 22 (prologue_declaration)

state 116

44 grammar_declaration"%union" union_name "{...}" . $default reduce using rule 44 (grammar_declaration)

state 117

61 tag"<tag>" . $default reduce using rule 61 (tag)

state 118

62 tag"<*>" . $default reduce using rule 62 (tag)

state 119

63 tag"<>" . $default reduce using rule 63 (tag)

state 120

35 grammar_declarationcode_props_type "{...}" generic_symlist . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "%param", "%union"] 58 generic_symlistgeneric_symlist . generic_symlist_item 59 generic_symlist_item. symbol 60 | . tag 61 tag. "<tag>" 62 | . "<*>" 63 | . "<>" 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 117 "<*>" shift, and go to state 118 "<>" shift, and go to state 119 $default reduce using rule 35 (grammar_declaration) generic_symlist_item go to state 137 tag go to state 122 id go to state 57 symbol go to state 123 string_as_id go to state 59

state 121

57 generic_symlistgeneric_symlist_item . $default reduce using rule 57 (generic_symlist)

state 122

60 generic_symlist_itemtag . $default reduce using rule 60 (generic_symlist_item)

state 123

59 generic_symlist_itemsymbol . $default reduce using rule 59 (generic_symlist_item)

state 124

77 token_decls_for_prec"<tag>" token_decl_for_prec.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 80 token_decl_for_prec.1token_decl_for_prec.1 . token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 77 (token_decls_for_prec) token_decl_for_prec go to state 126 id go to state 90 string_as_id go to state 91

state 125

78 token_decls_for_prectoken_decls_for_prec "<tag>" . token_decl_for_prec.1 79 token_decl_for_prec.1. token_decl_for_prec 80 | . token_decl_for_prec.1 token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 token_decl_for_prec.1 go to state 138 token_decl_for_prec go to state 89 id go to state 90 string_as_id go to state 91

state 126

80 token_decl_for_prec.1token_decl_for_prec.1 token_decl_for_prec . $default reduce using rule 80 (token_decl_for_prec.1)

state 127

72 int.opt"integer literal" . $default reduce using rule 72 (int.opt)

state 128

81 token_decl_for_precid int.opt . $default reduce using rule 81 (token_decl_for_prec)

state 129

66 token_decls"<tag>" token_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 69 token_decl.1token_decl.1 . token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 66 (token_decls) token_decl go to state 131 id go to state 96

state 130

67 token_declstoken_decls "<tag>" . token_decl.1 68 token_decl.1. token_decl 69 | . token_decl.1 token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 token_decl.1 go to state 139 token_decl go to state 95 id go to state 96

state 131

69 token_decl.1token_decl.1 token_decl . $default reduce using rule 69 (token_decl.1)

state 132

70 token_declid int.opt . alias 73 alias. %empty [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "character literal", "identifier", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 74 | . string_as_id 75 | . "translatable string" 120 string_as_id. "string" "string" shift, and go to state 51 "translatable string" shift, and go to state 140 $default reduce using rule 73 (alias) alias go to state 141 string_as_id go to state 142

state 133

85 symbol_declssymbol_decls "<tag>" symbol_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 87 symbol_decl.1symbol_decl.1 . symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 85 (symbol_decls) id go to state 57 symbol go to state 101 string_as_id go to state 59

state 134

122 epilogue.opt"%%" "epilogue" . $default reduce using rule 122 (epilogue.opt)

state 135

94 rulesid_colon named_ref.opt $@4 . ":" rhses.1 ":" shift, and go to state 143

state 136

31 paramsparams "{...}" . $default reduce using rule 31 (params)

state 137

58 generic_symlistgeneric_symlist generic_symlist_item . $default reduce using rule 58 (generic_symlist)

state 138

78 token_decls_for_prectoken_decls_for_prec "<tag>" token_decl_for_prec.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 80 token_decl_for_prec.1token_decl_for_prec.1 . token_decl_for_prec 81 token_decl_for_prec. id int.opt 82 | . string_as_id 115 id. "identifier" 116 | . "character literal" 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 78 (token_decls_for_prec) token_decl_for_prec go to state 126 id go to state 90 string_as_id go to state 91

state 139

67 token_declstoken_decls "<tag>" token_decl.1 . [error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language", "%name-prefix", "%no-default-prec", "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "%%", "%{...%}", ";", "<tag>", "%param", "%union"] 69 token_decl.1token_decl.1 . token_decl 70 token_decl. id int.opt alias 115 id. "identifier" 116 | . "character literal" "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 $default reduce using rule 67 (token_decls) token_decl go to state 131 id go to state 96

state 140

75 alias"translatable string" . $default reduce using rule 75 (alias)

state 141

70 token_declid int.opt alias . $default reduce using rule 70 (token_decl)

state 142

74 aliasstring_as_id . $default reduce using rule 74 (alias)

state 143

94 rulesid_colon named_ref.opt $@4 ":" . rhses.1 95 rhses.1. rhs 96 | . rhses.1 "|" rhs 97 | . rhses.1 ";" 98 rhs. %empty 99 | . rhs symbol named_ref.opt 100 | . rhs tag.opt "{...}" named_ref.opt 101 | . rhs "%?{...}" 102 | . rhs "%empty" 103 | . rhs "%prec" symbol 104 | . rhs "%dprec" "integer literal" 105 | . rhs "%merge" "<tag>" 106 | . rhs "%expect" "integer literal" 107 | . rhs "%expect-rr" "integer literal" $default reduce using rule 98 (rhs) rhses.1 go to state 144 rhs go to state 145

state 144

94 rulesid_colon named_ref.opt $@4 ":" rhses.1 . [$end, error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%no-default-prec", "%start", "identifier:", "%%", "%union"] 96 rhses.1rhses.1 . "|" rhs 97 | rhses.1 . ";" "|" shift, and go to state 146 ";" shift, and go to state 147 $default reduce using rule 94 (rules)

state 145

55 tag.opt. %empty ["{...}"] 56 | . "<tag>" 95 rhses.1rhs . [$end, error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%no-default-prec", "%start", "identifier:", "%%", "|", ";", "%union"] 99 rhsrhs . symbol named_ref.opt 100 | rhs . tag.opt "{...}" named_ref.opt 101 | rhs . "%?{...}" 102 | rhs . "%empty" 103 | rhs . "%prec" symbol 104 | rhs . "%dprec" "integer literal" 105 | rhs . "%merge" "<tag>" 106 | rhs . "%expect" "integer literal" 107 | rhs . "%expect-rr" "integer literal" 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "%prec" shift, and go to state 148 "%dprec" shift, and go to state 149 "%merge" shift, and go to state 150 "%expect" shift, and go to state 151 "%expect-rr" shift, and go to state 152 "%?{...}" shift, and go to state 153 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 154 "%empty" shift, and go to state 155 "{...}" reduce using rule 55 (tag.opt) $default reduce using rule 95 (rhses.1) tag.opt go to state 156 id go to state 57 symbol go to state 157 string_as_id go to state 59

state 146

96 rhses.1rhses.1 "|" . rhs 98 rhs. %empty 99 | . rhs symbol named_ref.opt 100 | . rhs tag.opt "{...}" named_ref.opt 101 | . rhs "%?{...}" 102 | . rhs "%empty" 103 | . rhs "%prec" symbol 104 | . rhs "%dprec" "integer literal" 105 | . rhs "%merge" "<tag>" 106 | . rhs "%expect" "integer literal" 107 | . rhs "%expect-rr" "integer literal" $default reduce using rule 98 (rhs) rhs go to state 158

state 147

97 rhses.1rhses.1 ";" . $default reduce using rule 97 (rhses.1)

state 148

103 rhsrhs "%prec" . symbol 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 id go to state 57 symbol go to state 159 string_as_id go to state 59

state 149

104 rhsrhs "%dprec" . "integer literal" "integer literal" shift, and go to state 160

state 150

105 rhsrhs "%merge" . "<tag>" "<tag>" shift, and go to state 161

state 151

106 rhsrhs "%expect" . "integer literal" "integer literal" shift, and go to state 162

state 152

107 rhsrhs "%expect-rr" . "integer literal" "integer literal" shift, and go to state 163

state 153

101 rhsrhs "%?{...}" . $default reduce using rule 101 (rhs)

state 154

56 tag.opt"<tag>" . $default reduce using rule 56 (tag.opt)

state 155

102 rhsrhs "%empty" . $default reduce using rule 102 (rhs)

state 156

100 rhsrhs tag.opt . "{...}" named_ref.opt "{...}" shift, and go to state 164

state 157

99 rhsrhs symbol . named_ref.opt 108 named_ref.opt. %empty [$end, error, "string", "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%prec", "%dprec", "%merge", "%code", "%default-prec", "%expect", "%expect-rr", "%no-default-prec", "%start", "{...}", "%?{...}", "character literal", "identifier", "identifier:", "%%", "|", ";", "<tag>", "%union", "%empty"] 109 | . "[identifier]" "[identifier]" shift, and go to state 112 $default reduce using rule 108 (named_ref.opt) named_ref.opt go to state 165

state 158

55 tag.opt. %empty ["{...}"] 56 | . "<tag>" 96 rhses.1rhses.1 "|" rhs . [$end, error, "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%code", "%default-prec", "%no-default-prec", "%start", "identifier:", "%%", "|", ";", "%union"] 99 rhsrhs . symbol named_ref.opt 100 | rhs . tag.opt "{...}" named_ref.opt 101 | rhs . "%?{...}" 102 | rhs . "%empty" 103 | rhs . "%prec" symbol 104 | rhs . "%dprec" "integer literal" 105 | rhs . "%merge" "<tag>" 106 | rhs . "%expect" "integer literal" 107 | rhs . "%expect-rr" "integer literal" 115 id. "identifier" 116 | . "character literal" 118 symbol. id 119 | . string_as_id 120 string_as_id. "string" "string" shift, and go to state 51 "%prec" shift, and go to state 148 "%dprec" shift, and go to state 149 "%merge" shift, and go to state 150 "%expect" shift, and go to state 151 "%expect-rr" shift, and go to state 152 "%?{...}" shift, and go to state 153 "character literal" shift, and go to state 52 "identifier" shift, and go to state 53 "<tag>" shift, and go to state 154 "%empty" shift, and go to state 155 "{...}" reduce using rule 55 (tag.opt) $default reduce using rule 96 (rhses.1) tag.opt go to state 156 id go to state 57 symbol go to state 157 string_as_id go to state 59

state 159

103 rhsrhs "%prec" symbol . $default reduce using rule 103 (rhs)

state 160

104 rhsrhs "%dprec" "integer literal" . $default reduce using rule 104 (rhs)

state 161

105 rhsrhs "%merge" "<tag>" . $default reduce using rule 105 (rhs)

state 162

106 rhsrhs "%expect" "integer literal" . $default reduce using rule 106 (rhs)

state 163

107 rhsrhs "%expect-rr" "integer literal" . $default reduce using rule 107 (rhs)

state 164

100 rhsrhs tag.opt "{...}" . named_ref.opt 108 named_ref.opt. %empty [$end, error, "string", "%token", "%nterm", "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%prec", "%dprec", "%merge", "%code", "%default-prec", "%expect", "%expect-rr", "%no-default-prec", "%start", "{...}", "%?{...}", "character literal", "identifier", "identifier:", "%%", "|", ";", "<tag>", "%union", "%empty"] 109 | . "[identifier]" "[identifier]" shift, and go to state 112 $default reduce using rule 108 (named_ref.opt) named_ref.opt go to state 166

state 165

99 rhsrhs symbol named_ref.opt . $default reduce using rule 99 (rhs)

state 166

100 rhsrhs tag.opt "{...}" named_ref.opt . $default reduce using rule 100 (rhs)