  Copyright (C) 2015,2016 Matthew R. Wette
  
  This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3,
  or any later version published by the Free Software Foundation.  See the
  file COPYING included with the this distribution.

0 $start => translation-unit-proxy
1 translation-unit-proxy => translation-unit
2 primary-expression => identifier
3 primary-expression => constant
4 primary-expression => string-literal
5 primary-expression => "(" expression ")"
6 postfix-expression => primary-expression
7 postfix-expression => postfix-expression "[" expression "]"
8 postfix-expression => postfix-expression "(" argument-expression-list ")"
9 postfix-expression => postfix-expression "(" ")"
10 postfix-expression => postfix-expression "." identifier
11 postfix-expression => postfix-expression "->" identifier
12 postfix-expression => postfix-expression "++"
13 postfix-expression => postfix-expression "--"
14 postfix-expression => "(" type-name ")" "{" initializer-list "}"
15 postfix-expression => "(" type-name ")" "{" initializer-list "," "}"
16 argument-expression-list => assignment-expression
17 argument-expression-list => argument-expression-list "," assignment-expression
18 argument-expression-list => arg-expr-hack
19 argument-expression-list => argument-expression-list "," arg-expr-hack
20 arg-expr-hack => declaration-specifiers abstract-declarator
21 arg-expr-hack => declaration-specifiers
22 unary-expression => postfix-expression
23 unary-expression => "++" unary-expression
24 unary-expression => "--" unary-expression
25 unary-expression => unary-operator cast-expression
26 unary-expression => "sizeof" unary-expression
27 unary-expression => "sizeof" "(" type-name ")"
28 unary-operator => "&"
29 unary-operator => "*"
30 unary-operator => "+"
31 unary-operator => "-"
32 unary-operator => "~"
33 unary-operator => "!"
34 cast-expression => unary-expression
35 cast-expression => "(" type-name ")" cast-expression
36 multiplicative-expression => cast-expression
37 multiplicative-expression => multiplicative-expression "*" cast-expression
38 multiplicative-expression => multiplicative-expression "/" cast-expression
39 multiplicative-expression => multiplicative-expression "%" cast-expression
40 additive-expression => multiplicative-expression
41 additive-expression => additive-expression "+" multiplicative-expression
42 additive-expression => additive-expression "-" multiplicative-expression
43 shift-expression => additive-expression
44 shift-expression => shift-expression "<<" additive-expression
45 shift-expression => shift-expression ">>" additive-expression
46 relational-expression => shift-expression
47 relational-expression => relational-expression "<" shift-expression
48 relational-expression => relational-expression ">" shift-expression
49 relational-expression => relational-expression "<=" shift-expression
50 relational-expression => relational-expression ">=" shift-expression
51 equality-expression => relational-expression
52 equality-expression => equality-expression "==" relational-expression
53 equality-expression => equality-expression "!=" relational-expression
54 bitwise-and-expression => equality-expression
55 bitwise-and-expression => bitwise-and-expression "&" equality-expression
56 bitwise-xor-expression => bitwise-and-expression
57 bitwise-xor-expression => bitwise-xor-expression "^" bitwise-and-expression
58 bitwise-or-expression => bitwise-xor-expression
59 bitwise-or-expression => bitwise-or-expression "|" bitwise-xor-expression
60 logical-and-expression => bitwise-or-expression
61 logical-and-expression => logical-and-expression "&&" bitwise-or-expression
62 logical-or-expression => logical-and-expression
63 logical-or-expression => logical-or-expression "||" logical-and-expression
64 conditional-expression => logical-or-expression
65 conditional-expression => logical-or-expression "?" expression ":" conditional-expression
66 assignment-expression => conditional-expression
67 assignment-expression => unary-expression assignment-operator assignment-expression
68 assignment-operator => "="
69 assignment-operator => "+="
70 assignment-operator => "-="
71 assignment-operator => "*="
72 assignment-operator => "/="
73 assignment-operator => "%="
74 assignment-operator => "<<="
75 assignment-operator => ">>="
76 assignment-operator => "&="
77 assignment-operator => "^="
78 assignment-operator => "|="
79 expression => assignment-expression
80 expression => expression "," assignment-expression
81 constant-expression => conditional-expression
82 declaration => declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
83 declaration => declaration-specifiers ";" opt-code-comment
84 $P1 =>
85 declaration-specifiers => storage-class-specifier
86 declaration-specifiers => storage-class-specifier declaration-specifiers
87 declaration-specifiers => type-specifier
88 declaration-specifiers => type-specifier declaration-specifiers
89 declaration-specifiers => type-qualifier
90 declaration-specifiers => type-qualifier declaration-specifiers
91 declaration-specifiers => function-specifier
92 declaration-specifiers => function-specifier declaration-specifiers
93 init-declarator-list => init-declarator
94 init-declarator-list => init-declarator-list "," init-declarator
95 init-declarator => declarator
96 init-declarator => declarator "=" initializer
97 storage-class-specifier => "auto"
98 storage-class-specifier => "extern"
99 storage-class-specifier => "register"
100 storage-class-specifier => "static"
101 storage-class-specifier => "typedef"
102 type-specifier => "void"
103 type-specifier => fixed-type-specifier
104 type-specifier => float-type-specifier
105 type-specifier => "_Bool"
106 type-specifier => complex-type-specifier
107 type-specifier => struct-or-union-specifier
108 type-specifier => enum-specifier
109 type-specifier => typedef-name
110 fixed-type-specifier => "short"
111 fixed-type-specifier => "short" "int"
112 fixed-type-specifier => "signed" "short"
113 fixed-type-specifier => "signed" "short" "int"
114 fixed-type-specifier => "int"
115 fixed-type-specifier => "signed"
116 fixed-type-specifier => "signed" "int"
117 fixed-type-specifier => "long"
118 fixed-type-specifier => "long" "int"
119 fixed-type-specifier => "signed" "long"
120 fixed-type-specifier => "signed" "long" "int"
121 fixed-type-specifier => "long" "long"
122 fixed-type-specifier => "long" "long" "int"
123 fixed-type-specifier => "signed" "long" "long"
124 fixed-type-specifier => "signed" "long" "long" "int"
125 fixed-type-specifier => "unsigned" "short" "int"
126 fixed-type-specifier => "unsigned" "short"
127 fixed-type-specifier => "unsigned" "int"
128 fixed-type-specifier => "unsigned"
129 fixed-type-specifier => "unsigned" "long" "int"
130 fixed-type-specifier => "unsigned" "long"
131 fixed-type-specifier => "unsigned" "long" "long" "int"
132 fixed-type-specifier => "unsigned" "long" "long"
133 fixed-type-specifier => "char"
134 fixed-type-specifier => "signed" "char"
135 fixed-type-specifier => "unsigned" "char"
136 float-type-specifier => "float"
137 float-type-specifier => "double"
138 float-type-specifier => "long" "double"
139 complex-type-specifier => "_Complex"
140 complex-type-specifier => "float" "_Complex"
141 complex-type-specifier => "double" "_Complex"
142 complex-type-specifier => "long" "double" "_Complex"
143 struct-or-union-specifier => "struct" identifier "{" struct-declaration-list "}"
144 struct-or-union-specifier => "struct" "{" struct-declaration-list "}"
145 struct-or-union-specifier => "struct" identifier
146 struct-or-union-specifier => "union" identifier "{" struct-declaration-list "}"
147 struct-or-union-specifier => "union" "{" struct-declaration-list "}"
148 struct-or-union-specifier => "union" identifier
149 struct-declaration-list => struct-declaration
150 struct-declaration-list => lone-comment
151 struct-declaration-list => struct-declaration-list struct-declaration
152 struct-declaration-list => struct-declaration-list lone-comment
153 struct-declaration => specifier-qualifier-list struct-declarator-list ";" opt-code-comment
154 specifier-qualifier-list => type-specifier specifier-qualifier-list
155 specifier-qualifier-list => type-specifier
156 specifier-qualifier-list => type-qualifier specifier-qualifier-list
157 specifier-qualifier-list => type-qualifier
158 struct-declarator-list => struct-declarator
159 struct-declarator-list => struct-declarator-list "," struct-declarator
160 struct-declarator => declarator
161 struct-declarator => declarator ":" constant-expression
162 struct-declarator => ":" constant-expression
163 enum-specifier => "enum" identifier "{" enumerator-list "}"
164 enum-specifier => "enum" identifier "{" enumerator-list "," "}"
165 enum-specifier => "enum" "{" enumerator-list "}"
166 enum-specifier => "enum" "{" enumerator-list "," "}"
167 enum-specifier => "enum" identifier
168 enumerator-list => enumerator
169 enumerator-list => enumerator-list "," enumerator
170 enumerator => identifier
171 enumerator => identifier "=" constant-expression
172 type-qualifier => "const"
173 type-qualifier => "volatile"
174 type-qualifier => "restrict"
175 function-specifier => "inline"
176 declarator => pointer direct-declarator
177 declarator => direct-declarator
178 direct-declarator => identifier
179 direct-declarator => "(" declarator ")"
180 direct-declarator => direct-declarator "[" type-qualifier-list assignment-expression "]"
181 direct-declarator => direct-declarator "[" type-qualifier-list "]"
182 direct-declarator => direct-declarator "[" assignment-expression "]"
183 direct-declarator => direct-declarator "[" "]"
184 direct-declarator => direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
185 direct-declarator => direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
186 direct-declarator => direct-declarator "[" type-qualifier-list "*" "]"
187 direct-declarator => direct-declarator "[" "*" "]"
188 direct-declarator => direct-declarator "(" parameter-type-list ")"
189 direct-declarator => direct-declarator "(" identifier-list ")"
190 direct-declarator => direct-declarator "(" ")"
191 pointer => "*" type-qualifier-list
192 pointer => "*"
193 pointer => "*" type-qualifier-list pointer
194 pointer => "*" pointer
195 type-qualifier-list => type-qualifier
196 type-qualifier-list => type-qualifier-list type-qualifier
197 parameter-type-list => parameter-list
198 parameter-type-list => parameter-list "," "..."
199 parameter-list => parameter-declaration
200 parameter-list => parameter-list "," parameter-declaration
201 parameter-declaration => declaration-specifiers declarator
202 parameter-declaration => declaration-specifiers abstract-declarator
203 parameter-declaration => declaration-specifiers
204 identifier-list => identifier
205 identifier-list => identifier-list "," identifier
206 type-name => specifier-qualifier-list abstract-declarator
207 type-name => declaration-specifiers
208 abstract-declarator => pointer
209 abstract-declarator => pointer direct-abstract-declarator
210 abstract-declarator => direct-abstract-declarator
211 direct-abstract-declarator => "(" abstract-declarator ")"
212 direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
213 direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "]"
214 direct-abstract-declarator => direct-abstract-declarator "[" assignment-expression "]"
215 direct-abstract-declarator => direct-abstract-declarator "[" "]"
216 direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
217 direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list "]"
218 direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
219 direct-abstract-declarator => "[" type-qualifier-list assignment-expression "]"
220 direct-abstract-declarator => "[" type-qualifier-list "]"
221 direct-abstract-declarator => "[" assignment-expression "]"
222 direct-abstract-declarator => "[" "]"
223 direct-abstract-declarator => "[" "static" type-qualifier-list assignment-expression "]"
224 direct-abstract-declarator => "[" "static" type-qualifier-list "]"
225 direct-abstract-declarator => "[" type-qualifier-list "static" assignment-expression "]"
226 direct-abstract-declarator => direct-abstract-declarator "[" "*" "]"
227 direct-abstract-declarator => "[" "*" "]"
228 direct-abstract-declarator => direct-abstract-declarator "(" parameter-type-list ")"
229 direct-abstract-declarator => direct-abstract-declarator "(" ")"
230 direct-abstract-declarator => "(" parameter-type-list ")"
231 direct-abstract-declarator => "(" ")"
232 typedef-name => 'typename
233 initializer => assignment-expression
234 initializer => "{" initializer-list "}"
235 initializer => "{" initializer-list "," "}"
236 initializer-list => designation initializer
237 initializer-list => initializer
238 initializer-list => initializer-list "," designation initializer
239 initializer-list => initializer-list "," initializer
240 designation => designator-list "="
241 designator-list => designator
242 designator-list => designator-list designator
243 designator => "[" constant-expression "]"
244 designator => "." identifier
245 statement => labeled-statement
246 statement => compound-statement
247 statement => expression-statement
248 statement => selection-statement
249 statement => iteration-statement
250 statement => jump-statement
251 statement => cpp-statement
252 labeled-statement => identifier ":" statement
253 labeled-statement => "case" constant-expression ":" statement
254 labeled-statement => "default" ":" statement
255 compound-statement => "{" block-item-list "}"
256 compound-statement => "{" "}"
257 block-item-list => block-item
258 block-item-list => block-item-list block-item
259 block-item => declaration
260 block-item => statement
261 expression-statement => expression ";"
262 expression-statement => ";"
263 selection-statement => "if" "(" expression ")" statement
264 selection-statement => "if" "(" expression ")" statement "else" statement
265 selection-statement => "switch" "(" expression ")" statement
266 iteration-statement => "while" "(" expression ")" statement
267 iteration-statement => "do" statement "while" "(" expression ")" ";"
268 iteration-statement => "for" "(" initial-clause expression ";" expression ")" statement
269 iteration-statement => "for" "(" initial-clause expression ";" ")" statement
270 iteration-statement => "for" "(" initial-clause ";" expression ")" statement
271 iteration-statement => "for" "(" initial-clause ";" ")" statement
272 initial-clause => expression ";"
273 initial-clause => ";"
274 initial-clause => declaration
275 jump-statement => "goto" identifier ";"
276 jump-statement => "continue" ";"
277 jump-statement => "break" ";"
278 jump-statement => "return" expression ";"
279 jump-statement => "return" ";"
280 translation-unit => external-declaration
281 translation-unit => translation-unit external-declaration
282 external-declaration => function-definition
283 external-declaration => declaration
284 external-declaration => lone-comment
285 external-declaration => cpp-statement
286 external-declaration => "extern" '$string "{" translation-unit "}"
287 function-definition => declaration-specifiers declarator declaration-list compound-statement
288 function-definition => declaration-specifiers declarator compound-statement
289 declaration-list => declaration
290 declaration-list => declaration-list declaration
291 opt-code-comment =>
292 opt-code-comment => code-comment
293 identifier => '$ident
294 identifier => 'cpp-ident
295 constant => '$fixed
296 constant => '$float
297 constant => '$chlit
298 string-literal => '$string
299 string-literal => string-literal '$string
300 code-comment => '$code-comm
301 lone-comment => '$lone-comm
302 cpp-statement => 'cpp-stmt

0:	$start => . translation-unit-proxy ('$end)
	translation-unit-proxy => . translation-unit
	translation-unit => . external-declaration
	translation-unit => . translation-unit external-declaration
	external-declaration => . function-definition
	external-declaration => . declaration
	external-declaration => . lone-comment
	external-declaration => . cpp-statement
	external-declaration => . "extern" '$string "{" translation-unit "}"
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	function-definition => . declaration-specifiers declarator declaration-list compound-statement
	function-definition => . declaration-specifiers declarator compound-statement
	lone-comment => . '$lone-comm
	cpp-statement => . 'cpp-stmt
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		'cpp-stmt => shift 34
		'$lone-comm => shift 35
		declaration-specifiers => shift 36
		"extern" => shift 37
		cpp-statement => shift 38
		lone-comment => shift 39
		declaration => shift 40
		function-definition => shift 41
		external-declaration => shift 42
		translation-unit => shift 43
		translation-unit-proxy => shift 44

1:	typedef-name => 'typename . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 232

2:	enum-specifier => "enum" . identifier ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
	enum-specifier => "enum" . "{" enumerator-list "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enum-specifier => "enum" . "{" enumerator-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enum-specifier => "enum" . identifier "{" enumerator-list "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
	enum-specifier => "enum" . identifier "{" enumerator-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
		"{" => shift 81
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 82

3:	struct-or-union-specifier => "union" . identifier ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
	struct-or-union-specifier => "union" . "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-or-union-specifier => "union" . identifier "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
		"{" => shift 79
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 80

4:	struct-or-union-specifier => "struct" . identifier ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
	struct-or-union-specifier => "struct" . "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-or-union-specifier => "struct" . identifier "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	identifier => . '$ident
	identifier => . 'cpp-ident
		"{" => shift 77
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 78

5:	complex-type-specifier => "_Complex" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 139

6:	complex-type-specifier => "double" . "_Complex" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	float-type-specifier => "double" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"_Complex" => shift 76
		$default => reduce 137
		["_Complex" => reduce 137] REMOVED by precedence

7:	complex-type-specifier => "float" . "_Complex" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	float-type-specifier => "float" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"_Complex" => shift 75
		$default => reduce 136
		["_Complex" => reduce 136] REMOVED by precedence

8:	fixed-type-specifier => "char" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 133

9:	fixed-type-specifier => "unsigned" . "char" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "long" "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "long" "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "short" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" . "short" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"short" => shift 71
		"int" => shift 72
		"long" => shift 73
		"char" => shift 74
		$default => reduce 128
		["short" => reduce 128] REMOVED by precedence
		["int" => reduce 128] REMOVED by precedence
		["long" => reduce 128] REMOVED by precedence
		["char" => reduce 128] REMOVED by precedence

10:	complex-type-specifier => "long" . "double" "_Complex" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	float-type-specifier => "long" . "double" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "long" . "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "long" . "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 68
		"long" => shift 69
		"double" => shift 70
		$default => reduce 117
		["int" => reduce 117] REMOVED by precedence
		["long" => reduce 117] REMOVED by precedence
		["double" => reduce 117] REMOVED by precedence

11:	fixed-type-specifier => "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 114

12:	fixed-type-specifier => "signed" . "char" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "long" "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "long" "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "short" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" . "short" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"short" => shift 64
		"int" => shift 65
		"long" => shift 66
		"char" => shift 67
		$default => reduce 115
		["short" => reduce 115] REMOVED by precedence
		["int" => reduce 115] REMOVED by precedence
		["long" => reduce 115] REMOVED by precedence
		["char" => reduce 115] REMOVED by precedence

13:	fixed-type-specifier => "short" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "short" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 63
		$default => reduce 110
		["int" => reduce 110] REMOVED by precedence

14:	function-specifier => "inline" . ("," ")" "[" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 175

15:	type-qualifier => "restrict" . ("," ")" "[" "]" '$chlit '$float '$fixed '$string "!" "~" "-" "+" "&" "sizeof" "--" "++" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 174

16:	type-qualifier => "volatile" . ("," ")" "[" "]" '$chlit '$float '$fixed '$string "!" "~" "-" "+" "&" "sizeof" "--" "++" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 173

17:	type-qualifier => "const" . ("," ")" "[" "]" '$chlit '$float '$fixed '$string "!" "~" "-" "+" "&" "sizeof" "--" "++" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 172

18:	type-specifier => typedef-name . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 109

19:	type-specifier => enum-specifier . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 108

20:	type-specifier => struct-or-union-specifier . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 107

21:	type-specifier => complex-type-specifier . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 106

22:	type-specifier => "_Bool" . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 105

23:	type-specifier => float-type-specifier . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 104

24:	type-specifier => fixed-type-specifier . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 103

25:	type-specifier => "void" . ("," ")" "[" ":" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 102

26:	storage-class-specifier => "typedef" . ("," ")" "[" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 101

27:	storage-class-specifier => "static" . ("," ")" "[" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 100

28:	storage-class-specifier => "register" . ("," ")" "[" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 99

29:	storage-class-specifier => "auto" . ("," ")" "[" "*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 97

30:	declaration-specifiers => function-specifier . declaration-specifiers ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => function-specifier . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 62
		$default => reduce 91

31:	declaration-specifiers => type-qualifier . declaration-specifiers ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-qualifier . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 61
		$default => reduce 89

32:	declaration-specifiers => type-specifier . declaration-specifiers ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-specifier . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 60
		$default => reduce 87

33:	declaration-specifiers => storage-class-specifier . declaration-specifiers ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => storage-class-specifier . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 59
		$default => reduce 85

34:	cpp-statement => 'cpp-stmt . ('$end "else" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 302
		$default => reduce 302

35:	lone-comment => '$lone-comm . ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 301
		$default => reduce 301

36:	function-definition => declaration-specifiers . declarator compound-statement ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
	function-definition => declaration-specifiers . declarator declaration-list compound-statement ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
	declaration => declaration-specifiers . ";" opt-code-comment ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	declaration => declaration-specifiers . init-declarator-list $P1 ";" opt-code-comment ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	init-declarator-list => . init-declarator
	init-declarator-list => . init-declarator-list "," init-declarator
	init-declarator => . declarator
	init-declarator => . declarator "=" initializer
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		init-declarator => shift 47
		init-declarator-list => shift 48
		";" => shift 49
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		declarator => shift 57

37:	storage-class-specifier => "extern" . ("*" 'cpp-ident '$ident "(" ";" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
	external-declaration => "extern" . '$string "{" translation-unit "}" ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$string => shift 46
		$default => reduce 98

38:	external-declaration => cpp-statement . ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$lone-comm => reduce 285
		$default => reduce 285

39:	external-declaration => lone-comment . ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$lone-comm => reduce 284
		$default => reduce 284

40:	external-declaration => declaration . ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$lone-comm => reduce 283
		$default => reduce 283

41:	external-declaration => function-definition . ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$lone-comm => reduce 282
		$default => reduce 282

42:	translation-unit => external-declaration . ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 280
		$default => reduce 280

43:	translation-unit => translation-unit . external-declaration ('$end "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	external-declaration => . function-definition
	external-declaration => . declaration
	external-declaration => . lone-comment
	external-declaration => . cpp-statement
	external-declaration => . "extern" '$string "{" translation-unit "}"
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	function-definition => . declaration-specifiers declarator declaration-list compound-statement
	function-definition => . declaration-specifiers declarator compound-statement
	lone-comment => . '$lone-comm
	cpp-statement => . 'cpp-stmt
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	translation-unit-proxy => translation-unit . ('$end)
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		'cpp-stmt => shift 34
		'$lone-comm => shift 35
		declaration-specifiers => shift 36
		"extern" => shift 37
		cpp-statement => shift 38
		lone-comment => shift 39
		declaration => shift 40
		function-definition => shift 41
		external-declaration => shift 45
		'$end => reduce 1

44:	$start => translation-unit-proxy . ('$end)
		'$end => accept 0

45:	translation-unit => translation-unit external-declaration . ("}" '$end "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 281
		$default => reduce 281

46:	external-declaration => "extern" '$string . "{" translation-unit "}" ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		"{" => shift 122

47:	init-declarator-list => init-declarator . ("," ";")
		";" => reduce 93
		"," => reduce 93

48:	init-declarator-list => init-declarator-list . "," init-declarator ("," ";")
	declaration => declaration-specifiers init-declarator-list . $P1 ";" opt-code-comment ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	$P1 => .
		$P1 => shift 120
		"," => shift 121
		";" => reduce 84

49:	declaration => declaration-specifiers ";" . opt-code-comment ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	opt-code-comment => .
	opt-code-comment => . code-comment
	code-comment => . '$code-comm
		'$code-comm => shift 117
		code-comment => shift 118
		opt-code-comment => shift 119
		'$lone-comm => reduce 291
		$default => reduce 291

50:	identifier => 'cpp-ident . ('$ident 'cpp-ident "]" "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" "?" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" ":" "}" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "(" "[" "{")
		$default => reduce 294

51:	identifier => '$ident . ('$ident 'cpp-ident "]" "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" "?" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" ":" "}" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "(" "[" "{")
		$default => reduce 293

52:	pointer => "*" . pointer ("," ")" "[" "(" '$ident 'cpp-ident)
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	pointer => "*" . type-qualifier-list pointer ("," ")" "[" "(" '$ident 'cpp-ident)
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	pointer => "*" . ("," ")" "[" "(" '$ident 'cpp-ident)
	pointer => "*" . type-qualifier-list ("," ")" "[" "(" '$ident 'cpp-ident)
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 115
		"*" => shift 52
		pointer => shift 116
		$default => reduce 192

53:	direct-declarator => "(" . declarator ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		declarator => shift 113

54:	direct-declarator => identifier . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 178

55:	direct-declarator => direct-declarator . "(" ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "(" identifier-list ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "(" parameter-type-list ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" "*" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" type-qualifier-list "*" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" type-qualifier-list "static" assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" "static" type-qualifier-list assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" type-qualifier-list "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator . "[" type-qualifier-list assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	declarator => direct-declarator . (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
		"[" => shift 111
		"(" => shift 112
		$default => reduce 177

56:	declarator => pointer . direct-declarator (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 110

57:	init-declarator => declarator . "=" initializer ("," ";")
	init-declarator => declarator . ("," ";")
	function-definition => declaration-specifiers declarator . declaration-list compound-statement ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	declaration-list => . declaration
	declaration-list => . declaration-list declaration
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	function-definition => declaration-specifiers declarator . compound-statement ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
		"{" => shift 104
		compound-statement => shift 105
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 106
		declaration => shift 107
		declaration-list => shift 108
		"=" => shift 109
		";" => reduce 95
		"," => reduce 95

58:	storage-class-specifier => "extern" . ("," ")" "[" ";" "*" 'cpp-ident '$ident "(" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef")
		$default => reduce 98

59:	declaration-specifiers => storage-class-specifier declaration-specifiers . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 86

60:	declaration-specifiers => type-specifier declaration-specifiers . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 88

61:	declaration-specifiers => type-qualifier declaration-specifiers . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 90

62:	declaration-specifiers => function-specifier declaration-specifiers . ("[" ")" "," ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 92

63:	fixed-type-specifier => "short" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 111

64:	fixed-type-specifier => "signed" "short" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" "short" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 103
		$default => reduce 112
		["int" => reduce 112] REMOVED by precedence

65:	fixed-type-specifier => "signed" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 116

66:	fixed-type-specifier => "signed" "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" "long" . "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" "long" . "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"long" => shift 101
		"int" => shift 102
		$default => reduce 119
		["long" => reduce 119] REMOVED by precedence
		["int" => reduce 119] REMOVED by precedence

67:	fixed-type-specifier => "signed" "char" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 134

68:	fixed-type-specifier => "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 118

69:	fixed-type-specifier => "long" "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "long" "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 100
		$default => reduce 121
		["int" => reduce 121] REMOVED by precedence

70:	float-type-specifier => "long" "double" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	complex-type-specifier => "long" "double" . "_Complex" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"_Complex" => shift 99
		$default => reduce 138
		["_Complex" => reduce 138] REMOVED by precedence

71:	fixed-type-specifier => "unsigned" "short" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" "short" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 98
		$default => reduce 126
		["int" => reduce 126] REMOVED by precedence

72:	fixed-type-specifier => "unsigned" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 127

73:	fixed-type-specifier => "unsigned" "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" "long" . "long" "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" "long" . "long" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"long" => shift 96
		"int" => shift 97
		$default => reduce 130
		["long" => reduce 130] REMOVED by precedence
		["int" => reduce 130] REMOVED by precedence

74:	fixed-type-specifier => "unsigned" "char" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 135

75:	complex-type-specifier => "float" "_Complex" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 140

76:	complex-type-specifier => "double" "_Complex" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 141

77:	struct-or-union-specifier => "struct" "{" . struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-declaration-list => . struct-declaration
	struct-declaration-list => . lone-comment
	struct-declaration-list => . struct-declaration-list struct-declaration
	struct-declaration-list => . struct-declaration-list lone-comment
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	lone-comment => . '$lone-comm
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		'$lone-comm => shift 35
		specifier-qualifier-list => shift 90
		lone-comment => shift 91
		struct-declaration => shift 92
		struct-declaration-list => shift 95

78:	struct-or-union-specifier => "struct" identifier . "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-or-union-specifier => "struct" identifier . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"{" => shift 94
		$default => reduce 145

79:	struct-or-union-specifier => "union" "{" . struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-declaration-list => . struct-declaration
	struct-declaration-list => . lone-comment
	struct-declaration-list => . struct-declaration-list struct-declaration
	struct-declaration-list => . struct-declaration-list lone-comment
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	lone-comment => . '$lone-comm
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		'$lone-comm => shift 35
		specifier-qualifier-list => shift 90
		lone-comment => shift 91
		struct-declaration => shift 92
		struct-declaration-list => shift 93

80:	struct-or-union-specifier => "union" identifier . "{" struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-or-union-specifier => "union" identifier . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"{" => shift 87
		$default => reduce 148

81:	enum-specifier => "enum" "{" . enumerator-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => . enumerator
	enumerator-list => . enumerator-list "," enumerator
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	enum-specifier => "enum" "{" . enumerator-list "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => . enumerator
	enumerator-list => . enumerator-list "," enumerator
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 84
		enumerator => shift 85
		enumerator-list => shift 86

82:	enum-specifier => "enum" identifier . "{" enumerator-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enum-specifier => "enum" identifier . "{" enumerator-list "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enum-specifier => "enum" identifier . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"{" => shift 83
		$default => reduce 167

83:	enum-specifier => "enum" identifier "{" . enumerator-list "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => . enumerator
	enumerator-list => . enumerator-list "," enumerator
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	enum-specifier => "enum" identifier "{" . enumerator-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => . enumerator
	enumerator-list => . enumerator-list "," enumerator
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 84
		enumerator => shift 85
		enumerator-list => shift 224

84:	enumerator => identifier . "=" constant-expression ("," "}")
	enumerator => identifier . ("," "}")
		"=" => shift 223
		"}" => reduce 170
		"," => reduce 170

85:	enumerator-list => enumerator . ("," "}")
		"}" => reduce 168
		"," => reduce 168

86:	enum-specifier => "enum" "{" enumerator-list . "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => enumerator-list . "," enumerator ("," "}")
	enum-specifier => "enum" "{" enumerator-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 221
		"," => shift 222

87:	struct-or-union-specifier => "union" identifier "{" . struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-declaration-list => . struct-declaration
	struct-declaration-list => . lone-comment
	struct-declaration-list => . struct-declaration-list struct-declaration
	struct-declaration-list => . struct-declaration-list lone-comment
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	lone-comment => . '$lone-comm
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		'$lone-comm => shift 35
		specifier-qualifier-list => shift 90
		lone-comment => shift 91
		struct-declaration => shift 92
		struct-declaration-list => shift 220

88:	specifier-qualifier-list => type-qualifier . (":" "(" '$ident 'cpp-ident "*")
	specifier-qualifier-list => type-qualifier . specifier-qualifier-list (":" "(" '$ident 'cpp-ident "*")
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 219
		$default => reduce 157

89:	specifier-qualifier-list => type-specifier . (":" "(" '$ident 'cpp-ident "*")
	specifier-qualifier-list => type-specifier . specifier-qualifier-list (":" "(" '$ident 'cpp-ident "*")
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 218
		$default => reduce 155

90:	struct-declaration => specifier-qualifier-list . struct-declarator-list ";" opt-code-comment ('$lone-comm "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "}")
	struct-declarator-list => . struct-declarator
	struct-declarator-list => . struct-declarator-list "," struct-declarator
	struct-declarator => . declarator
	struct-declarator => . declarator ":" constant-expression
	struct-declarator => . ":" constant-expression
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		":" => shift 214
		declarator => shift 215
		struct-declarator => shift 216
		struct-declarator-list => shift 217

91:	struct-declaration-list => lone-comment . ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
		'$lone-comm => reduce 150
		$default => reduce 150

92:	struct-declaration-list => struct-declaration . ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
		'$lone-comm => reduce 149
		$default => reduce 149

93:	struct-declaration-list => struct-declaration-list . lone-comment ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	lone-comment => . '$lone-comm
	struct-declaration-list => struct-declaration-list . struct-declaration ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	struct-or-union-specifier => "union" "{" struct-declaration-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 213
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 90
		struct-declaration => shift 210
		'$lone-comm => shift 35
		lone-comment => shift 211

94:	struct-or-union-specifier => "struct" identifier "{" . struct-declaration-list "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	struct-declaration-list => . struct-declaration
	struct-declaration-list => . lone-comment
	struct-declaration-list => . struct-declaration-list struct-declaration
	struct-declaration-list => . struct-declaration-list lone-comment
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	lone-comment => . '$lone-comm
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		'$lone-comm => shift 35
		specifier-qualifier-list => shift 90
		lone-comment => shift 91
		struct-declaration => shift 92
		struct-declaration-list => shift 212

95:	struct-declaration-list => struct-declaration-list . lone-comment ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	lone-comment => . '$lone-comm
	struct-declaration-list => struct-declaration-list . struct-declaration ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	struct-or-union-specifier => "struct" "{" struct-declaration-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 209
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 90
		struct-declaration => shift 210
		'$lone-comm => shift 35
		lone-comment => shift 211

96:	fixed-type-specifier => "unsigned" "long" "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "unsigned" "long" "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 208
		$default => reduce 132
		["int" => reduce 132] REMOVED by precedence

97:	fixed-type-specifier => "unsigned" "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 129

98:	fixed-type-specifier => "unsigned" "short" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 125

99:	complex-type-specifier => "long" "double" "_Complex" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 142

100:	fixed-type-specifier => "long" "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 122

101:	fixed-type-specifier => "signed" "long" "long" . "int" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	fixed-type-specifier => "signed" "long" "long" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"int" => shift 207
		$default => reduce 123
		["int" => reduce 123] REMOVED by precedence

102:	fixed-type-specifier => "signed" "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 120

103:	fixed-type-specifier => "signed" "short" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 113

104:	compound-statement => "{" . "}" ('$end '$lone-comm "else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	compound-statement => "{" . block-item-list "}" ('$end '$lone-comm "else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	block-item-list => . block-item
	block-item-list => . block-item-list block-item
	block-item => . declaration
	block-item => . statement
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		declaration-specifiers => shift 106
		statement => shift 202
		declaration => shift 203
		block-item => shift 204
		block-item-list => shift 205
		"}" => shift 206

105:	function-definition => declaration-specifiers declarator compound-statement . ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 288
		$default => reduce 288

106:	declaration => declaration-specifiers . ";" opt-code-comment ('cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "}" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "{")
	declaration => declaration-specifiers . init-declarator-list $P1 ";" opt-code-comment ('cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "}" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "{")
	init-declarator-list => . init-declarator
	init-declarator-list => . init-declarator-list "," init-declarator
	init-declarator => . declarator
	init-declarator => . declarator "=" initializer
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		declarator => shift 124
		init-declarator => shift 47
		init-declarator-list => shift 48
		";" => shift 49

107:	declaration-list => declaration . ("inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
		$default => reduce 289

108:	declaration-list => declaration-list . declaration ("inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	function-definition => declaration-specifiers declarator declaration-list . compound-statement ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
		"{" => shift 104
		compound-statement => shift 178
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 106
		declaration => shift 179

109:	init-declarator => declarator "=" . initializer ("," ";")
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 177

110:	direct-declarator => direct-declarator . "(" ")" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "(" identifier-list ")" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "(" parameter-type-list ")" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" "*" "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" type-qualifier-list "*" "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" type-qualifier-list "static" assignment-expression "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" "static" type-qualifier-list assignment-expression "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" assignment-expression "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" type-qualifier-list "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	direct-declarator => direct-declarator . "[" type-qualifier-list assignment-expression "]" (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{" "[" "(")
	declarator => pointer direct-declarator . (":" ")" "," ";" "=" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
		"[" => shift 111
		"(" => shift 112
		$default => reduce 176

111:	direct-declarator => direct-declarator "[" . type-qualifier-list assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" . type-qualifier-list "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" . assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	direct-declarator => direct-declarator "[" . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator "[" . "static" type-qualifier-list assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator "[" . type-qualifier-list "static" assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" . type-qualifier-list "*" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" . "*" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"static" => shift 137
		"]" => shift 138
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 160
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 172
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 173

112:	direct-declarator => direct-declarator "(" . parameter-type-list ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	parameter-type-list => . parameter-list
	parameter-type-list => . parameter-list "," "..."
	parameter-list => . parameter-declaration
	parameter-list => . parameter-list "," parameter-declaration
	parameter-declaration => . declaration-specifiers declarator
	parameter-declaration => . declaration-specifiers abstract-declarator
	parameter-declaration => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	direct-declarator => direct-declarator "(" . identifier-list ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	identifier-list => . identifier
	identifier-list => . identifier-list "," identifier
	identifier => . '$ident
	identifier => . 'cpp-ident
	direct-declarator => direct-declarator "(" . ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		")" => shift 130
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 131
		identifier-list => shift 132
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 133
		parameter-declaration => shift 134
		parameter-list => shift 135
		parameter-type-list => shift 136

113:	direct-declarator => "(" declarator . ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		")" => shift 129

114:	type-qualifier-list => type-qualifier . ("," ")" "[" "static" "]" "++" "--" "sizeof" "&" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "const" "volatile" "restrict" "*")
		$default => reduce 195

115:	pointer => "*" type-qualifier-list . ("," ")" "[" "(" '$ident 'cpp-ident)
	type-qualifier-list => type-qualifier-list . type-qualifier ("," ")" "[" "(" '$ident 'cpp-ident "const" "volatile" "restrict" "*")
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	pointer => "*" type-qualifier-list . pointer ("," ")" "[" "(" '$ident 'cpp-ident)
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
		"*" => shift 52
		pointer => shift 127
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		$default => reduce 191

116:	pointer => "*" pointer . ("," ")" "[" "(" '$ident 'cpp-ident)
		$default => reduce 194

117:	code-comment => '$code-comm . ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 300
		$default => reduce 300

118:	opt-code-comment => code-comment . ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 292
		$default => reduce 292

119:	declaration => declaration-specifiers ";" opt-code-comment . ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 83
		$default => reduce 83

120:	declaration => declaration-specifiers init-declarator-list $P1 . ";" opt-code-comment ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		";" => shift 126

121:	init-declarator-list => init-declarator-list "," . init-declarator ("," ";")
	init-declarator => . declarator
	init-declarator => . declarator "=" initializer
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		declarator => shift 124
		init-declarator => shift 125

122:	external-declaration => "extern" '$string "{" . translation-unit "}" ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
	translation-unit => . external-declaration
	translation-unit => . translation-unit external-declaration
	external-declaration => . function-definition
	external-declaration => . declaration
	external-declaration => . lone-comment
	external-declaration => . cpp-statement
	external-declaration => . "extern" '$string "{" translation-unit "}"
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	function-definition => . declaration-specifiers declarator declaration-list compound-statement
	function-definition => . declaration-specifiers declarator compound-statement
	lone-comment => . '$lone-comm
	cpp-statement => . 'cpp-stmt
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		'cpp-stmt => shift 34
		'$lone-comm => shift 35
		declaration-specifiers => shift 36
		"extern" => shift 37
		cpp-statement => shift 38
		lone-comment => shift 39
		declaration => shift 40
		function-definition => shift 41
		external-declaration => shift 42
		translation-unit => shift 123

123:	translation-unit => translation-unit . external-declaration ("extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef" "}")
	external-declaration => . function-definition
	external-declaration => . declaration
	external-declaration => . lone-comment
	external-declaration => . cpp-statement
	external-declaration => . "extern" '$string "{" translation-unit "}"
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	function-definition => . declaration-specifiers declarator declaration-list compound-statement
	function-definition => . declaration-specifiers declarator compound-statement
	lone-comment => . '$lone-comm
	cpp-statement => . 'cpp-stmt
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	external-declaration => "extern" '$string "{" translation-unit . "}" ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		"}" => shift 330
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		'cpp-stmt => shift 34
		'$lone-comm => shift 35
		declaration-specifiers => shift 36
		"extern" => shift 37
		cpp-statement => shift 38
		lone-comment => shift 39
		declaration => shift 40
		function-definition => shift 41
		external-declaration => shift 45

124:	init-declarator => declarator . "=" initializer ("," ";")
	init-declarator => declarator . ("," ";")
		"=" => shift 109
		";" => reduce 95
		"," => reduce 95

125:	init-declarator-list => init-declarator-list "," init-declarator . ("," ";")
		";" => reduce 94
		"," => reduce 94

126:	declaration => declaration-specifiers init-declarator-list $P1 ";" . opt-code-comment ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
	opt-code-comment => .
	opt-code-comment => . code-comment
	code-comment => . '$code-comm
		'$code-comm => shift 117
		code-comment => shift 118
		opt-code-comment => shift 329
		'$lone-comm => reduce 291
		$default => reduce 291

127:	pointer => "*" type-qualifier-list pointer . ("," ")" "[" "(" '$ident 'cpp-ident)
		$default => reduce 193

128:	type-qualifier-list => type-qualifier-list type-qualifier . ("," "static" "]" "++" "--" "sizeof" "&" "+" "-" "~" "!" '$string '$fixed '$float '$chlit ")" "[" "(" '$ident 'cpp-ident "const" "volatile" "restrict" "*")
		$default => reduce 196

129:	direct-declarator => "(" declarator ")" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 179

130:	direct-declarator => direct-declarator "(" ")" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 190

131:	identifier-list => identifier . ("," ")")
		")" => reduce 204
		"," => reduce 204

132:	identifier-list => identifier-list . "," identifier ("," ")")
	direct-declarator => direct-declarator "(" identifier-list . ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		")" => shift 327
		"," => shift 328

133:	parameter-declaration => declaration-specifiers . ("," ")")
	parameter-declaration => declaration-specifiers . abstract-declarator ("," ")")
	abstract-declarator => . pointer
	abstract-declarator => . pointer direct-abstract-declarator
	abstract-declarator => . direct-abstract-declarator
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
	parameter-declaration => declaration-specifiers . declarator ("," ")")
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 54
		direct-declarator => shift 55
		declarator => shift 321
		"[" => shift 322
		"(" => shift 323
		"*" => shift 52
		direct-abstract-declarator => shift 324
		pointer => shift 325
		abstract-declarator => shift 326
		")" => reduce 203
		"," => reduce 203

134:	parameter-list => parameter-declaration . (")" ",")
		"," => reduce 199
		")" => reduce 199

135:	parameter-list => parameter-list . "," parameter-declaration (")" ",")
	parameter-type-list => parameter-list . "," "..." (")")
	parameter-type-list => parameter-list . (")")
		"," => shift 320
		")" => reduce 197

136:	direct-declarator => direct-declarator "(" parameter-type-list . ")" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		")" => shift 319

137:	direct-declarator => direct-declarator "[" "static" . type-qualifier-list assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 318

138:	direct-declarator => direct-declarator "[" "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 183

139:	multiplicative-expression => cast-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		$default => reduce 36

140:	multiplicative-expression => multiplicative-expression . "%" cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	multiplicative-expression => multiplicative-expression . "/" cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	multiplicative-expression => multiplicative-expression . "*" cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	additive-expression => multiplicative-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
		"*" => shift 315
		"/" => shift 316
		"%" => shift 317
		$default => reduce 40

141:	additive-expression => additive-expression . "-" multiplicative-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
	additive-expression => additive-expression . "+" multiplicative-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
	shift-expression => additive-expression . (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"+" => shift 313
		"-" => shift 314
		$default => reduce 43

142:	shift-expression => shift-expression . ">>" additive-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	shift-expression => shift-expression . "<<" additive-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	relational-expression => shift-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
		"<<" => shift 311
		">>" => shift 312
		$default => reduce 46

143:	relational-expression => relational-expression . ">=" shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	relational-expression => relational-expression . "<=" shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	relational-expression => relational-expression . ">" shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	relational-expression => relational-expression . "<" shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	equality-expression => relational-expression . (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"<" => shift 307
		">" => shift 308
		"<=" => shift 309
		">=" => shift 310
		$default => reduce 51

144:	equality-expression => equality-expression . "!=" relational-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	equality-expression => equality-expression . "==" relational-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	bitwise-and-expression => equality-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?")
		"==" => shift 305
		"!=" => shift 306
		$default => reduce 54

145:	bitwise-and-expression => bitwise-and-expression . "&" equality-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?")
	bitwise-xor-expression => bitwise-and-expression . (":" "}" ")" "]" "^" "|" "&&" "||" "," "?" ";")
		"&" => shift 304
		$default => reduce 56

146:	string-literal => '$string . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" '$string "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 298

147:	constant => '$chlit . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 297

148:	constant => '$float . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 296

149:	constant => '$fixed . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 295

150:	bitwise-xor-expression => bitwise-xor-expression . "^" bitwise-and-expression (":" "}" ")" "]" "^" "|" "&&" "||" "," "?" ";")
	bitwise-or-expression => bitwise-xor-expression . (":" "}" ")" "]" "," "||" "&&" "|" ";" "?")
		"^" => shift 303
		$default => reduce 58

151:	bitwise-or-expression => bitwise-or-expression . "|" bitwise-xor-expression (":" "}" ")" "]" "," "||" "&&" "|" ";" "?")
	logical-and-expression => bitwise-or-expression . (":" "}" ")" "]" "&&" "||" "," "?" ";")
		"|" => shift 302
		$default => reduce 60

152:	string-literal => string-literal . '$string (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" '$string "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	primary-expression => string-literal . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		'$string => shift 301
		$default => reduce 4

153:	primary-expression => constant . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 3

154:	primary-expression => identifier . (":" ";" "}" "," ")" "]" "||" "&&" "|" "^" "&" "==" "!=" ">=" "<=" ">" "<" "<<" ">>" "-" "+" "*" "/" "%" "?" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 2

155:	logical-and-expression => logical-and-expression . "&&" bitwise-or-expression (":" "}" ")" "]" "&&" "||" "," "?" ";")
	logical-or-expression => logical-and-expression . (":" "}" ")" "]" "," "||" ";" "?")
		"&&" => shift 300
		$default => reduce 62

156:	unary-operator => "!" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 33

157:	unary-operator => "~" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 32

158:	unary-operator => "-" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 31

159:	unary-operator => "+" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 30

160:	direct-declarator => direct-declarator "[" "*" . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	unary-operator => "*" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		"]" => shift 299
		$default => reduce 29

161:	unary-operator => "&" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 28

162:	cast-expression => "(" . type-name ")" cast-expression ("=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" ":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	primary-expression => "(" . expression ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => "(" . type-name ")" "{" initializer-list "," "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	postfix-expression => "(" . type-name ")" "{" initializer-list "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 293
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 294
		type-specifier => shift 295
		storage-class-specifier => shift 33
		declaration-specifiers => shift 296
		specifier-qualifier-list => shift 297
		type-name => shift 298

163:	postfix-expression => primary-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 6

164:	logical-or-expression => logical-or-expression . "||" logical-and-expression (":" "}" ")" "]" "," "||" ";" "?")
	conditional-expression => logical-or-expression . "?" expression ":" conditional-expression (":" "}" ")" "]" "," ";")
	conditional-expression => logical-or-expression . (":" "}" ")" "]" "," ";")
		"?" => shift 291
		"||" => shift 292
		$default => reduce 64

165:	unary-expression => "sizeof" . "(" type-name ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	unary-expression => "sizeof" . unary-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 289
		"(" => shift 290

166:	unary-expression => unary-operator . cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 288

167:	unary-expression => "--" . unary-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 285
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 287

168:	unary-expression => "++" . unary-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 285
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 286

169:	postfix-expression => postfix-expression . "--" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "++" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "->" identifier (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "." identifier (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "(" ")" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "(" argument-expression-list ")" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => postfix-expression . "[" expression "]" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	unary-expression => postfix-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		"[" => shift 279
		"(" => shift 280
		"." => shift 281
		"->" => shift 282
		"++" => shift 283
		"--" => shift 284
		$default => reduce 22

170:	cast-expression => unary-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?")
	assignment-expression => unary-expression . assignment-operator assignment-expression (":" "}" ")" "]" "," ";")
	assignment-operator => . "="
	assignment-operator => . "+="
	assignment-operator => . "-="
	assignment-operator => . "*="
	assignment-operator => . "/="
	assignment-operator => . "%="
	assignment-operator => . "<<="
	assignment-operator => . ">>="
	assignment-operator => . "&="
	assignment-operator => . "^="
	assignment-operator => . "|="
		"|=" => shift 267
		"^=" => shift 268
		"&=" => shift 269
		">>=" => shift 270
		"<<=" => shift 271
		"%=" => shift 272
		"/=" => shift 273
		"*=" => shift 274
		"-=" => shift 275
		"+=" => shift 276
		"=" => shift 277
		assignment-operator => shift 278
		$default => reduce 34

171:	assignment-expression => conditional-expression . (":" "}" ")" "]" "," ";")
		$default => reduce 66

172:	direct-declarator => direct-declarator "[" assignment-expression . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"]" => shift 266

173:	direct-declarator => direct-declarator "[" type-qualifier-list . "*" "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator "[" type-qualifier-list . "static" assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	direct-declarator => direct-declarator "[" type-qualifier-list . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	type-qualifier-list => type-qualifier-list . type-qualifier ("static" "]" "const" "volatile" "restrict" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" type-qualifier-list . assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 262
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		"]" => shift 263
		"static" => shift 264
		"*" => shift 265

174:	unary-operator => "*" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 29

175:	initializer => "{" . initializer-list "," "}" (";" "}" ",")
	initializer-list => . designation initializer
	initializer-list => . initializer
	initializer-list => . initializer-list "," designation initializer
	initializer-list => . initializer-list "," initializer
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	designation => . designator-list "="
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	designator-list => . designator
	designator-list => . designator-list designator
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	initializer => "{" . initializer-list "}" (";" "}" ",")
	initializer-list => . designation initializer
	initializer-list => . initializer
	initializer-list => . initializer-list "," designation initializer
	initializer-list => . initializer-list "," initializer
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	designation => . designator-list "="
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	designator-list => . designator
	designator-list => . designator-list designator
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		"." => shift 255
		"[" => shift 256
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		designator => shift 257
		unary-expression => shift 170
		conditional-expression => shift 171
		designator-list => shift 258
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 259
		designation => shift 260
		initializer-list => shift 261

176:	initializer => assignment-expression . (";" "}" ",")
		"," => reduce 233
		"}" => reduce 233
		";" => reduce 233

177:	init-declarator => declarator "=" initializer . ("," ";")
		";" => reduce 96
		"," => reduce 96

178:	function-definition => declaration-specifiers declarator declaration-list compound-statement . ('$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 287
		$default => reduce 287

179:	declaration-list => declaration-list declaration . ("inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "{")
		$default => reduce 290

180:	expression => assignment-expression . (":" "]" ")" "," ";")
		$default => reduce 79

181:	jump-statement => "return" . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	jump-statement => "return" . expression ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 253
		";" => shift 254

182:	jump-statement => "break" . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 252

183:	jump-statement => "continue" . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 251

184:	jump-statement => "goto" . identifier ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 250

185:	iteration-statement => "for" . "(" initial-clause ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" . "(" initial-clause ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" . "(" initial-clause expression ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" . "(" initial-clause expression ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"(" => shift 249

186:	iteration-statement => "do" . statement "while" "(" expression ")" ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 248

187:	iteration-statement => "while" . "(" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"(" => shift 247

188:	selection-statement => "switch" . "(" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"(" => shift 246

189:	selection-statement => "if" . "(" expression ")" statement "else" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	selection-statement => "if" . "(" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"(" => shift 245

190:	expression-statement => ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 262

191:	expression => expression . "," assignment-expression ("," ";")
	expression-statement => expression . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 243
		"," => shift 244

192:	labeled-statement => "default" . ":" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		":" => shift 242

193:	labeled-statement => "case" . constant-expression ":" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	constant-expression => . conditional-expression
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 228
		constant-expression => shift 241

194:	primary-expression => identifier . ("*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	labeled-statement => identifier . ":" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		":" => shift 240
		$default => reduce 2

195:	statement => cpp-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 251

196:	statement => jump-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 250

197:	statement => iteration-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 249

198:	statement => selection-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 248

199:	statement => expression-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 247

200:	statement => compound-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 246

201:	statement => labeled-statement . ("else" 'cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 245

202:	block-item => statement . ("typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 260

203:	block-item => declaration . ("typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 259

204:	block-item-list => block-item . ('cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 257

205:	block-item-list => block-item-list . block-item ('cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
	block-item => . declaration
	block-item => . statement
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	compound-statement => "{" block-item-list . "}" ('$end '$lone-comm "else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"}" => shift 238
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		declaration-specifiers => shift 106
		statement => shift 202
		declaration => shift 203
		block-item => shift 239

206:	compound-statement => "{" "}" . ('$end '$lone-comm "else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		'$lone-comm => reduce 256
		$default => reduce 256

207:	fixed-type-specifier => "signed" "long" "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 124

208:	fixed-type-specifier => "unsigned" "long" "long" "int" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 131

209:	struct-or-union-specifier => "struct" "{" struct-declaration-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 144

210:	struct-declaration-list => struct-declaration-list struct-declaration . ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
		'$lone-comm => reduce 151
		$default => reduce 151

211:	struct-declaration-list => struct-declaration-list lone-comment . ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
		'$lone-comm => reduce 152
		$default => reduce 152

212:	struct-declaration-list => struct-declaration-list . lone-comment ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	lone-comment => . '$lone-comm
	struct-declaration-list => struct-declaration-list . struct-declaration ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	struct-or-union-specifier => "struct" identifier "{" struct-declaration-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 237
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 90
		struct-declaration => shift 210
		'$lone-comm => shift 35
		lone-comment => shift 211

213:	struct-or-union-specifier => "union" "{" struct-declaration-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 147

214:	struct-declarator => ":" . constant-expression ("," ";")
	constant-expression => . conditional-expression
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 228
		constant-expression => shift 236

215:	struct-declarator => declarator . ":" constant-expression ("," ";")
	struct-declarator => declarator . ("," ";")
		":" => shift 235
		";" => reduce 160
		"," => reduce 160

216:	struct-declarator-list => struct-declarator . ("," ";")
		";" => reduce 158
		"," => reduce 158

217:	struct-declarator-list => struct-declarator-list . "," struct-declarator ("," ";")
	struct-declaration => specifier-qualifier-list struct-declarator-list . ";" opt-code-comment ('$lone-comm "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "}")
		";" => shift 233
		"," => shift 234

218:	specifier-qualifier-list => type-specifier specifier-qualifier-list . ("[" ":" "(" '$ident 'cpp-ident "*")
		$default => reduce 154

219:	specifier-qualifier-list => type-qualifier specifier-qualifier-list . ("[" ":" "(" '$ident 'cpp-ident "*")
		$default => reduce 156

220:	struct-declaration-list => struct-declaration-list . lone-comment ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	lone-comment => . '$lone-comm
	struct-declaration-list => struct-declaration-list . struct-declaration ("const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" '$lone-comm "}")
	struct-declaration => . specifier-qualifier-list struct-declarator-list ";" opt-code-comment
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	struct-or-union-specifier => "union" identifier "{" struct-declaration-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 232
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 88
		type-specifier => shift 89
		specifier-qualifier-list => shift 90
		struct-declaration => shift 210
		'$lone-comm => shift 35
		lone-comment => shift 211

221:	enum-specifier => "enum" "{" enumerator-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 165

222:	enumerator-list => enumerator-list "," . enumerator ("," "}")
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	enum-specifier => "enum" "{" enumerator-list "," . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"}" => shift 230
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 84
		enumerator => shift 231

223:	enumerator => identifier "=" . constant-expression ("," "}")
	constant-expression => . conditional-expression
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 228
		constant-expression => shift 229

224:	enum-specifier => "enum" identifier "{" enumerator-list . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => enumerator-list . "," enumerator ("}" ",")
	enum-specifier => "enum" identifier "{" enumerator-list . "," "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		"," => shift 225
		"}" => shift 226

225:	enum-specifier => "enum" identifier "{" enumerator-list "," . "}" ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
	enumerator-list => enumerator-list "," . enumerator ("}" ",")
	enumerator => . identifier
	enumerator => . identifier "=" constant-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 84
		enumerator => shift 231
		"}" => shift 408

226:	enum-specifier => "enum" identifier "{" enumerator-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 163

227:	cast-expression => unary-expression . ("}" ")" "," ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "]" "%" "/" "*" "+" "-" ">>" "<<" "<" ">" "<=" ">=" "!=" "==" "&" "^" "|" "&&" "||" ":" "?")
		$default => reduce 34

228:	constant-expression => conditional-expression . ("}" "," ";" "]" ":")
		$default => reduce 81

229:	enumerator => identifier "=" constant-expression . ("," "}")
		"}" => reduce 171
		"," => reduce 171

230:	enum-specifier => "enum" "{" enumerator-list "," "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 166

231:	enumerator-list => enumerator-list "," enumerator . ("," "}")
		"}" => reduce 169
		"," => reduce 169

232:	struct-or-union-specifier => "union" identifier "{" struct-declaration-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 146

233:	struct-declaration => specifier-qualifier-list struct-declarator-list ";" . opt-code-comment ('$lone-comm "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "}")
	opt-code-comment => .
	opt-code-comment => . code-comment
	code-comment => . '$code-comm
		'$code-comm => shift 117
		code-comment => shift 118
		opt-code-comment => shift 407
		'$lone-comm => reduce 291
		$default => reduce 291

234:	struct-declarator-list => struct-declarator-list "," . struct-declarator ("," ";")
	struct-declarator => . declarator
	struct-declarator => . declarator ":" constant-expression
	struct-declarator => . ":" constant-expression
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 53
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 56
		":" => shift 214
		declarator => shift 215
		struct-declarator => shift 406

235:	struct-declarator => declarator ":" . constant-expression ("," ";")
	constant-expression => . conditional-expression
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 228
		constant-expression => shift 405

236:	struct-declarator => ":" constant-expression . ("," ";")
		";" => reduce 162
		"," => reduce 162

237:	struct-or-union-specifier => "struct" identifier "{" struct-declaration-list "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 143

238:	compound-statement => "{" block-item-list "}" . ('$end '$lone-comm "else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		'$lone-comm => reduce 255
		$default => reduce 255

239:	block-item-list => block-item-list block-item . ('cpp-stmt "goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "{" "case" "default" "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "extern" "register" "static" "typedef" "}")
		$default => reduce 258

240:	labeled-statement => identifier ":" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 404

241:	labeled-statement => "case" constant-expression . ":" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		":" => shift 403

242:	labeled-statement => "default" ":" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 402

243:	expression-statement => expression ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 261

244:	expression => expression "," . assignment-expression ("]" ":" ")" "," ";")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 401

245:	selection-statement => "if" "(" . expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	selection-statement => "if" "(" . expression ")" statement "else" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 400

246:	selection-statement => "switch" "(" . expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 399

247:	iteration-statement => "while" "(" . expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 398

248:	iteration-statement => "do" statement . "while" "(" expression ")" ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"while" => shift 397

249:	iteration-statement => "for" "(" . initial-clause expression ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	initial-clause => . expression ";"
	initial-clause => . ";"
	initial-clause => . declaration
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	iteration-statement => "for" "(" . initial-clause expression ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	initial-clause => . expression ";"
	initial-clause => . ";"
	initial-clause => . declaration
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	iteration-statement => "for" "(" . initial-clause ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	initial-clause => . expression ";"
	initial-clause => . ";"
	initial-clause => . declaration
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	iteration-statement => "for" "(" . initial-clause ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	initial-clause => . expression ";"
	initial-clause => . ";"
	initial-clause => . declaration
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	declaration => . declaration-specifiers init-declarator-list $P1 ";" opt-code-comment
	declaration => . declaration-specifiers ";" opt-code-comment
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		unary-expression => shift 170
		conditional-expression => shift 171
		declaration-specifiers => shift 106
		assignment-expression => shift 180
		declaration => shift 393
		";" => shift 394
		expression => shift 395
		initial-clause => shift 396

250:	jump-statement => "goto" identifier . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 392

251:	jump-statement => "continue" ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 276

252:	jump-statement => "break" ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 277

253:	expression => expression . "," assignment-expression ("," ";")
	jump-statement => "return" expression . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 391
		"," => shift 244

254:	jump-statement => "return" ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 279

255:	designator => "." . identifier ("." "[" "=")
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 390

256:	designator => "[" . constant-expression "]" ("." "[" "=")
	constant-expression => . conditional-expression
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 228
		constant-expression => shift 389

257:	designator-list => designator . ("[" "." "=")
		"=" => reduce 241
		"." => reduce 241
		"[" => reduce 241

258:	designator-list => designator-list . designator ("[" "." "=")
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	designation => designator-list . "=" ("{" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		"=" => shift 387
		"." => shift 255
		"[" => shift 256
		designator => shift 388

259:	initializer-list => initializer . ("}" ",")
		"," => reduce 237
		"}" => reduce 237

260:	initializer-list => designation . initializer ("}" ",")
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 386

261:	initializer => "{" initializer-list . "}" (";" "}" ",")
	initializer-list => initializer-list . "," initializer ("}" ",")
	initializer-list => initializer-list . "," designation initializer ("}" ",")
	initializer => "{" initializer-list . "," "}" (";" "}" ",")
		"," => shift 384
		"}" => shift 385

262:	direct-declarator => direct-declarator "[" type-qualifier-list assignment-expression . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"]" => shift 383

263:	direct-declarator => direct-declarator "[" type-qualifier-list "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 181

264:	direct-declarator => direct-declarator "[" type-qualifier-list "static" . assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 382

265:	unary-operator => "*" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	direct-declarator => direct-declarator "[" type-qualifier-list "*" . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"]" => shift 381
		$default => reduce 29

266:	direct-declarator => direct-declarator "[" assignment-expression "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 182

267:	assignment-operator => "|=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 78

268:	assignment-operator => "^=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 77

269:	assignment-operator => "&=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 76

270:	assignment-operator => ">>=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 75

271:	assignment-operator => "<<=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 74

272:	assignment-operator => "%=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 73

273:	assignment-operator => "/=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 72

274:	assignment-operator => "*=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 71

275:	assignment-operator => "-=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 70

276:	assignment-operator => "+=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 69

277:	assignment-operator => "=" . ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 68

278:	assignment-expression => unary-expression assignment-operator . assignment-expression (":" "}" ")" "]" "," ";")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 380

279:	postfix-expression => postfix-expression "[" . expression "]" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 379

280:	postfix-expression => postfix-expression "(" . argument-expression-list ")" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	argument-expression-list => . assignment-expression
	argument-expression-list => . argument-expression-list "," assignment-expression
	argument-expression-list => . arg-expr-hack
	argument-expression-list => . argument-expression-list "," arg-expr-hack
	arg-expr-hack => . declaration-specifiers abstract-declarator
	arg-expr-hack => . declaration-specifiers
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => postfix-expression "(" . ")" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		")" => shift 374
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		declaration-specifiers => shift 375
		arg-expr-hack => shift 376
		assignment-expression => shift 377
		argument-expression-list => shift 378

281:	postfix-expression => postfix-expression "." . identifier (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 373

282:	postfix-expression => postfix-expression "->" . identifier (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 372

283:	postfix-expression => postfix-expression "++" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 12

284:	postfix-expression => postfix-expression "--" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 13

285:	primary-expression => "(" . expression ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "--" "++" "->" "." "(" "[")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => "(" . type-name ")" "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	postfix-expression => "(" . type-name ")" "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 294
		type-specifier => shift 295
		storage-class-specifier => shift 33
		declaration-specifiers => shift 296
		specifier-qualifier-list => shift 297
		type-name => shift 371
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 293

286:	unary-expression => "++" unary-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 23

287:	unary-expression => "--" unary-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 24

288:	unary-expression => unary-operator cast-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 25

289:	unary-expression => "sizeof" unary-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 26

290:	primary-expression => "(" . expression ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "--" "++" "->" "." "(" "[")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => "(" . type-name ")" "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	postfix-expression => "(" . type-name ")" "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	unary-expression => "sizeof" "(" . type-name ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	type-name => . specifier-qualifier-list abstract-declarator
	type-name => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 294
		type-specifier => shift 295
		storage-class-specifier => shift 33
		declaration-specifiers => shift 296
		specifier-qualifier-list => shift 297
		type-name => shift 370
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 293

291:	conditional-expression => logical-or-expression "?" . expression ":" conditional-expression (":" "}" ")" "]" "," ";")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 369

292:	logical-or-expression => logical-or-expression "||" . logical-and-expression (":" "}" ")" "]" "," "||" ";" "?")
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 368

293:	expression => expression . "," assignment-expression ("," ")")
	primary-expression => "(" expression . ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		")" => shift 367
		"," => shift 244

294:	specifier-qualifier-list => type-qualifier . ("(" "[" "*")
	specifier-qualifier-list => type-qualifier . specifier-qualifier-list ("(" "[" "*")
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-qualifier . declaration-specifiers (")")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-qualifier . (")")
		"inline" => shift 14
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		storage-class-specifier => shift 33
		declaration-specifiers => shift 61
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 294
		type-specifier => shift 295
		specifier-qualifier-list => shift 219
		")" => reduce 89
		"*" => reduce 157
		"[" => reduce 157
		"(" => reduce 157

295:	specifier-qualifier-list => type-specifier . ("(" "[" "*")
	specifier-qualifier-list => type-specifier . specifier-qualifier-list ("(" "[" "*")
	specifier-qualifier-list => . type-specifier specifier-qualifier-list
	specifier-qualifier-list => . type-specifier
	specifier-qualifier-list => . type-qualifier specifier-qualifier-list
	specifier-qualifier-list => . type-qualifier
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-specifier . declaration-specifiers (")")
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	declaration-specifiers => type-specifier . (")")
		"inline" => shift 14
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		storage-class-specifier => shift 33
		declaration-specifiers => shift 60
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		type-qualifier => shift 294
		type-specifier => shift 295
		specifier-qualifier-list => shift 218
		")" => reduce 87
		"*" => reduce 155
		"[" => reduce 155
		"(" => reduce 155

296:	type-name => declaration-specifiers . (")")
		")" => reduce 207

297:	type-name => specifier-qualifier-list . abstract-declarator (")")
	abstract-declarator => . pointer
	abstract-declarator => . pointer direct-abstract-declarator
	abstract-declarator => . direct-abstract-declarator
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
		"[" => shift 322
		"(" => shift 364
		"*" => shift 52
		direct-abstract-declarator => shift 324
		pointer => shift 365
		abstract-declarator => shift 366

298:	postfix-expression => "(" type-name . ")" "{" initializer-list "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => "(" type-name . ")" "{" initializer-list "," "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	cast-expression => "(" type-name . ")" cast-expression ("=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" ":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?")
		")" => shift 363

299:	direct-declarator => direct-declarator "[" "*" "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 187

300:	logical-and-expression => logical-and-expression "&&" . bitwise-or-expression (":" "}" ")" "]" "&&" "||" "," "?" ";")
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 362

301:	string-literal => string-literal '$string . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" '$string "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 299

302:	bitwise-or-expression => bitwise-or-expression "|" . bitwise-xor-expression (":" "}" ")" "]" "," "||" "&&" "|" ";" "?")
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 361

303:	bitwise-xor-expression => bitwise-xor-expression "^" . bitwise-and-expression (":" "}" ")" "]" "^" "|" "&&" "||" "," "?" ";")
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 360

304:	bitwise-and-expression => bitwise-and-expression "&" . equality-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?")
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 359

305:	equality-expression => equality-expression "==" . relational-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 358

306:	equality-expression => equality-expression "!=" . relational-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 357

307:	relational-expression => relational-expression "<" . shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 356

308:	relational-expression => relational-expression ">" . shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 355

309:	relational-expression => relational-expression "<=" . shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 354

310:	relational-expression => relational-expression ">=" . shift-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 353

311:	shift-expression => shift-expression "<<" . additive-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 352

312:	shift-expression => shift-expression ">>" . additive-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 351

313:	additive-expression => additive-expression "+" . multiplicative-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 350

314:	additive-expression => additive-expression "-" . multiplicative-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 349

315:	multiplicative-expression => multiplicative-expression "*" . cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 348

316:	multiplicative-expression => multiplicative-expression "/" . cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 347

317:	multiplicative-expression => multiplicative-expression "%" . cast-expression (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 346

318:	type-qualifier-list => type-qualifier-list . type-qualifier ("const" "volatile" "restrict" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-declarator => direct-declarator "[" "static" type-qualifier-list . assignment-expression "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 345
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128

319:	direct-declarator => direct-declarator "(" parameter-type-list ")" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 188

320:	parameter-type-list => parameter-list "," . "..." (")")
	parameter-list => parameter-list "," . parameter-declaration (")" ",")
	parameter-declaration => . declaration-specifiers declarator
	parameter-declaration => . declaration-specifiers abstract-declarator
	parameter-declaration => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 133
		parameter-declaration => shift 343
		"..." => shift 344

321:	parameter-declaration => declaration-specifiers declarator . ("," ")")
		")" => reduce 201
		"," => reduce 201

322:	direct-abstract-declarator => "[" . "*" "]" ("," ")" "[" "(")
	direct-abstract-declarator => "[" . type-qualifier-list "static" assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => "[" . "static" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => "[" . "static" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => "[" . "]" ("," ")" "[" "(")
	direct-abstract-declarator => "[" . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	direct-abstract-declarator => "[" . type-qualifier-list "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => "[" . type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 338
		"]" => shift 339
		"static" => shift 340
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 341
		"*" => shift 342

323:	direct-declarator => "(" . declarator ")" ("," ")" "[" "(")
	declarator => . pointer direct-declarator
	declarator => . direct-declarator
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	identifier => . '$ident
	identifier => . 'cpp-ident
	direct-abstract-declarator => "(" . ")" ("," ")" "[" "(")
	direct-abstract-declarator => "(" . parameter-type-list ")" ("," ")" "[" "(")
	parameter-type-list => . parameter-list
	parameter-type-list => . parameter-list "," "..."
	parameter-list => . parameter-declaration
	parameter-list => . parameter-list "," parameter-declaration
	parameter-declaration => . declaration-specifiers declarator
	parameter-declaration => . declaration-specifiers abstract-declarator
	parameter-declaration => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	direct-abstract-declarator => "(" . abstract-declarator ")" ("," ")" "[" "(")
	abstract-declarator => . pointer
	abstract-declarator => . pointer direct-abstract-declarator
	abstract-declarator => . direct-abstract-declarator
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
		"[" => shift 322
		direct-abstract-declarator => shift 324
		abstract-declarator => shift 335
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 133
		parameter-declaration => shift 134
		parameter-list => shift 135
		parameter-type-list => shift 336
		")" => shift 337
		'cpp-ident => shift 50
		'$ident => shift 51
		"*" => shift 52
		"(" => shift 323
		identifier => shift 54
		direct-declarator => shift 55
		pointer => shift 325
		declarator => shift 113

324:	direct-abstract-declarator => direct-abstract-declarator . "(" ")" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "(" parameter-type-list ")" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "*" "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list "static" assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "static" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "static" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	abstract-declarator => direct-abstract-declarator . ("," ")")
		"[" => shift 333
		"(" => shift 334
		")" => reduce 210
		"," => reduce 210

325:	declarator => pointer . direct-declarator ("," ")")
	direct-declarator => . identifier
	direct-declarator => . "(" declarator ")"
	direct-declarator => . direct-declarator "[" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "]"
	direct-declarator => . direct-declarator "[" assignment-expression "]"
	direct-declarator => . direct-declarator "[" "]"
	direct-declarator => . direct-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-declarator => . direct-declarator "[" type-qualifier-list "*" "]"
	direct-declarator => . direct-declarator "[" "*" "]"
	direct-declarator => . direct-declarator "(" parameter-type-list ")"
	direct-declarator => . direct-declarator "(" identifier-list ")"
	direct-declarator => . direct-declarator "(" ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	abstract-declarator => pointer . direct-abstract-declarator ("," ")")
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
	abstract-declarator => pointer . ("," ")")
		"[" => shift 322
		direct-abstract-declarator => shift 332
		'cpp-ident => shift 50
		'$ident => shift 51
		"(" => shift 323
		identifier => shift 54
		direct-declarator => shift 110
		")" => reduce 208
		"," => reduce 208

326:	parameter-declaration => declaration-specifiers abstract-declarator . ("," ")")
		")" => reduce 202
		"," => reduce 202

327:	direct-declarator => direct-declarator "(" identifier-list ")" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 189

328:	identifier-list => identifier-list "," . identifier ("," ")")
	identifier => . '$ident
	identifier => . 'cpp-ident
		'cpp-ident => shift 50
		'$ident => shift 51
		identifier => shift 331

329:	declaration => declaration-specifiers init-declarator-list $P1 ";" opt-code-comment . ("goto" "continue" "break" "return" "while" "do" "for" "if" "switch" ";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "case" "default" "{" '$end "}" "extern" 'cpp-stmt '$lone-comm "inline" "const" "volatile" "restrict" "void" "_Bool" 'typename "enum" "struct" "union" "_Complex" "float" "double" "long" "short" "signed" "int" "unsigned" "char" "auto" "register" "static" "typedef")
		'$lone-comm => reduce 82
		$default => reduce 82

330:	external-declaration => "extern" '$string "{" translation-unit "}" . ('$end "}" "typedef" "static" "register" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" '$lone-comm 'cpp-stmt "extern")
		'$lone-comm => reduce 286
		$default => reduce 286

331:	identifier-list => identifier-list "," identifier . ("," ")")
		")" => reduce 205
		"," => reduce 205

332:	direct-abstract-declarator => direct-abstract-declarator . "(" ")" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "(" parameter-type-list ")" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "*" "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list "static" assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "static" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "static" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator . "[" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	abstract-declarator => pointer direct-abstract-declarator . ("," ")")
		"[" => shift 333
		"(" => shift 334
		")" => reduce 209
		"," => reduce 209

333:	direct-abstract-declarator => direct-abstract-declarator "[" . type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" . type-qualifier-list "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	direct-abstract-declarator => direct-abstract-declarator "[" . "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator "[" . "static" type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator "[" . "static" type-qualifier-list "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator "[" . type-qualifier-list "static" assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" . "*" "]" ("," ")" "[" "(")
		"static" => shift 442
		"]" => shift 443
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 444
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 445
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 446

334:	direct-abstract-declarator => direct-abstract-declarator "(" . parameter-type-list ")" ("," ")" "[" "(")
	parameter-type-list => . parameter-list
	parameter-type-list => . parameter-list "," "..."
	parameter-list => . parameter-declaration
	parameter-list => . parameter-list "," parameter-declaration
	parameter-declaration => . declaration-specifiers declarator
	parameter-declaration => . declaration-specifiers abstract-declarator
	parameter-declaration => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	direct-abstract-declarator => direct-abstract-declarator "(" . ")" ("," ")" "[" "(")
		")" => shift 440
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 133
		parameter-declaration => shift 134
		parameter-list => shift 135
		parameter-type-list => shift 441

335:	direct-abstract-declarator => "(" abstract-declarator . ")" ("," ")" "[" "(")
		")" => shift 439

336:	direct-abstract-declarator => "(" parameter-type-list . ")" ("," ")" "[" "(")
		")" => shift 438

337:	direct-abstract-declarator => "(" ")" . ("," ")" "[" "(")
		$default => reduce 231

338:	direct-abstract-declarator => "[" assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 437

339:	direct-abstract-declarator => "[" "]" . ("," ")" "[" "(")
		$default => reduce 222

340:	direct-abstract-declarator => "[" "static" . type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => "[" "static" . type-qualifier-list "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 436

341:	direct-abstract-declarator => "[" type-qualifier-list . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	direct-abstract-declarator => "[" type-qualifier-list . "]" ("," ")" "[" "(")
	type-qualifier-list => type-qualifier-list . type-qualifier ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "]" "const" "volatile" "restrict" "static")
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => "[" type-qualifier-list . "static" assignment-expression "]" ("," ")" "[" "(")
		"static" => shift 433
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		"]" => shift 434
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 435

342:	unary-operator => "*" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	direct-abstract-declarator => "[" "*" . "]" ("," ")" "[" "(")
		"]" => shift 432
		$default => reduce 29

343:	parameter-list => parameter-list "," parameter-declaration . (")" ",")
		"," => reduce 200
		")" => reduce 200

344:	parameter-type-list => parameter-list "," "..." . (")")
		")" => reduce 198

345:	direct-declarator => direct-declarator "[" "static" type-qualifier-list assignment-expression . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"]" => shift 431

346:	multiplicative-expression => multiplicative-expression "%" cast-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		$default => reduce 39

347:	multiplicative-expression => multiplicative-expression "/" cast-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		$default => reduce 38

348:	multiplicative-expression => multiplicative-expression "*" cast-expression . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		$default => reduce 37

349:	multiplicative-expression => multiplicative-expression . "%" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	multiplicative-expression => multiplicative-expression . "/" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	multiplicative-expression => multiplicative-expression . "*" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	additive-expression => additive-expression "-" multiplicative-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
		"*" => shift 315
		"/" => shift 316
		"%" => shift 317
		$default => reduce 42

350:	multiplicative-expression => multiplicative-expression . "%" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	multiplicative-expression => multiplicative-expression . "/" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	multiplicative-expression => multiplicative-expression . "*" cast-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?" "*" "/" "%")
	additive-expression => additive-expression "+" multiplicative-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" ";" "?")
		"*" => shift 315
		"/" => shift 316
		"%" => shift 317
		$default => reduce 41

351:	additive-expression => additive-expression . "-" multiplicative-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "+" "-")
	additive-expression => additive-expression . "+" multiplicative-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "+" "-")
	shift-expression => shift-expression ">>" additive-expression . (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"+" => shift 313
		"-" => shift 314
		$default => reduce 45

352:	additive-expression => additive-expression . "-" multiplicative-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "+" "-")
	additive-expression => additive-expression . "+" multiplicative-expression (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "+" "-")
	shift-expression => shift-expression "<<" additive-expression . (":" "}" ")" "]" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"+" => shift 313
		"-" => shift 314
		$default => reduce 44

353:	shift-expression => shift-expression . ">>" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	shift-expression => shift-expression . "<<" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	relational-expression => relational-expression ">=" shift-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
		"<<" => shift 311
		">>" => shift 312
		$default => reduce 50

354:	shift-expression => shift-expression . ">>" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	shift-expression => shift-expression . "<<" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	relational-expression => relational-expression "<=" shift-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
		"<<" => shift 311
		">>" => shift 312
		$default => reduce 49

355:	shift-expression => shift-expression . ">>" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	shift-expression => shift-expression . "<<" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	relational-expression => relational-expression ">" shift-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
		"<<" => shift 311
		">>" => shift 312
		$default => reduce 48

356:	shift-expression => shift-expression . ">>" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	shift-expression => shift-expression . "<<" additive-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?" "<<" ">>")
	relational-expression => relational-expression "<" shift-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ";" "?")
		"<<" => shift 311
		">>" => shift 312
		$default => reduce 47

357:	relational-expression => relational-expression . ">=" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . "<=" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . ">" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . "<" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	equality-expression => equality-expression "!=" relational-expression . (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"<" => shift 307
		">" => shift 308
		"<=" => shift 309
		">=" => shift 310
		$default => reduce 53

358:	relational-expression => relational-expression . ">=" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . "<=" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . ">" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	relational-expression => relational-expression . "<" shift-expression (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "<" ">" "<=" ">=")
	equality-expression => equality-expression "==" relational-expression . (":" "}" ")" "]" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";")
		"<" => shift 307
		">" => shift 308
		"<=" => shift 309
		">=" => shift 310
		$default => reduce 52

359:	equality-expression => equality-expression . "!=" relational-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?" "==" "!=")
	equality-expression => equality-expression . "==" relational-expression (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?" "==" "!=")
	bitwise-and-expression => bitwise-and-expression "&" equality-expression . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" ";" "?")
		"==" => shift 305
		"!=" => shift 306
		$default => reduce 55

360:	bitwise-and-expression => bitwise-and-expression . "&" equality-expression (":" "}" ")" "]" "^" "|" "&&" "||" "," "?" ";" "&")
	bitwise-xor-expression => bitwise-xor-expression "^" bitwise-and-expression . (":" "}" ")" "]" "^" "|" "&&" "||" "," "?" ";")
		"&" => shift 304
		$default => reduce 57

361:	bitwise-xor-expression => bitwise-xor-expression . "^" bitwise-and-expression (":" "}" ")" "]" "," "||" "&&" "|" ";" "?" "^")
	bitwise-or-expression => bitwise-or-expression "|" bitwise-xor-expression . (":" "}" ")" "]" "," "||" "&&" "|" ";" "?")
		"^" => shift 303
		$default => reduce 59

362:	bitwise-or-expression => bitwise-or-expression . "|" bitwise-xor-expression (":" "}" ")" "]" "&&" "||" "," "?" ";" "|")
	logical-and-expression => logical-and-expression "&&" bitwise-or-expression . (":" "}" ")" "]" "&&" "||" "," "?" ";")
		"|" => shift 302
		$default => reduce 61

363:	cast-expression => "(" type-name ")" . cast-expression ("=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" ":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?")
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	postfix-expression => "(" type-name ")" . "{" initializer-list "," "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	postfix-expression => "(" type-name ")" . "{" initializer-list "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		"{" => shift 429
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 430

364:	direct-abstract-declarator => "(" . ")" ("," ")" "[" "(")
	direct-abstract-declarator => "(" . parameter-type-list ")" ("," ")" "[" "(")
	parameter-type-list => . parameter-list
	parameter-type-list => . parameter-list "," "..."
	parameter-list => . parameter-declaration
	parameter-list => . parameter-list "," parameter-declaration
	parameter-declaration => . declaration-specifiers declarator
	parameter-declaration => . declaration-specifiers abstract-declarator
	parameter-declaration => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
	direct-abstract-declarator => "(" . abstract-declarator ")" ("," ")" "[" "(")
	abstract-declarator => . pointer
	abstract-declarator => . pointer direct-abstract-declarator
	abstract-declarator => . direct-abstract-declarator
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
		"[" => shift 322
		"(" => shift 364
		"*" => shift 52
		direct-abstract-declarator => shift 324
		pointer => shift 365
		abstract-declarator => shift 335
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 133
		parameter-declaration => shift 134
		parameter-list => shift 135
		parameter-type-list => shift 336
		")" => shift 337

365:	abstract-declarator => pointer . direct-abstract-declarator ("," ")")
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
	abstract-declarator => pointer . ("," ")")
		"[" => shift 322
		"(" => shift 364
		direct-abstract-declarator => shift 332
		")" => reduce 208
		"," => reduce 208

366:	type-name => specifier-qualifier-list abstract-declarator . (")")
		")" => reduce 206

367:	primary-expression => "(" expression ")" . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "--" "++" "->" "." "(" "[" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		$default => reduce 5

368:	logical-and-expression => logical-and-expression . "&&" bitwise-or-expression (":" "}" ")" "]" "," "||" ";" "?" "&&")
	logical-or-expression => logical-or-expression "||" logical-and-expression . (":" "}" ")" "]" "," "||" ";" "?")
		"&&" => shift 300
		$default => reduce 63

369:	expression => expression . "," assignment-expression ("," ":")
	conditional-expression => logical-or-expression "?" expression . ":" conditional-expression (":" "}" ")" "]" "," ";")
		":" => shift 428
		"," => shift 244

370:	unary-expression => "sizeof" "(" type-name . ")" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
	postfix-expression => "(" type-name . ")" "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	postfix-expression => "(" type-name . ")" "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
		")" => shift 427

371:	postfix-expression => "(" type-name . ")" "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	postfix-expression => "(" type-name . ")" "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
		")" => shift 426

372:	postfix-expression => postfix-expression "->" identifier . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 11

373:	postfix-expression => postfix-expression "." identifier . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 10

374:	postfix-expression => postfix-expression "(" ")" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 9

375:	arg-expr-hack => declaration-specifiers . ("," ")")
	arg-expr-hack => declaration-specifiers . abstract-declarator ("," ")")
	abstract-declarator => . pointer
	abstract-declarator => . pointer direct-abstract-declarator
	abstract-declarator => . direct-abstract-declarator
	pointer => . "*" type-qualifier-list
	pointer => . "*"
	pointer => . "*" type-qualifier-list pointer
	pointer => . "*" pointer
	direct-abstract-declarator => . "(" abstract-declarator ")"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" type-qualifier-list "]"
	direct-abstract-declarator => . "[" assignment-expression "]"
	direct-abstract-declarator => . "[" "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list assignment-expression "]"
	direct-abstract-declarator => . "[" "static" type-qualifier-list "]"
	direct-abstract-declarator => . "[" type-qualifier-list "static" assignment-expression "]"
	direct-abstract-declarator => . direct-abstract-declarator "[" "*" "]"
	direct-abstract-declarator => . "[" "*" "]"
	direct-abstract-declarator => . direct-abstract-declarator "(" parameter-type-list ")"
	direct-abstract-declarator => . direct-abstract-declarator "(" ")"
	direct-abstract-declarator => . "(" parameter-type-list ")"
	direct-abstract-declarator => . "(" ")"
		"[" => shift 322
		"(" => shift 364
		"*" => shift 52
		direct-abstract-declarator => shift 324
		pointer => shift 365
		abstract-declarator => shift 425
		")" => reduce 21
		"," => reduce 21

376:	argument-expression-list => arg-expr-hack . ("," ")")
		")" => reduce 18
		"," => reduce 18

377:	argument-expression-list => assignment-expression . ("," ")")
		")" => reduce 16
		"," => reduce 16

378:	argument-expression-list => argument-expression-list . "," arg-expr-hack ("," ")")
	argument-expression-list => argument-expression-list . "," assignment-expression ("," ")")
	postfix-expression => postfix-expression "(" argument-expression-list . ")" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		")" => shift 423
		"," => shift 424

379:	expression => expression . "," assignment-expression ("," "]")
	postfix-expression => postfix-expression "[" expression . "]" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		"]" => shift 422
		"," => shift 244

380:	assignment-expression => unary-expression assignment-operator assignment-expression . (":" "}" ")" "]" "," ";")
		$default => reduce 67

381:	direct-declarator => direct-declarator "[" type-qualifier-list "*" "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 186

382:	direct-declarator => direct-declarator "[" type-qualifier-list "static" assignment-expression . "]" (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		"]" => shift 421

383:	direct-declarator => direct-declarator "[" type-qualifier-list assignment-expression "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 180

384:	initializer => "{" initializer-list "," . "}" (";" "}" ",")
	initializer-list => initializer-list "," . designation initializer ("}" ",")
	designation => . designator-list "="
	designator-list => . designator
	designator-list => . designator-list designator
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	initializer-list => initializer-list "," . initializer ("}" ",")
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 418
		"." => shift 255
		"[" => shift 256
		designator => shift 257
		designator-list => shift 258
		designation => shift 419
		"}" => shift 420

385:	initializer => "{" initializer-list "}" . (";" "}" ",")
		"," => reduce 234
		"}" => reduce 234
		";" => reduce 234

386:	initializer-list => designation initializer . ("}" ",")
		"," => reduce 236
		"}" => reduce 236

387:	designation => designator-list "=" . ("{" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 240

388:	designator-list => designator-list designator . ("[" "." "=")
		"=" => reduce 242
		"." => reduce 242
		"[" => reduce 242

389:	designator => "[" constant-expression . "]" ("." "[" "=")
		"]" => shift 417

390:	designator => "." identifier . ("." "[" "=")
		"=" => reduce 244
		"[" => reduce 244
		"." => reduce 244

391:	jump-statement => "return" expression ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 278

392:	jump-statement => "goto" identifier ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 275

393:	initial-clause => declaration . (";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 274

394:	initial-clause => ";" . (";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 273

395:	expression => expression . "," assignment-expression ("," ";")
	initial-clause => expression . ";" (";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		";" => shift 416
		"," => shift 244

396:	iteration-statement => "for" "(" initial-clause . ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" "(" initial-clause . ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" "(" initial-clause . expression ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	iteration-statement => "for" "(" initial-clause . expression ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 414
		";" => shift 415

397:	iteration-statement => "do" statement "while" . "(" expression ")" ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"(" => shift 413

398:	expression => expression . "," assignment-expression ("," ")")
	iteration-statement => "while" "(" expression . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 412
		"," => shift 244

399:	expression => expression . "," assignment-expression ("," ")")
	selection-statement => "switch" "(" expression . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 411
		"," => shift 244

400:	selection-statement => "if" "(" expression . ")" statement "else" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => expression . "," assignment-expression ("," ")")
	selection-statement => "if" "(" expression . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"," => shift 244
		")" => shift 410

401:	expression => expression "," assignment-expression . ("]" ":" ")" "," ";")
		$default => reduce 80

402:	labeled-statement => "default" ":" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 254

403:	labeled-statement => "case" constant-expression ":" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 409

404:	labeled-statement => identifier ":" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 252

405:	struct-declarator => declarator ":" constant-expression . ("," ";")
		";" => reduce 161
		"," => reduce 161

406:	struct-declarator-list => struct-declarator-list "," struct-declarator . ("," ";")
		";" => reduce 159
		"," => reduce 159

407:	struct-declaration => specifier-qualifier-list struct-declarator-list ";" opt-code-comment . ('$lone-comm "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "}")
		'$lone-comm => reduce 153
		$default => reduce 153

408:	enum-specifier => "enum" identifier "{" enumerator-list "," "}" . ("[" ")" "," ":" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" ";" "(" '$ident 'cpp-ident "*")
		$default => reduce 164

409:	labeled-statement => "case" constant-expression ":" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 253

410:	selection-statement => "if" "(" expression ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	selection-statement => "if" "(" expression ")" . statement "else" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 469

411:	selection-statement => "switch" "(" expression ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 468

412:	iteration-statement => "while" "(" expression ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 467

413:	iteration-statement => "do" statement "while" "(" . expression ")" ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 466

414:	iteration-statement => "for" "(" initial-clause expression . ";" expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => expression . "," assignment-expression ("," ";")
	iteration-statement => "for" "(" initial-clause expression . ";" ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"," => shift 244
		";" => shift 465

415:	iteration-statement => "for" "(" initial-clause ";" . expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	iteration-statement => "for" "(" initial-clause ";" . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 463
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 464

416:	initial-clause => expression ";" . (";" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		$default => reduce 272

417:	designator => "[" constant-expression "]" . ("." "[" "=")
		"=" => reduce 243
		"[" => reduce 243
		"." => reduce 243

418:	initializer-list => initializer-list "," initializer . ("}" ",")
		"," => reduce 239
		"}" => reduce 239

419:	initializer-list => initializer-list "," designation . initializer ("}" ",")
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 462

420:	initializer => "{" initializer-list "," "}" . (";" "}" ",")
		"," => reduce 235
		"}" => reduce 235
		";" => reduce 235

421:	direct-declarator => direct-declarator "[" type-qualifier-list "static" assignment-expression "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 185

422:	postfix-expression => postfix-expression "[" expression "]" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 7

423:	postfix-expression => postfix-expression "(" argument-expression-list ")" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 8

424:	argument-expression-list => argument-expression-list "," . assignment-expression ("," ")")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	argument-expression-list => argument-expression-list "," . arg-expr-hack ("," ")")
	arg-expr-hack => . declaration-specifiers abstract-declarator
	arg-expr-hack => . declaration-specifiers
	declaration-specifiers => . storage-class-specifier
	declaration-specifiers => . storage-class-specifier declaration-specifiers
	declaration-specifiers => . type-specifier
	declaration-specifiers => . type-specifier declaration-specifiers
	declaration-specifiers => . type-qualifier
	declaration-specifiers => . type-qualifier declaration-specifiers
	declaration-specifiers => . function-specifier
	declaration-specifiers => . function-specifier declaration-specifiers
	storage-class-specifier => . "auto"
	storage-class-specifier => . "extern"
	storage-class-specifier => . "register"
	storage-class-specifier => . "static"
	storage-class-specifier => . "typedef"
	type-specifier => . "void"
	type-specifier => . fixed-type-specifier
	type-specifier => . float-type-specifier
	type-specifier => . "_Bool"
	type-specifier => . complex-type-specifier
	type-specifier => . struct-or-union-specifier
	type-specifier => . enum-specifier
	type-specifier => . typedef-name
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	function-specifier => . "inline"
	fixed-type-specifier => . "short"
	fixed-type-specifier => . "short" "int"
	fixed-type-specifier => . "signed" "short"
	fixed-type-specifier => . "signed" "short" "int"
	fixed-type-specifier => . "int"
	fixed-type-specifier => . "signed"
	fixed-type-specifier => . "signed" "int"
	fixed-type-specifier => . "long"
	fixed-type-specifier => . "long" "int"
	fixed-type-specifier => . "signed" "long"
	fixed-type-specifier => . "signed" "long" "int"
	fixed-type-specifier => . "long" "long"
	fixed-type-specifier => . "long" "long" "int"
	fixed-type-specifier => . "signed" "long" "long"
	fixed-type-specifier => . "signed" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "short" "int"
	fixed-type-specifier => . "unsigned" "short"
	fixed-type-specifier => . "unsigned" "int"
	fixed-type-specifier => . "unsigned"
	fixed-type-specifier => . "unsigned" "long" "int"
	fixed-type-specifier => . "unsigned" "long"
	fixed-type-specifier => . "unsigned" "long" "long" "int"
	fixed-type-specifier => . "unsigned" "long" "long"
	fixed-type-specifier => . "char"
	fixed-type-specifier => . "signed" "char"
	fixed-type-specifier => . "unsigned" "char"
	float-type-specifier => . "float"
	float-type-specifier => . "double"
	float-type-specifier => . "long" "double"
	complex-type-specifier => . "_Complex"
	complex-type-specifier => . "float" "_Complex"
	complex-type-specifier => . "double" "_Complex"
	complex-type-specifier => . "long" "double" "_Complex"
	struct-or-union-specifier => . "struct" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "struct" identifier
	struct-or-union-specifier => . "union" identifier "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" "{" struct-declaration-list "}"
	struct-or-union-specifier => . "union" identifier
	enum-specifier => . "enum" identifier "{" enumerator-list "}"
	enum-specifier => . "enum" identifier "{" enumerator-list "," "}"
	enum-specifier => . "enum" "{" enumerator-list "}"
	enum-specifier => . "enum" "{" enumerator-list "," "}"
	enum-specifier => . "enum" identifier
	typedef-name => . 'typename
		'typename => shift 1
		"enum" => shift 2
		"union" => shift 3
		"struct" => shift 4
		"_Complex" => shift 5
		"double" => shift 6
		"float" => shift 7
		"char" => shift 8
		"unsigned" => shift 9
		"long" => shift 10
		"int" => shift 11
		"signed" => shift 12
		"short" => shift 13
		"inline" => shift 14
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		typedef-name => shift 18
		enum-specifier => shift 19
		struct-or-union-specifier => shift 20
		complex-type-specifier => shift 21
		"_Bool" => shift 22
		float-type-specifier => shift 23
		fixed-type-specifier => shift 24
		"void" => shift 25
		"typedef" => shift 26
		"static" => shift 27
		"register" => shift 28
		"extern" => shift 58
		"auto" => shift 29
		function-specifier => shift 30
		type-qualifier => shift 31
		type-specifier => shift 32
		storage-class-specifier => shift 33
		declaration-specifiers => shift 375
		arg-expr-hack => shift 460
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 461

425:	arg-expr-hack => declaration-specifiers abstract-declarator . ("," ")")
		")" => reduce 20
		"," => reduce 20

426:	postfix-expression => "(" type-name ")" . "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	postfix-expression => "(" type-name ")" . "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
		"{" => shift 429

427:	postfix-expression => "(" type-name ")" . "{" initializer-list "," "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	postfix-expression => "(" type-name ")" . "{" initializer-list "}" (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" "[" "(" "." "->" "++" "--")
	unary-expression => "sizeof" "(" type-name ")" . (":" "}" ")" "]" "*" "/" "%" "-" "+" "<<" ">>" ">=" "<=" ">" "<" "==" "!=" "&" "^" "|" "&&" "||" "," "?" ";" "=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=")
		"{" => shift 429
		$default => reduce 27

428:	conditional-expression => logical-or-expression "?" expression ":" . conditional-expression (":" "}" ")" "]" "," ";")
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		primary-expression => shift 163
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		"(" => shift 162
		unary-expression => shift 227
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		logical-and-expression => shift 155
		logical-or-expression => shift 164
		conditional-expression => shift 459

429:	postfix-expression => "(" type-name ")" "{" . initializer-list "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	initializer-list => . designation initializer
	initializer-list => . initializer
	initializer-list => . initializer-list "," designation initializer
	initializer-list => . initializer-list "," initializer
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	designation => . designator-list "="
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	designator-list => . designator
	designator-list => . designator-list designator
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => "(" type-name ")" "{" . initializer-list "," "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	initializer-list => . designation initializer
	initializer-list => . initializer
	initializer-list => . initializer-list "," designation initializer
	initializer-list => . initializer-list "," initializer
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	designation => . designator-list "="
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	designator-list => . designator
	designator-list => . designator-list designator
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		"." => shift 255
		"[" => shift 256
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		designator => shift 257
		unary-expression => shift 170
		conditional-expression => shift 171
		designator-list => shift 258
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 259
		designation => shift 260
		initializer-list => shift 458

430:	cast-expression => "(" type-name ")" cast-expression . ("=" "+=" "-=" "*=" "/=" "%=" "<<=" ">>=" "&=" "^=" "|=" ":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?")
		$default => reduce 35

431:	direct-declarator => direct-declarator "[" "static" type-qualifier-list assignment-expression "]" . (":" ")" "," "=" ";" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "[" "(" "{")
		$default => reduce 184

432:	direct-abstract-declarator => "[" "*" "]" . ("," ")" "[" "(")
		$default => reduce 227

433:	direct-abstract-declarator => "[" type-qualifier-list "static" . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 457

434:	direct-abstract-declarator => "[" type-qualifier-list "]" . ("," ")" "[" "(")
		$default => reduce 220

435:	direct-abstract-declarator => "[" type-qualifier-list assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 456

436:	direct-abstract-declarator => "[" "static" type-qualifier-list . "]" ("," ")" "[" "(")
	type-qualifier-list => type-qualifier-list . type-qualifier ("]" "const" "volatile" "restrict" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => "[" "static" type-qualifier-list . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 454
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		"]" => shift 455

437:	direct-abstract-declarator => "[" assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 221

438:	direct-abstract-declarator => "(" parameter-type-list ")" . ("," ")" "[" "(")
		$default => reduce 230

439:	direct-abstract-declarator => "(" abstract-declarator ")" . ("," ")" "[" "(")
		$default => reduce 211

440:	direct-abstract-declarator => direct-abstract-declarator "(" ")" . ("," ")" "[" "(")
		$default => reduce 229

441:	direct-abstract-declarator => direct-abstract-declarator "(" parameter-type-list . ")" ("," ")" "[" "(")
		")" => shift 453

442:	direct-abstract-declarator => direct-abstract-declarator "[" "static" . type-qualifier-list "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" "static" . type-qualifier-list assignment-expression "]" ("," ")" "[" "(")
	type-qualifier-list => . type-qualifier
	type-qualifier-list => . type-qualifier-list type-qualifier
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 114
		type-qualifier-list => shift 452

443:	direct-abstract-declarator => direct-abstract-declarator "[" "]" . ("," ")" "[" "(")
		$default => reduce 215

444:	direct-abstract-declarator => direct-abstract-declarator "[" "*" . "]" ("," ")" "[" "(")
	unary-operator => "*" . ("(" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
		"]" => shift 451
		$default => reduce 29

445:	direct-abstract-declarator => direct-abstract-declarator "[" assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 450

446:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list . "static" assignment-expression "]" ("," ")" "[" "(")
	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list . "]" ("," ")" "[" "(")
	type-qualifier-list => type-qualifier-list . type-qualifier ("static" "]" "const" "volatile" "restrict" "++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident)
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 447
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		"]" => shift 448
		"static" => shift 449

447:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 483

448:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "]" . ("," ")" "[" "(")
		$default => reduce 213

449:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "static" . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 482

450:	direct-abstract-declarator => direct-abstract-declarator "[" assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 214

451:	direct-abstract-declarator => direct-abstract-declarator "[" "*" "]" . ("," ")" "[" "(")
		$default => reduce 226

452:	direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list . assignment-expression "]" ("," ")" "[" "(")
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	type-qualifier-list => type-qualifier-list . type-qualifier ("++" "--" "sizeof" "&" "*" "+" "-" "~" "!" "(" '$string '$fixed '$float '$chlit '$ident 'cpp-ident "const" "volatile" "restrict" "]")
	type-qualifier => . "const"
	type-qualifier => . "volatile"
	type-qualifier => . "restrict"
	direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list . "]" ("," ")" "[" "(")
		"]" => shift 480
		"restrict" => shift 15
		"volatile" => shift 16
		"const" => shift 17
		type-qualifier => shift 128
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 481

453:	direct-abstract-declarator => direct-abstract-declarator "(" parameter-type-list ")" . ("," ")" "[" "(")
		$default => reduce 228

454:	direct-abstract-declarator => "[" "static" type-qualifier-list assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 479

455:	direct-abstract-declarator => "[" "static" type-qualifier-list "]" . ("," ")" "[" "(")
		$default => reduce 224

456:	direct-abstract-declarator => "[" type-qualifier-list assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 219

457:	direct-abstract-declarator => "[" type-qualifier-list "static" assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 478

458:	postfix-expression => "(" type-name ")" "{" initializer-list . "," "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
	initializer-list => initializer-list . "," initializer ("," "}")
	initializer-list => initializer-list . "," designation initializer ("," "}")
	postfix-expression => "(" type-name ")" "{" initializer-list . "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		"}" => shift 476
		"," => shift 477

459:	conditional-expression => logical-or-expression "?" expression ":" conditional-expression . (":" "}" ")" "]" "," ";")
		$default => reduce 65

460:	argument-expression-list => argument-expression-list "," arg-expr-hack . ("," ")")
		")" => reduce 19
		"," => reduce 19

461:	argument-expression-list => argument-expression-list "," assignment-expression . ("," ")")
		")" => reduce 17
		"," => reduce 17

462:	initializer-list => initializer-list "," designation initializer . ("}" ",")
		"," => reduce 238
		"}" => reduce 238

463:	iteration-statement => "for" "(" initial-clause ";" ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 475

464:	expression => expression . "," assignment-expression ("," ")")
	iteration-statement => "for" "(" initial-clause ";" expression . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 474
		"," => shift 244

465:	iteration-statement => "for" "(" initial-clause expression ";" . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	iteration-statement => "for" "(" initial-clause expression ";" . expression ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		assignment-expression => shift 180
		expression => shift 472
		")" => shift 473

466:	expression => expression . "," assignment-expression ("," ")")
	iteration-statement => "do" statement "while" "(" expression . ")" ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 471
		"," => shift 244

467:	iteration-statement => "while" "(" expression ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 266

468:	selection-statement => "switch" "(" expression ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 265

469:	selection-statement => "if" "(" expression ")" statement . "else" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	selection-statement => "if" "(" expression ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		"else" => shift 470
		$default => reduce 263
		["else" => reduce 263] REMOVED by precedence

470:	selection-statement => "if" "(" expression ")" statement "else" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 491

471:	iteration-statement => "do" statement "while" "(" expression ")" . ";" ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		";" => shift 490

472:	expression => expression . "," assignment-expression ("," ")")
	iteration-statement => "for" "(" initial-clause expression ";" expression . ")" statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		")" => shift 489
		"," => shift 244

473:	iteration-statement => "for" "(" initial-clause expression ";" ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 488

474:	iteration-statement => "for" "(" initial-clause ";" expression ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 487

475:	iteration-statement => "for" "(" initial-clause ";" ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 271

476:	postfix-expression => "(" type-name ")" "{" initializer-list "}" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 14

477:	initializer-list => initializer-list "," . designation initializer ("," "}")
	designation => . designator-list "="
	designator-list => . designator
	designator-list => . designator-list designator
	designator => . "[" constant-expression "]"
	designator => . "." identifier
	initializer-list => initializer-list "," . initializer ("," "}")
	initializer => . assignment-expression
	initializer => . "{" initializer-list "}"
	initializer => . "{" initializer-list "," "}"
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
	postfix-expression => "(" type-name ")" "{" initializer-list "," . "}" (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		"}" => shift 486
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		'cpp-ident => shift 50
		'$ident => shift 51
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		identifier => shift 154
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		"{" => shift 175
		assignment-expression => shift 176
		initializer => shift 418
		"." => shift 255
		"[" => shift 256
		designator => shift 257
		designator-list => shift 258
		designation => shift 419

478:	direct-abstract-declarator => "[" type-qualifier-list "static" assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 225

479:	direct-abstract-declarator => "[" "static" type-qualifier-list assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 223

480:	direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list "]" . ("," ")" "[" "(")
		$default => reduce 217

481:	direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 485

482:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression . "]" ("," ")" "[" "(")
		"]" => shift 484

483:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 212

484:	direct-abstract-declarator => direct-abstract-declarator "[" type-qualifier-list "static" assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 218

485:	direct-abstract-declarator => direct-abstract-declarator "[" "static" type-qualifier-list assignment-expression "]" . ("," ")" "[" "(")
		$default => reduce 216

486:	postfix-expression => "(" type-name ")" "{" initializer-list "," "}" . (":" "}" ")" "]" "," "||" "&&" "|" "^" "&" "!=" "==" "<" ">" "<=" ">=" ">>" "<<" "+" "-" "%" "/" "*" ";" "?" "[" "(" "." "->" "++" "--" "|=" "^=" "&=" ">>=" "<<=" "%=" "/=" "*=" "-=" "+=" "=")
		$default => reduce 15

487:	iteration-statement => "for" "(" initial-clause ";" expression ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 270

488:	iteration-statement => "for" "(" initial-clause expression ";" ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 269

489:	iteration-statement => "for" "(" initial-clause expression ";" expression ")" . statement ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
	statement => . labeled-statement
	statement => . compound-statement
	statement => . expression-statement
	statement => . selection-statement
	statement => . iteration-statement
	statement => . jump-statement
	statement => . cpp-statement
	labeled-statement => . identifier ":" statement
	labeled-statement => . "case" constant-expression ":" statement
	labeled-statement => . "default" ":" statement
	compound-statement => . "{" block-item-list "}"
	compound-statement => . "{" "}"
	expression-statement => . expression ";"
	expression-statement => . ";"
	selection-statement => . "if" "(" expression ")" statement
	selection-statement => . "if" "(" expression ")" statement "else" statement
	selection-statement => . "switch" "(" expression ")" statement
	iteration-statement => . "while" "(" expression ")" statement
	iteration-statement => . "do" statement "while" "(" expression ")" ";"
	iteration-statement => . "for" "(" initial-clause expression ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause expression ";" ")" statement
	iteration-statement => . "for" "(" initial-clause ";" expression ")" statement
	iteration-statement => . "for" "(" initial-clause ";" ")" statement
	jump-statement => . "goto" identifier ";"
	jump-statement => . "continue" ";"
	jump-statement => . "break" ";"
	jump-statement => . "return" expression ";"
	jump-statement => . "return" ";"
	cpp-statement => . 'cpp-stmt
	expression => . assignment-expression
	expression => . expression "," assignment-expression
	identifier => . '$ident
	identifier => . 'cpp-ident
	assignment-expression => . conditional-expression
	assignment-expression => . unary-expression assignment-operator assignment-expression
	unary-expression => . postfix-expression
	unary-expression => . "++" unary-expression
	unary-expression => . "--" unary-expression
	unary-expression => . unary-operator cast-expression
	unary-expression => . "sizeof" unary-expression
	unary-expression => . "sizeof" "(" type-name ")"
	conditional-expression => . logical-or-expression
	conditional-expression => . logical-or-expression "?" expression ":" conditional-expression
	postfix-expression => . primary-expression
	postfix-expression => . postfix-expression "[" expression "]"
	postfix-expression => . postfix-expression "(" argument-expression-list ")"
	postfix-expression => . postfix-expression "(" ")"
	postfix-expression => . postfix-expression "." identifier
	postfix-expression => . postfix-expression "->" identifier
	postfix-expression => . postfix-expression "++"
	postfix-expression => . postfix-expression "--"
	postfix-expression => . "(" type-name ")" "{" initializer-list "}"
	postfix-expression => . "(" type-name ")" "{" initializer-list "," "}"
	unary-operator => . "&"
	unary-operator => . "*"
	unary-operator => . "+"
	unary-operator => . "-"
	unary-operator => . "~"
	unary-operator => . "!"
	logical-or-expression => . logical-and-expression
	logical-or-expression => . logical-or-expression "||" logical-and-expression
	primary-expression => . identifier
	primary-expression => . constant
	primary-expression => . string-literal
	primary-expression => . "(" expression ")"
	logical-and-expression => . bitwise-or-expression
	logical-and-expression => . logical-and-expression "&&" bitwise-or-expression
	bitwise-or-expression => . bitwise-xor-expression
	bitwise-or-expression => . bitwise-or-expression "|" bitwise-xor-expression
	constant => . '$fixed
	constant => . '$float
	constant => . '$chlit
	string-literal => . '$string
	string-literal => . string-literal '$string
	bitwise-xor-expression => . bitwise-and-expression
	bitwise-xor-expression => . bitwise-xor-expression "^" bitwise-and-expression
	bitwise-and-expression => . equality-expression
	bitwise-and-expression => . bitwise-and-expression "&" equality-expression
	equality-expression => . relational-expression
	equality-expression => . equality-expression "==" relational-expression
	equality-expression => . equality-expression "!=" relational-expression
	relational-expression => . shift-expression
	relational-expression => . relational-expression "<" shift-expression
	relational-expression => . relational-expression ">" shift-expression
	relational-expression => . relational-expression "<=" shift-expression
	relational-expression => . relational-expression ">=" shift-expression
	shift-expression => . additive-expression
	shift-expression => . shift-expression "<<" additive-expression
	shift-expression => . shift-expression ">>" additive-expression
	additive-expression => . multiplicative-expression
	additive-expression => . additive-expression "+" multiplicative-expression
	additive-expression => . additive-expression "-" multiplicative-expression
	multiplicative-expression => . cast-expression
	multiplicative-expression => . multiplicative-expression "*" cast-expression
	multiplicative-expression => . multiplicative-expression "/" cast-expression
	multiplicative-expression => . multiplicative-expression "%" cast-expression
	cast-expression => . unary-expression
	cast-expression => . "(" type-name ")" cast-expression
		cast-expression => shift 139
		multiplicative-expression => shift 140
		additive-expression => shift 141
		shift-expression => shift 142
		relational-expression => shift 143
		equality-expression => shift 144
		bitwise-and-expression => shift 145
		'$string => shift 146
		'$chlit => shift 147
		'$float => shift 148
		'$fixed => shift 149
		bitwise-xor-expression => shift 150
		bitwise-or-expression => shift 151
		string-literal => shift 152
		constant => shift 153
		logical-and-expression => shift 155
		"!" => shift 156
		"~" => shift 157
		"-" => shift 158
		"+" => shift 159
		"*" => shift 174
		"&" => shift 161
		"(" => shift 162
		primary-expression => shift 163
		logical-or-expression => shift 164
		"sizeof" => shift 165
		unary-operator => shift 166
		"--" => shift 167
		"++" => shift 168
		postfix-expression => shift 169
		unary-expression => shift 170
		conditional-expression => shift 171
		'cpp-ident => shift 50
		'$ident => shift 51
		assignment-expression => shift 180
		'cpp-stmt => shift 34
		"return" => shift 181
		"break" => shift 182
		"continue" => shift 183
		"goto" => shift 184
		"for" => shift 185
		"do" => shift 186
		"while" => shift 187
		"switch" => shift 188
		"if" => shift 189
		";" => shift 190
		expression => shift 191
		"{" => shift 104
		"default" => shift 192
		"case" => shift 193
		identifier => shift 194
		cpp-statement => shift 195
		jump-statement => shift 196
		iteration-statement => shift 197
		selection-statement => shift 198
		expression-statement => shift 199
		compound-statement => shift 200
		labeled-statement => shift 201
		statement => shift 492

490:	iteration-statement => "do" statement "while" "(" expression ")" ";" . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 267

491:	selection-statement => "if" "(" expression ")" statement "else" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 264

492:	iteration-statement => "for" "(" initial-clause expression ";" expression ")" statement . ("else" "typedef" "static" "register" "extern" "auto" "char" "unsigned" "int" "signed" "short" "long" "double" "float" "_Complex" "union" "struct" "enum" 'typename "_Bool" "void" "restrict" "volatile" "const" "inline" "default" "case" "{" 'cpp-ident '$ident '$chlit '$float '$fixed '$string "(" "!" "~" "-" "+" "*" "&" "sizeof" "--" "++" ";" "switch" "if" "for" "do" "while" "return" "break" "continue" "goto" 'cpp-stmt "}")
		$default => reduce 268

