Terminals unused in grammar

   BREAK
   ELSE
   SWITCH
   CASE
   CONTINUE
   FOR
   DEFAULT
   GOTO
   DO
   IF
   WHILE
   USING
   RESTRICT
   NONE
   LAB


State 68 conflicts: 1 shift/reduce


Grammar

    0 $accept: prog $end

    1 prog: s1 exts

    2 s1: %empty

    3 exts: NAMESPACE ID '{' exts1 '}'
    4     | exts1

    5 exts1: %empty
    6      | exts1 ext

    7 ext: dclrs ';'
    8    | pragma
    9    | t1
   10    | t2
   11    | error ';'

   12 pragma: PRAGMA

   13 decls: %empty
   14      | dclrs ';' decls
   15      | PRIVATE ':' t3 decls
   16      | PROTECTED ':' t4 decls
   17      | PUBLIC ':' t5 decls
   18      | t1 decls t2 decls
   19      | ';' decls
   20      | error ';'

   21 t1: '['

   22 t2: ']'

   23 t3: %empty

   24 t4: %empty

   25 t5: %empty

   26 dclrs: spec
   27      | spec dclr
   28      | spec fdclr func
   29      | ctor func
   30      | dtor func
   31      | sym
   32      | dclrs ',' dclr
   33      | dclrs ',' fdclr func
   34      | error ID
   35      | error ')'

   36 dclr: ptrs ID arrayck tag bounds brinit

   37 fdclr: ptrs name

   38 id: ID
   39   | TYPE

   40 name: id
   41     | OPERATOR '!'
   42     | OPERATOR '~'
   43     | OPERATOR '='
   44     | OPERATOR PA
   45     | OPERATOR NA
   46     | OPERATOR TA
   47     | OPERATOR DA
   48     | OPERATOR MA
   49     | OPERATOR AA
   50     | OPERATOR XA
   51     | OPERATOR OA
   52     | OPERATOR LA
   53     | OPERATOR RA
   54     | OPERATOR OR
   55     | OPERATOR AN
   56     | OPERATOR '|'
   57     | OPERATOR '^'
   58     | OPERATOR '&'
   59     | OPERATOR EQ
   60     | OPERATOR NE
   61     | OPERATOR '<'
   62     | OPERATOR LE
   63     | OPERATOR '>'
   64     | OPERATOR GE
   65     | OPERATOR LS
   66     | OPERATOR RS
   67     | OPERATOR '+'
   68     | OPERATOR '-'
   69     | OPERATOR '*'
   70     | OPERATOR '/'
   71     | OPERATOR '%'
   72     | OPERATOR PP
   73     | OPERATOR NN
   74     | OPERATOR AR
   75     | OPERATOR '[' ']'
   76     | OPERATOR '(' ')'
   77     | OPERATOR texp

   78 ctor: name

   79 dtor: virtual '~' id

   80 func: fname '(' s6 fargso ')' const abstract

   81 fname: %empty

   82 fargso: %empty
   83       | fargs

   84 fargs: farg
   85      | farg ',' fargs
   86      | error ID
   87      | error ','

   88 farg: tspec ptrs arg

   89 arg: arrayck init
   90    | ID arrayck tag occurs init

   91 sym: ID tag init

   92 texpf: texp
   93      | tspec ptrs '(' s6 fargso ')'

   94 texp: tspec ptrs array
   95     | tspec ptrs ID array

   96 spec: type
   97     | store spec
   98     | type spec

   99 tspec: store
  100      | type
  101      | store tspec
  102      | type tspec

  103 type: VOID
  104     | BOOL
  105     | CHAR
  106     | WCHAR
  107     | SHORT
  108     | INT
  109     | LONG
  110     | LLONG
  111     | ULLONG
  112     | SIZE
  113     | FLOAT
  114     | DOUBLE
  115     | SIGNED
  116     | UNSIGNED
  117     | UCHAR
  118     | USHORT
  119     | UINT
  120     | ULONG
  121     | TIME
  122     | TEMPLATE '<' tname id '>' CLASS id
  123     | CLASS '{' s2 decls '}'
  124     | classid '{' decls '}'
  125     | classid ':' base '{' decls '}'
  126     | class
  127     | STRUCT '{' s2 decls '}'
  128     | structid '{' decls '}'
  129     | STRUCT id
  130     | UNION '{' s3 decls '}'
  131     | unionid '{' decls '}'
  132     | UNION id
  133     | ENUM '{' s2 dclrs s5 '}'
  134     | ENUM '*' '{' s4 dclrs s5 '}'
  135     | enum '{' s2 dclrs s5 '}'
  136     | enumsc '{' s2 dclrs s5 '}'
  137     | mask '{' s4 dclrs s5 '}'
  138     | masksc '{' s4 dclrs s5 '}'
  139     | ENUM id
  140     | ENUM sc
  141     | TYPE
  142     | TYPE '<' texpf '>'
  143     | error ID error
  144     | error ID '>'
  145     | error '>'
  146     | CLASS error '}'
  147     | STRUCT error '}'
  148     | UNION error '}'
  149     | ENUM error '}'

  150 structid: struct s2

  151 struct: STRUCT id

  152 classid: class s2

  153 class: CLASS id

  154 unionid: union s3

  155 union: UNION id

  156 enum: ENUM id utype

  157 enumsc: ENUM sc utype

  158 mask: ENUM '*' id utype

  159 masksc: ENUM '*' sc utype

  160 sc: STRUCT id
  161   | CLASS id

  162 utype: ':' CHAR
  163      | ':' WCHAR
  164      | ':' SHORT
  165      | ':' INT
  166      | ':' LONG
  167      | ':' LLONG
  168      | ':' TYPE
  169      | ':'
  170      | %empty

  171 tname: CLASS
  172      | STRUCT
  173      | TYPENAME

  174 base: PROTECTED base
  175     | PRIVATE base
  176     | PUBLIC base
  177     | TYPE
  178     | STRUCT id
  179     | CLASS id

  180 s2: %empty

  181 s3: %empty

  182 s4: %empty

  183 s5: %empty
  184   | ','

  185 s6: %empty

  186 store: AUTO
  187      | REGISTER
  188      | STATIC
  189      | EXPLICIT
  190      | EXTERN
  191      | TYPEDEF
  192      | VIRTUAL
  193      | CONST
  194      | FINAL
  195      | OVERRIDE
  196      | FRIEND
  197      | INLINE
  198      | MUSTUNDERSTAND
  199      | RETURN
  200      | '@'
  201      | '$'
  202      | VOLATILE
  203      | MUTABLE

  204 const: %empty
  205      | const CONST
  206      | const FINAL
  207      | const OVERRIDE

  208 abstract: %empty
  209         | '=' LNG

  210 virtual: %empty
  211        | VIRTUAL

  212 ptrs: %empty
  213     | ptrs '*'
  214     | ptrs '&'
  215     | ptrs AN

  216 array: %empty
  217      | '[' cexp ']' array
  218      | '[' ']' array

  219 arrayck: array

  220 brinit: init
  221       | '{' cexp '}'

  222 init: %empty
  223     | '=' cexp
  224     | EQ cexp

  225 tag: %empty
  226    | TAG

  227 occurs: nullptr
  228       | nullptr LNG
  229       | nullptr LNG ':'
  230       | nullptr LNG ':' LNG
  231       | nullptr ':' LNG

  232 bounds: nullptr patt
  233       | nullptr patt value min
  234       | nullptr patt value minmax value
  235       | nullptr patt max value

  236 nullptr: %empty
  237        | null

  238 patt: %empty
  239     | STR

  240 value: DBL
  241      | LNG
  242      | CHR
  243      | '+' value
  244      | '-' value

  245 min: %empty
  246    | ':'
  247    | '<' ':'
  248    | '<'

  249 minmax: ':'
  250       | '<' ':'
  251       | ':' '<'
  252       | '<' ':' '<'
  253       | '<'

  254 max: ':'
  255    | ':' '<'
  256    | '<'

  257 expr: expr ',' expr
  258     | cexp

  259 cexp: obex '?' qexp ':' cexp
  260     | oexp

  261 qexp: expr

  262 oexp: obex OR aexp
  263     | aexp

  264 obex: oexp

  265 aexp: abex AN rexp
  266     | rexp

  267 abex: aexp

  268 rexp: rexp '|' rexp
  269     | rexp '^' rexp
  270     | rexp '&' rexp
  271     | rexp EQ rexp
  272     | rexp NE rexp
  273     | rexp '<' rexp
  274     | rexp LE rexp
  275     | rexp '>' rexp
  276     | rexp GE rexp
  277     | rexp LS rexp
  278     | rexp RS rexp
  279     | rexp '+' rexp
  280     | rexp '-' rexp
  281     | rexp '*' rexp
  282     | rexp '/' rexp
  283     | rexp '%' rexp
  284     | lexp

  285 lexp: '!' lexp
  286     | '~' lexp
  287     | '-' lexp
  288     | '+' lexp
  289     | '*' lexp
  290     | '&' lexp
  291     | SIZEOF '(' texp ')'
  292     | pexp

  293 pexp: '(' expr ')'
  294     | ID
  295     | LNG
  296     | DBL
  297     | CHR
  298     | STR
  299     | CFALSE
  300     | CTRUE


Terminals, with rules where they appear

$end (0) 0
'!' (33) 41 285
'$' (36) 201
'%' (37) 71 283
'&' (38) 58 214 270 290
'(' (40) 76 80 93 291 293
')' (41) 35 76 80 93 291 293
'*' (42) 69 134 158 159 213 281 289
'+' (43) 67 243 279 288
',' (44) 32 33 85 87 184 257
'-' (45) 68 244 280 287
'/' (47) 70 282
':' (58) 15 16 17 125 162 163 164 165 166 167 168 169 229 230 231 246
    247 249 250 251 252 254 255 259
';' (59) 7 11 14 19 20
'<' (60) 61 122 142 247 248 250 251 252 253 255 256 273
'=' (61) 43 209 223
'>' (62) 63 122 142 144 145 275
'?' (63) 259
'@' (64) 200
'[' (91) 21 75 217 218
']' (93) 22 75 217 218
'^' (94) 57 269
'{' (123) 3 123 124 125 127 128 130 131 133 134 135 136 137 138 221
'|' (124) 56 268
'}' (125) 3 123 124 125 127 128 130 131 133 134 135 136 137 138 146
    147 148 149 221
'~' (126) 42 79 286
error (256) 11 20 34 35 86 87 143 144 145 146 147 148 149
PRAGMA <s> (258) 12
AUTO <sym> (259) 186
DOUBLE <sym> (260) 114
INT <sym> (261) 108 165
STRUCT <sym> (262) 127 129 147 151 160 172 178
BREAK <sym> (263)
ELSE <sym> (264)
LONG <sym> (265) 109 166
SWITCH <sym> (266)
CASE <sym> (267)
ENUM <sym> (268) 133 134 139 140 149 156 157 158 159
REGISTER <sym> (269) 187
TYPEDEF <sym> (270) 191
CHAR <sym> (271) 105 162
EXTERN <sym> (272) 190
RETURN <sym> (273) 199
UNION <sym> (274) 130 132 148 155
CONST <sym> (275) 193 205
FLOAT <sym> (276) 113
SHORT <sym> (277) 107 164
UNSIGNED <sym> (278) 116
CONTINUE <sym> (279)
FOR <sym> (280)
SIGNED <sym> (281) 115
VOID <sym> (282) 103
DEFAULT <sym> (283)
GOTO <sym> (284)
SIZEOF <sym> (285) 291
VOLATILE <sym> (286) 202
DO <sym> (287)
IF <sym> (288)
STATIC <sym> (289) 188
WHILE <sym> (290)
CLASS <sym> (291) 122 123 146 153 161 171 179
PRIVATE <sym> (292) 15 175
PROTECTED <sym> (293) 16 174
PUBLIC <sym> (294) 17 176
VIRTUAL <sym> (295) 192 211
INLINE <sym> (296) 197
OPERATOR <sym> (297) 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
    57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
LLONG <sym> (298) 110 167
BOOL <sym> (299) 104
CFALSE <sym> (300) 299
CTRUE <sym> (301) 300
WCHAR <sym> (302) 106 163
TIME <sym> (303) 121
USING <sym> (304)
NAMESPACE <sym> (305) 3
ULLONG <sym> (306) 111
MUSTUNDERSTAND <sym> (307) 198
SIZE <sym> (308) 112
FRIEND <sym> (309) 196
TEMPLATE <sym> (310) 122
EXPLICIT <sym> (311) 189
TYPENAME <sym> (312) 173
MUTABLE <sym> (313) 203
null <sym> (314) 237
RESTRICT <sym> (315)
FINAL <sym> (316) 194 206
OVERRIDE <sym> (317) 195 207
UCHAR <sym> (318) 117
USHORT <sym> (319) 118
UINT <sym> (320) 119
ULONG <sym> (321) 120
NONE (322)
ID <sym> (323) 3 34 36 38 86 90 91 95 143 144 294
LAB <sym> (324)
TYPE <sym> (325) 39 141 142 168 177
LNG <i> (326) 209 228 229 230 231 241 295
DBL <r> (327) 240 296
CHR <c> (328) 242 297
TAG <s> (329) 226
STR <s> (330) 239 298
PA (331) 44
NA (332) 45
TA (333) 46
DA (334) 47
MA (335) 48
AA (336) 49
XA (337) 50
OA (338) 51
LA (339) 52
RA (340) 53
OR (341) 54 262
AN (342) 55 215 265
EQ (343) 59 224 271
NE (344) 60 272
LE (345) 62 274
GE (346) 64 276
LS (347) 65 277
RS (348) 66 278
AR (349) 74
PP (350) 72
NN (351) 73


Nonterminals, with rules where they appear

$accept (122)
    on left: 0
prog (123)
    on left: 1, on right: 0
s1 (124)
    on left: 2, on right: 1
exts (125)
    on left: 3 4, on right: 1
exts1 (126)
    on left: 5 6, on right: 3 4 6
ext (127)
    on left: 7 8 9 10 11, on right: 6
pragma (128)
    on left: 12, on right: 8
decls (129)
    on left: 13 14 15 16 17 18 19 20, on right: 14 15 16 17 18 19 123
    124 125 127 128 130 131
t1 (130)
    on left: 21, on right: 9 18
t2 (131)
    on left: 22, on right: 10 18
t3 (132)
    on left: 23, on right: 15
t4 (133)
    on left: 24, on right: 16
t5 (134)
    on left: 25, on right: 17
dclrs (135)
    on left: 26 27 28 29 30 31 32 33 34 35, on right: 7 14 32 33 133
    134 135 136 137 138
dclr (136)
    on left: 36, on right: 27 32
fdclr (137)
    on left: 37, on right: 28 33
id <sym> (138)
    on left: 38 39, on right: 40 79 122 129 132 139 151 153 155 156
    158 160 161 178 179
name <sym> (139)
    on left: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
    58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77, on right:
    37 78
ctor (140)
    on left: 78, on right: 29
dtor (141)
    on left: 79, on right: 30
func (142)
    on left: 80, on right: 28 29 30 33
fname <e> (143)
    on left: 81, on right: 80
fargso (144)
    on left: 82 83, on right: 80 93
fargs (145)
    on left: 84 85 86 87, on right: 83 85
farg (146)
    on left: 88, on right: 84 85
arg (147)
    on left: 89 90, on right: 88
sym (148)
    on left: 91, on right: 31
texpf <rec> (149)
    on left: 92 93, on right: 142
texp <rec> (150)
    on left: 94 95, on right: 77 92 291
spec <rec> (151)
    on left: 96 97 98, on right: 26 27 28 97 98
tspec <rec> (152)
    on left: 99 100 101 102, on right: 88 93 94 95 101 102
type <typ> (153)
    on left: 103 104 105 106 107 108 109 110 111 112 113 114 115 116
    117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
    133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
    149, on right: 96 98 100 102
structid <e> (154)
    on left: 150, on right: 128
struct <e> (155)
    on left: 151, on right: 150
classid <e> (156)
    on left: 152, on right: 124 125
class <e> (157)
    on left: 153, on right: 126 152
unionid <e> (158)
    on left: 154, on right: 131
union <e> (159)
    on left: 155, on right: 154
enum <e> (160)
    on left: 156, on right: 135
enumsc <e> (161)
    on left: 157, on right: 136
mask <e> (162)
    on left: 158, on right: 137
masksc <e> (163)
    on left: 159, on right: 138
sc <sym> (164)
    on left: 160 161, on right: 140 157 159
utype <i> (165)
    on left: 162 163 164 165 166 167 168 169 170, on right: 156 157
    158 159
tname (166)
    on left: 171 172 173, on right: 122
base <e> (167)
    on left: 174 175 176 177 178 179, on right: 125 174 175 176
s2 (168)
    on left: 180, on right: 123 127 133 135 136 150 152
s3 (169)
    on left: 181, on right: 130 154
s4 (170)
    on left: 182, on right: 134 137 138
s5 (171)
    on left: 183 184, on right: 133 134 135 136 137 138
s6 (172)
    on left: 185, on right: 80 93
store <sto> (173)
    on left: 186 187 188 189 190 191 192 193 194 195 196 197 198 199
    200 201 202 203, on right: 97 99 101
const <sto> (174)
    on left: 204 205 206 207, on right: 80 205 206 207
abstract <sto> (175)
    on left: 208 209, on right: 80
virtual <sto> (176)
    on left: 210 211, on right: 79
ptrs <rec> (177)
    on left: 212 213 214 215, on right: 36 37 88 93 94 95 213 214 215
array <rec> (178)
    on left: 216 217 218, on right: 94 95 217 218 219
arrayck <rec> (179)
    on left: 219, on right: 36 89 90
brinit <rec> (180)
    on left: 220 221, on right: 36
init <rec> (181)
    on left: 222 223 224, on right: 89 90 91 220
tag <s> (182)
    on left: 225 226, on right: 36 90 91
occurs <rec> (183)
    on left: 227 228 229 230 231, on right: 90
bounds <rec> (184)
    on left: 232 233 234 235, on right: 36
nullptr <i> (185)
    on left: 236 237, on right: 227 228 229 230 231 232 233 234 235
patt <s> (186)
    on left: 238 239, on right: 232 233 234 235
value <ir> (187)
    on left: 240 241 242 243 244, on right: 233 234 235 243 244
min <rec> (188)
    on left: 245 246 247 248, on right: 233
minmax <rec> (189)
    on left: 249 250 251 252 253, on right: 234
max <rec> (190)
    on left: 254 255 256, on right: 235
expr <rec> (191)
    on left: 257 258, on right: 257 261 293
cexp <rec> (192)
    on left: 259 260, on right: 217 221 223 224 258 259
qexp <rec> (193)
    on left: 261, on right: 259
oexp <rec> (194)
    on left: 262 263, on right: 260 264
obex <rec> (195)
    on left: 264, on right: 259 262
aexp <rec> (196)
    on left: 265 266, on right: 262 263 267
abex <rec> (197)
    on left: 267, on right: 265
rexp <rec> (198)
    on left: 268 269 270 271 272 273 274 275 276 277 278 279 280 281
    282 283 284, on right: 265 266 268 269 270 271 272 273 274 275
    276 277 278 279 280 281 282 283
lexp <rec> (199)
    on left: 285 286 287 288 289 290 291 292, on right: 284 285 286
    287 288 289 290
pexp <rec> (200)
    on left: 293 294 295 296 297 298 299 300, on right: 292


State 0

    0 $accept: . prog $end

    $default  reduce using rule 2 (s1)

    prog  go to state 1
    s1    go to state 2


State 1

    0 $accept: prog . $end

    $end  shift, and go to state 3


State 2

    1 prog: s1 . exts

    NAMESPACE  shift, and go to state 4

    $default  reduce using rule 5 (exts1)

    exts   go to state 5
    exts1  go to state 6


State 3

    0 $accept: prog $end .

    $default  accept


State 4

    3 exts: NAMESPACE . ID '{' exts1 '}'

    ID  shift, and go to state 7


State 5

    1 prog: s1 exts .

    $default  reduce using rule 1 (prog)


State 6

    4 exts: exts1 .
    6 exts1: exts1 . ext

    error           shift, and go to state 8
    PRAGMA          shift, and go to state 9
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '['             shift, and go to state 53
    ']'             shift, and go to state 54
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    $end  reduce using rule 4 (exts)
    '~'   reduce using rule 210 (virtual)

    ext       go to state 57
    pragma    go to state 58
    t1        go to state 59
    t2        go to state 60
    dclrs     go to state 61
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 7

    3 exts: NAMESPACE ID . '{' exts1 '}'

    '{'  shift, and go to state 81


State 8

   11 ext: error . ';'
   34 dclrs: error . ID
   35      | error . ')'
  143 type: error . ID error
  144     | error . ID '>'
  145     | error . '>'

    ID   shift, and go to state 82
    '>'  shift, and go to state 83
    ';'  shift, and go to state 84
    ')'  shift, and go to state 85


State 9

   12 pragma: PRAGMA .

    $default  reduce using rule 12 (pragma)


State 10

  186 store: AUTO .

    $default  reduce using rule 186 (store)


State 11

  114 type: DOUBLE .

    $default  reduce using rule 114 (type)


State 12

  108 type: INT .

    $default  reduce using rule 108 (type)


State 13

  127 type: STRUCT . '{' s2 decls '}'
  129     | STRUCT . id
  147     | STRUCT . error '}'
  151 struct: STRUCT . id

    error  shift, and go to state 86
    ID     shift, and go to state 87
    TYPE   shift, and go to state 88
    '{'    shift, and go to state 89

    id  go to state 90


State 14

  109 type: LONG .

    $default  reduce using rule 109 (type)


State 15

  133 type: ENUM . '{' s2 dclrs s5 '}'
  134     | ENUM . '*' '{' s4 dclrs s5 '}'
  139     | ENUM . id
  140     | ENUM . sc
  149     | ENUM . error '}'
  156 enum: ENUM . id utype
  157 enumsc: ENUM . sc utype
  158 mask: ENUM . '*' id utype
  159 masksc: ENUM . '*' sc utype

    error   shift, and go to state 91
    STRUCT  shift, and go to state 92
    CLASS   shift, and go to state 93
    ID      shift, and go to state 87
    TYPE    shift, and go to state 88
    '*'     shift, and go to state 94
    '{'     shift, and go to state 95

    id  go to state 96
    sc  go to state 97


State 16

  187 store: REGISTER .

    $default  reduce using rule 187 (store)


State 17

  191 store: TYPEDEF .

    $default  reduce using rule 191 (store)


State 18

  105 type: CHAR .

    $default  reduce using rule 105 (type)


State 19

  190 store: EXTERN .

    $default  reduce using rule 190 (store)


State 20

  199 store: RETURN .

    $default  reduce using rule 199 (store)


State 21

  130 type: UNION . '{' s3 decls '}'
  132     | UNION . id
  148     | UNION . error '}'
  155 union: UNION . id

    error  shift, and go to state 98
    ID     shift, and go to state 87
    TYPE   shift, and go to state 88
    '{'    shift, and go to state 99

    id  go to state 100


State 22

  193 store: CONST .

    $default  reduce using rule 193 (store)


State 23

  113 type: FLOAT .

    $default  reduce using rule 113 (type)


State 24

  107 type: SHORT .

    $default  reduce using rule 107 (type)


State 25

  116 type: UNSIGNED .

    $default  reduce using rule 116 (type)


State 26

  115 type: SIGNED .

    $default  reduce using rule 115 (type)


State 27

  103 type: VOID .

    $default  reduce using rule 103 (type)


State 28

  202 store: VOLATILE .

    $default  reduce using rule 202 (store)


State 29

  188 store: STATIC .

    $default  reduce using rule 188 (store)


State 30

  123 type: CLASS . '{' s2 decls '}'
  146     | CLASS . error '}'
  153 class: CLASS . id

    error  shift, and go to state 101
    ID     shift, and go to state 87
    TYPE   shift, and go to state 88
    '{'    shift, and go to state 102

    id  go to state 103


State 31

  192 store: VIRTUAL .
  211 virtual: VIRTUAL .

    '~'       reduce using rule 211 (virtual)
    $default  reduce using rule 192 (store)


State 32

  197 store: INLINE .

    $default  reduce using rule 197 (store)


State 33

   41 name: OPERATOR . '!'
   42     | OPERATOR . '~'
   43     | OPERATOR . '='
   44     | OPERATOR . PA
   45     | OPERATOR . NA
   46     | OPERATOR . TA
   47     | OPERATOR . DA
   48     | OPERATOR . MA
   49     | OPERATOR . AA
   50     | OPERATOR . XA
   51     | OPERATOR . OA
   52     | OPERATOR . LA
   53     | OPERATOR . RA
   54     | OPERATOR . OR
   55     | OPERATOR . AN
   56     | OPERATOR . '|'
   57     | OPERATOR . '^'
   58     | OPERATOR . '&'
   59     | OPERATOR . EQ
   60     | OPERATOR . NE
   61     | OPERATOR . '<'
   62     | OPERATOR . LE
   63     | OPERATOR . '>'
   64     | OPERATOR . GE
   65     | OPERATOR . LS
   66     | OPERATOR . RS
   67     | OPERATOR . '+'
   68     | OPERATOR . '-'
   69     | OPERATOR . '*'
   70     | OPERATOR . '/'
   71     | OPERATOR . '%'
   72     | OPERATOR . PP
   73     | OPERATOR . NN
   74     | OPERATOR . AR
   75     | OPERATOR . '[' ']'
   76     | OPERATOR . '(' ')'
   77     | OPERATOR . texp

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '='             shift, and go to state 107
    PA              shift, and go to state 108
    NA              shift, and go to state 109
    TA              shift, and go to state 110
    DA              shift, and go to state 111
    MA              shift, and go to state 112
    AA              shift, and go to state 113
    XA              shift, and go to state 114
    OA              shift, and go to state 115
    LA              shift, and go to state 116
    RA              shift, and go to state 117
    OR              shift, and go to state 118
    AN              shift, and go to state 119
    '|'             shift, and go to state 120
    '^'             shift, and go to state 121
    '&'             shift, and go to state 122
    EQ              shift, and go to state 123
    NE              shift, and go to state 124
    '<'             shift, and go to state 125
    LE              shift, and go to state 126
    '>'             shift, and go to state 127
    GE              shift, and go to state 128
    LS              shift, and go to state 129
    RS              shift, and go to state 130
    '+'             shift, and go to state 131
    '-'             shift, and go to state 132
    '*'             shift, and go to state 133
    '/'             shift, and go to state 134
    '%'             shift, and go to state 135
    AR              shift, and go to state 136
    PP              shift, and go to state 137
    NN              shift, and go to state 138
    '['             shift, and go to state 139
    '!'             shift, and go to state 140
    '~'             shift, and go to state 141
    '('             shift, and go to state 142
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    texp      go to state 143
    tspec     go to state 144
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 34

  110 type: LLONG .

    $default  reduce using rule 110 (type)


State 35

  104 type: BOOL .

    $default  reduce using rule 104 (type)


State 36

  106 type: WCHAR .

    $default  reduce using rule 106 (type)


State 37

  121 type: TIME .

    $default  reduce using rule 121 (type)


State 38

  111 type: ULLONG .

    $default  reduce using rule 111 (type)


State 39

  198 store: MUSTUNDERSTAND .

    $default  reduce using rule 198 (store)


State 40

  112 type: SIZE .

    $default  reduce using rule 112 (type)


State 41

  196 store: FRIEND .

    $default  reduce using rule 196 (store)


State 42

  122 type: TEMPLATE . '<' tname id '>' CLASS id

    '<'  shift, and go to state 147


State 43

  189 store: EXPLICIT .

    $default  reduce using rule 189 (store)


State 44

  203 store: MUTABLE .

    $default  reduce using rule 203 (store)


State 45

  194 store: FINAL .

    $default  reduce using rule 194 (store)


State 46

  195 store: OVERRIDE .

    $default  reduce using rule 195 (store)


State 47

  117 type: UCHAR .

    $default  reduce using rule 117 (type)


State 48

  118 type: USHORT .

    $default  reduce using rule 118 (type)


State 49

  119 type: UINT .

    $default  reduce using rule 119 (type)


State 50

  120 type: ULONG .

    $default  reduce using rule 120 (type)


State 51

   38 id: ID .
   91 sym: ID . tag init

    TAG  shift, and go to state 148

    '('       reduce using rule 38 (id)
    $default  reduce using rule 225 (tag)

    tag  go to state 149


State 52

   39 id: TYPE .
  141 type: TYPE .
  142     | TYPE . '<' texpf '>'

    '<'  shift, and go to state 150

    '('       reduce using rule 39 (id)
    $default  reduce using rule 141 (type)


State 53

   21 t1: '[' .

    $default  reduce using rule 21 (t1)


State 54

   22 t2: ']' .

    $default  reduce using rule 22 (t2)


State 55

  200 store: '@' .

    $default  reduce using rule 200 (store)


State 56

  201 store: '$' .

    $default  reduce using rule 201 (store)


State 57

    6 exts1: exts1 ext .

    $default  reduce using rule 6 (exts1)


State 58

    8 ext: pragma .

    $default  reduce using rule 8 (ext)


State 59

    9 ext: t1 .

    $default  reduce using rule 9 (ext)


State 60

   10 ext: t2 .

    $default  reduce using rule 10 (ext)


State 61

    7 ext: dclrs . ';'
   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func

    ','  shift, and go to state 151
    ';'  shift, and go to state 152


State 62

   40 name: id .

    $default  reduce using rule 40 (name)


State 63

   78 ctor: name .

    $default  reduce using rule 78 (ctor)


State 64

   29 dclrs: ctor . func

    $default  reduce using rule 81 (fname)

    func   go to state 153
    fname  go to state 154


State 65

   30 dclrs: dtor . func

    $default  reduce using rule 81 (fname)

    func   go to state 155
    fname  go to state 154


State 66

   31 dclrs: sym .

    $default  reduce using rule 31 (dclrs)


State 67

   26 dclrs: spec .
   27      | spec . dclr
   28      | spec . fdclr func

    ','       reduce using rule 26 (dclrs)
    '}'       reduce using rule 26 (dclrs)
    ';'       reduce using rule 26 (dclrs)
    $default  reduce using rule 212 (ptrs)

    dclr   go to state 156
    fdclr  go to state 157
    ptrs   go to state 158


State 68

   96 spec: type .
   98     | type . spec

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    OPERATOR  reduce using rule 96 (spec)
    ID        reduce using rule 96 (spec)
    TYPE      [reduce using rule 96 (spec)]
    ','       reduce using rule 96 (spec)
    AN        reduce using rule 96 (spec)
    '&'       reduce using rule 96 (spec)
    '*'       reduce using rule 96 (spec)
    '}'       reduce using rule 96 (spec)
    ';'       reduce using rule 96 (spec)

    spec      go to state 159
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79


State 69

  128 type: structid . '{' decls '}'

    '{'  shift, and go to state 160


State 70

  150 structid: struct . s2

    $default  reduce using rule 180 (s2)

    s2  go to state 161


State 71

  124 type: classid . '{' decls '}'
  125     | classid . ':' base '{' decls '}'

    ':'  shift, and go to state 162
    '{'  shift, and go to state 163


State 72

  126 type: class .
  152 classid: class . s2

    ':'       reduce using rule 180 (s2)
    '{'       reduce using rule 180 (s2)
    $default  reduce using rule 126 (type)

    s2  go to state 164


State 73

  131 type: unionid . '{' decls '}'

    '{'  shift, and go to state 165


State 74

  154 unionid: union . s3

    $default  reduce using rule 181 (s3)

    s3  go to state 166


State 75

  135 type: enum . '{' s2 dclrs s5 '}'

    '{'  shift, and go to state 167


State 76

  136 type: enumsc . '{' s2 dclrs s5 '}'

    '{'  shift, and go to state 168


State 77

  137 type: mask . '{' s4 dclrs s5 '}'

    '{'  shift, and go to state 169


State 78

  138 type: masksc . '{' s4 dclrs s5 '}'

    '{'  shift, and go to state 170


State 79

   97 spec: store . spec

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    spec      go to state 171
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79


State 80

   79 dtor: virtual . '~' id

    '~'  shift, and go to state 172


State 81

    3 exts: NAMESPACE ID '{' . exts1 '}'

    $default  reduce using rule 5 (exts1)

    exts1  go to state 173


State 82

   34 dclrs: error ID .
  143 type: error ID . error
  144     | error ID . '>'

    error  shift, and go to state 174
    '>'    shift, and go to state 175

    ','  reduce using rule 34 (dclrs)
    '}'  reduce using rule 34 (dclrs)
    ';'  reduce using rule 34 (dclrs)


State 83

  145 type: error '>' .

    $default  reduce using rule 145 (type)


State 84

   11 ext: error ';' .

    $default  reduce using rule 11 (ext)


State 85

   35 dclrs: error ')' .

    $default  reduce using rule 35 (dclrs)


State 86

  147 type: STRUCT error . '}'

    '}'  shift, and go to state 176


State 87

   38 id: ID .

    $default  reduce using rule 38 (id)


State 88

   39 id: TYPE .

    $default  reduce using rule 39 (id)


State 89

  127 type: STRUCT '{' . s2 decls '}'

    $default  reduce using rule 180 (s2)

    s2  go to state 177


State 90

  129 type: STRUCT id .
  151 struct: STRUCT id .

    '{'       reduce using rule 151 (struct)
    $default  reduce using rule 129 (type)


State 91

  149 type: ENUM error . '}'

    '}'  shift, and go to state 178


State 92

  160 sc: STRUCT . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 179


State 93

  161 sc: CLASS . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 180


State 94

  134 type: ENUM '*' . '{' s4 dclrs s5 '}'
  158 mask: ENUM '*' . id utype
  159 masksc: ENUM '*' . sc utype

    STRUCT  shift, and go to state 92
    CLASS   shift, and go to state 93
    ID      shift, and go to state 87
    TYPE    shift, and go to state 88
    '{'     shift, and go to state 181

    id  go to state 182
    sc  go to state 183


State 95

  133 type: ENUM '{' . s2 dclrs s5 '}'

    $default  reduce using rule 180 (s2)

    s2  go to state 184


State 96

  139 type: ENUM id .
  156 enum: ENUM id . utype

    ':'  shift, and go to state 185

    '{'       reduce using rule 170 (utype)
    $default  reduce using rule 139 (type)

    utype  go to state 186


State 97

  140 type: ENUM sc .
  157 enumsc: ENUM sc . utype

    ':'  shift, and go to state 185

    '{'       reduce using rule 170 (utype)
    $default  reduce using rule 140 (type)

    utype  go to state 187


State 98

  148 type: UNION error . '}'

    '}'  shift, and go to state 188


State 99

  130 type: UNION '{' . s3 decls '}'

    $default  reduce using rule 181 (s3)

    s3  go to state 189


State 100

  132 type: UNION id .
  155 union: UNION id .

    '{'       reduce using rule 155 (union)
    $default  reduce using rule 132 (type)


State 101

  146 type: CLASS error . '}'

    '}'  shift, and go to state 190


State 102

  123 type: CLASS '{' . s2 decls '}'

    $default  reduce using rule 180 (s2)

    s2  go to state 191


State 103

  153 class: CLASS id .

    $default  reduce using rule 153 (class)


State 104

  143 type: error . ID error
  144     | error . ID '>'
  145     | error . '>'

    ID   shift, and go to state 192
    '>'  shift, and go to state 83


State 105

  192 store: VIRTUAL .

    $default  reduce using rule 192 (store)


State 106

  141 type: TYPE .
  142     | TYPE . '<' texpf '>'

    '<'  shift, and go to state 150

    $default  reduce using rule 141 (type)


State 107

   43 name: OPERATOR '=' .

    $default  reduce using rule 43 (name)


State 108

   44 name: OPERATOR PA .

    $default  reduce using rule 44 (name)


State 109

   45 name: OPERATOR NA .

    $default  reduce using rule 45 (name)


State 110

   46 name: OPERATOR TA .

    $default  reduce using rule 46 (name)


State 111

   47 name: OPERATOR DA .

    $default  reduce using rule 47 (name)


State 112

   48 name: OPERATOR MA .

    $default  reduce using rule 48 (name)


State 113

   49 name: OPERATOR AA .

    $default  reduce using rule 49 (name)


State 114

   50 name: OPERATOR XA .

    $default  reduce using rule 50 (name)


State 115

   51 name: OPERATOR OA .

    $default  reduce using rule 51 (name)


State 116

   52 name: OPERATOR LA .

    $default  reduce using rule 52 (name)


State 117

   53 name: OPERATOR RA .

    $default  reduce using rule 53 (name)


State 118

   54 name: OPERATOR OR .

    $default  reduce using rule 54 (name)


State 119

   55 name: OPERATOR AN .

    $default  reduce using rule 55 (name)


State 120

   56 name: OPERATOR '|' .

    $default  reduce using rule 56 (name)


State 121

   57 name: OPERATOR '^' .

    $default  reduce using rule 57 (name)


State 122

   58 name: OPERATOR '&' .

    $default  reduce using rule 58 (name)


State 123

   59 name: OPERATOR EQ .

    $default  reduce using rule 59 (name)


State 124

   60 name: OPERATOR NE .

    $default  reduce using rule 60 (name)


State 125

   61 name: OPERATOR '<' .

    $default  reduce using rule 61 (name)


State 126

   62 name: OPERATOR LE .

    $default  reduce using rule 62 (name)


State 127

   63 name: OPERATOR '>' .

    $default  reduce using rule 63 (name)


State 128

   64 name: OPERATOR GE .

    $default  reduce using rule 64 (name)


State 129

   65 name: OPERATOR LS .

    $default  reduce using rule 65 (name)


State 130

   66 name: OPERATOR RS .

    $default  reduce using rule 66 (name)


State 131

   67 name: OPERATOR '+' .

    $default  reduce using rule 67 (name)


State 132

   68 name: OPERATOR '-' .

    $default  reduce using rule 68 (name)


State 133

   69 name: OPERATOR '*' .

    $default  reduce using rule 69 (name)


State 134

   70 name: OPERATOR '/' .

    $default  reduce using rule 70 (name)


State 135

   71 name: OPERATOR '%' .

    $default  reduce using rule 71 (name)


State 136

   74 name: OPERATOR AR .

    $default  reduce using rule 74 (name)


State 137

   72 name: OPERATOR PP .

    $default  reduce using rule 72 (name)


State 138

   73 name: OPERATOR NN .

    $default  reduce using rule 73 (name)


State 139

   75 name: OPERATOR '[' . ']'

    ']'  shift, and go to state 193


State 140

   41 name: OPERATOR '!' .

    $default  reduce using rule 41 (name)


State 141

   42 name: OPERATOR '~' .

    $default  reduce using rule 42 (name)


State 142

   76 name: OPERATOR '(' . ')'

    ')'  shift, and go to state 194


State 143

   77 name: OPERATOR texp .

    $default  reduce using rule 77 (name)


State 144

   94 texp: tspec . ptrs array
   95     | tspec . ptrs ID array

    $default  reduce using rule 212 (ptrs)

    ptrs  go to state 195


State 145

  100 tspec: type .
  102      | type . tspec

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    ID   reduce using rule 100 (tspec)
    ','  reduce using rule 100 (tspec)
    '='  reduce using rule 100 (tspec)
    AN   reduce using rule 100 (tspec)
    '&'  reduce using rule 100 (tspec)
    EQ   reduce using rule 100 (tspec)
    '>'  reduce using rule 100 (tspec)
    '*'  reduce using rule 100 (tspec)
    '['  reduce using rule 100 (tspec)
    ')'  reduce using rule 100 (tspec)
    '('  reduce using rule 100 (tspec)

    tspec     go to state 196
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 146

   99 tspec: store .
  101      | store . tspec

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    ID   reduce using rule 99 (tspec)
    ','  reduce using rule 99 (tspec)
    '='  reduce using rule 99 (tspec)
    AN   reduce using rule 99 (tspec)
    '&'  reduce using rule 99 (tspec)
    EQ   reduce using rule 99 (tspec)
    '>'  reduce using rule 99 (tspec)
    '*'  reduce using rule 99 (tspec)
    '['  reduce using rule 99 (tspec)
    ')'  reduce using rule 99 (tspec)
    '('  reduce using rule 99 (tspec)

    tspec     go to state 197
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 147

  122 type: TEMPLATE '<' . tname id '>' CLASS id

    STRUCT    shift, and go to state 198
    CLASS     shift, and go to state 199
    TYPENAME  shift, and go to state 200

    tname  go to state 201


State 148

  226 tag: TAG .

    $default  reduce using rule 226 (tag)


State 149

   91 sym: ID tag . init

    '='  shift, and go to state 202
    EQ   shift, and go to state 203

    $default  reduce using rule 222 (init)

    init  go to state 204


State 150

  142 type: TYPE '<' . texpf '>'

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    texpf     go to state 205
    texp      go to state 206
    tspec     go to state 207
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 151

   32 dclrs: dclrs ',' . dclr
   33      | dclrs ',' . fdclr func

    $default  reduce using rule 212 (ptrs)

    dclr   go to state 208
    fdclr  go to state 209
    ptrs   go to state 158


State 152

    7 ext: dclrs ';' .

    $default  reduce using rule 7 (ext)


State 153

   29 dclrs: ctor func .

    $default  reduce using rule 29 (dclrs)


State 154

   80 func: fname . '(' s6 fargso ')' const abstract

    '('  shift, and go to state 210


State 155

   30 dclrs: dtor func .

    $default  reduce using rule 30 (dclrs)


State 156

   27 dclrs: spec dclr .

    $default  reduce using rule 27 (dclrs)


State 157

   28 dclrs: spec fdclr . func

    $default  reduce using rule 81 (fname)

    func   go to state 211
    fname  go to state 154


State 158

   36 dclr: ptrs . ID arrayck tag bounds brinit
   37 fdclr: ptrs . name
  213 ptrs: ptrs . '*'
  214     | ptrs . '&'
  215     | ptrs . AN

    OPERATOR  shift, and go to state 33
    ID        shift, and go to state 212
    TYPE      shift, and go to state 88
    AN        shift, and go to state 213
    '&'       shift, and go to state 214
    '*'       shift, and go to state 215

    id    go to state 62
    name  go to state 216


State 159

   98 spec: type spec .

    $default  reduce using rule 98 (spec)


State 160

  128 type: structid '{' . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 222
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 161

  150 structid: struct s2 .

    $default  reduce using rule 150 (structid)


State 162

  125 type: classid ':' . base '{' decls '}'

    STRUCT     shift, and go to state 225
    CLASS      shift, and go to state 226
    PRIVATE    shift, and go to state 227
    PROTECTED  shift, and go to state 228
    PUBLIC     shift, and go to state 229
    TYPE       shift, and go to state 230

    base  go to state 231


State 163

  124 type: classid '{' . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 232
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 164

  152 classid: class s2 .

    $default  reduce using rule 152 (classid)


State 165

  131 type: unionid '{' . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 233
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 166

  154 unionid: union s3 .

    $default  reduce using rule 154 (unionid)


State 167

  135 type: enum '{' . s2 dclrs s5 '}'

    $default  reduce using rule 180 (s2)

    s2  go to state 234


State 168

  136 type: enumsc '{' . s2 dclrs s5 '}'

    $default  reduce using rule 180 (s2)

    s2  go to state 235


State 169

  137 type: mask '{' . s4 dclrs s5 '}'

    $default  reduce using rule 182 (s4)

    s4  go to state 236


State 170

  138 type: masksc '{' . s4 dclrs s5 '}'

    $default  reduce using rule 182 (s4)

    s4  go to state 237


State 171

   97 spec: store spec .

    $default  reduce using rule 97 (spec)


State 172

   79 dtor: virtual '~' . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 238


State 173

    3 exts: NAMESPACE ID '{' exts1 . '}'
    6 exts1: exts1 . ext

    error           shift, and go to state 8
    PRAGMA          shift, and go to state 9
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '}'             shift, and go to state 239
    '['             shift, and go to state 53
    ']'             shift, and go to state 54
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    ext       go to state 57
    pragma    go to state 58
    t1        go to state 59
    t2        go to state 60
    dclrs     go to state 61
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 174

  143 type: error ID error .

    $default  reduce using rule 143 (type)


State 175

  144 type: error ID '>' .

    $default  reduce using rule 144 (type)


State 176

  147 type: STRUCT error '}' .

    $default  reduce using rule 147 (type)


State 177

  127 type: STRUCT '{' s2 . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 240
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 178

  149 type: ENUM error '}' .

    $default  reduce using rule 149 (type)


State 179

  160 sc: STRUCT id .

    $default  reduce using rule 160 (sc)


State 180

  161 sc: CLASS id .

    $default  reduce using rule 161 (sc)


State 181

  134 type: ENUM '*' '{' . s4 dclrs s5 '}'

    $default  reduce using rule 182 (s4)

    s4  go to state 241


State 182

  158 mask: ENUM '*' id . utype

    ':'  shift, and go to state 185

    $default  reduce using rule 170 (utype)

    utype  go to state 242


State 183

  159 masksc: ENUM '*' sc . utype

    ':'  shift, and go to state 185

    $default  reduce using rule 170 (utype)

    utype  go to state 243


State 184

  133 type: ENUM '{' s2 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 245
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 185

  162 utype: ':' . CHAR
  163      | ':' . WCHAR
  164      | ':' . SHORT
  165      | ':' . INT
  166      | ':' . LONG
  167      | ':' . LLONG
  168      | ':' . TYPE
  169      | ':' .

    INT    shift, and go to state 246
    LONG   shift, and go to state 247
    CHAR   shift, and go to state 248
    SHORT  shift, and go to state 249
    LLONG  shift, and go to state 250
    WCHAR  shift, and go to state 251
    TYPE   shift, and go to state 252

    $default  reduce using rule 169 (utype)


State 186

  156 enum: ENUM id utype .

    $default  reduce using rule 156 (enum)


State 187

  157 enumsc: ENUM sc utype .

    $default  reduce using rule 157 (enumsc)


State 188

  148 type: UNION error '}' .

    $default  reduce using rule 148 (type)


State 189

  130 type: UNION '{' s3 . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 253
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 190

  146 type: CLASS error '}' .

    $default  reduce using rule 146 (type)


State 191

  123 type: CLASS '{' s2 . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 254
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 192

  143 type: error ID . error
  144     | error ID . '>'

    error  shift, and go to state 174
    '>'    shift, and go to state 175


State 193

   75 name: OPERATOR '[' ']' .

    $default  reduce using rule 75 (name)


State 194

   76 name: OPERATOR '(' ')' .

    $default  reduce using rule 76 (name)


State 195

   94 texp: tspec ptrs . array
   95     | tspec ptrs . ID array
  213 ptrs: ptrs . '*'
  214     | ptrs . '&'
  215     | ptrs . AN

    ID   shift, and go to state 255
    AN   shift, and go to state 213
    '&'  shift, and go to state 214
    '*'  shift, and go to state 215
    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    array  go to state 257


State 196

  102 tspec: type tspec .

    $default  reduce using rule 102 (tspec)


State 197

  101 tspec: store tspec .

    $default  reduce using rule 101 (tspec)


State 198

  172 tname: STRUCT .

    $default  reduce using rule 172 (tname)


State 199

  171 tname: CLASS .

    $default  reduce using rule 171 (tname)


State 200

  173 tname: TYPENAME .

    $default  reduce using rule 173 (tname)


State 201

  122 type: TEMPLATE '<' tname . id '>' CLASS id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 258


State 202

  223 init: '=' . cexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    cexp  go to state 274
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 203

  224 init: EQ . cexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    cexp  go to state 282
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 204

   91 sym: ID tag init .

    $default  reduce using rule 91 (sym)


State 205

  142 type: TYPE '<' texpf . '>'

    '>'  shift, and go to state 283


State 206

   92 texpf: texp .

    $default  reduce using rule 92 (texpf)


State 207

   93 texpf: tspec . ptrs '(' s6 fargso ')'
   94 texp: tspec . ptrs array
   95     | tspec . ptrs ID array

    $default  reduce using rule 212 (ptrs)

    ptrs  go to state 284


State 208

   32 dclrs: dclrs ',' dclr .

    $default  reduce using rule 32 (dclrs)


State 209

   33 dclrs: dclrs ',' fdclr . func

    $default  reduce using rule 81 (fname)

    func   go to state 285
    fname  go to state 154


State 210

   80 func: fname '(' . s6 fargso ')' const abstract

    $default  reduce using rule 185 (s6)

    s6  go to state 286


State 211

   28 dclrs: spec fdclr func .

    $default  reduce using rule 28 (dclrs)


State 212

   36 dclr: ptrs ID . arrayck tag bounds brinit
   38 id: ID .

    '['  shift, and go to state 256

    '('       reduce using rule 38 (id)
    $default  reduce using rule 216 (array)

    array    go to state 287
    arrayck  go to state 288


State 213

  215 ptrs: ptrs AN .

    $default  reduce using rule 215 (ptrs)


State 214

  214 ptrs: ptrs '&' .

    $default  reduce using rule 214 (ptrs)


State 215

  213 ptrs: ptrs '*' .

    $default  reduce using rule 213 (ptrs)


State 216

   37 fdclr: ptrs name .

    $default  reduce using rule 37 (fdclr)


State 217

   20 decls: error . ';'
   34 dclrs: error . ID
   35      | error . ')'
  143 type: error . ID error
  144     | error . ID '>'
  145     | error . '>'

    ID   shift, and go to state 82
    '>'  shift, and go to state 83
    ';'  shift, and go to state 289
    ')'  shift, and go to state 85


State 218

   15 decls: PRIVATE . ':' t3 decls

    ':'  shift, and go to state 290


State 219

   16 decls: PROTECTED . ':' t4 decls

    ':'  shift, and go to state 291


State 220

   17 decls: PUBLIC . ':' t5 decls

    ':'  shift, and go to state 292


State 221

   19 decls: ';' . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 293
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 222

  128 type: structid '{' decls . '}'

    '}'  shift, and go to state 294


State 223

   18 decls: t1 . decls t2 decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 295
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 224

   14 decls: dclrs . ';' decls
   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func

    ','  shift, and go to state 151
    ';'  shift, and go to state 296


State 225

  178 base: STRUCT . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 297


State 226

  179 base: CLASS . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 298


State 227

  175 base: PRIVATE . base

    STRUCT     shift, and go to state 225
    CLASS      shift, and go to state 226
    PRIVATE    shift, and go to state 227
    PROTECTED  shift, and go to state 228
    PUBLIC     shift, and go to state 229
    TYPE       shift, and go to state 230

    base  go to state 299


State 228

  174 base: PROTECTED . base

    STRUCT     shift, and go to state 225
    CLASS      shift, and go to state 226
    PRIVATE    shift, and go to state 227
    PROTECTED  shift, and go to state 228
    PUBLIC     shift, and go to state 229
    TYPE       shift, and go to state 230

    base  go to state 300


State 229

  176 base: PUBLIC . base

    STRUCT     shift, and go to state 225
    CLASS      shift, and go to state 226
    PRIVATE    shift, and go to state 227
    PROTECTED  shift, and go to state 228
    PUBLIC     shift, and go to state 229
    TYPE       shift, and go to state 230

    base  go to state 301


State 230

  177 base: TYPE .

    $default  reduce using rule 177 (base)


State 231

  125 type: classid ':' base . '{' decls '}'

    '{'  shift, and go to state 302


State 232

  124 type: classid '{' decls . '}'

    '}'  shift, and go to state 303


State 233

  131 type: unionid '{' decls . '}'

    '}'  shift, and go to state 304


State 234

  135 type: enum '{' s2 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 305
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 235

  136 type: enumsc '{' s2 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 306
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 236

  137 type: mask '{' s4 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 307
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 237

  138 type: masksc '{' s4 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 308
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 238

   79 dtor: virtual '~' id .

    $default  reduce using rule 79 (dtor)


State 239

    3 exts: NAMESPACE ID '{' exts1 '}' .

    $default  reduce using rule 3 (exts)


State 240

  127 type: STRUCT '{' s2 decls . '}'

    '}'  shift, and go to state 309


State 241

  134 type: ENUM '*' '{' s4 . dclrs s5 '}'

    error           shift, and go to state 244
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '~'  reduce using rule 210 (virtual)

    dclrs     go to state 310
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 242

  158 mask: ENUM '*' id utype .

    $default  reduce using rule 158 (mask)


State 243

  159 masksc: ENUM '*' sc utype .

    $default  reduce using rule 159 (masksc)


State 244

   34 dclrs: error . ID
   35      | error . ')'
  143 type: error . ID error
  144     | error . ID '>'
  145     | error . '>'

    ID   shift, and go to state 82
    '>'  shift, and go to state 83
    ')'  shift, and go to state 85


State 245

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  133 type: ENUM '{' s2 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 312


State 246

  165 utype: ':' INT .

    $default  reduce using rule 165 (utype)


State 247

  166 utype: ':' LONG .

    $default  reduce using rule 166 (utype)


State 248

  162 utype: ':' CHAR .

    $default  reduce using rule 162 (utype)


State 249

  164 utype: ':' SHORT .

    $default  reduce using rule 164 (utype)


State 250

  167 utype: ':' LLONG .

    $default  reduce using rule 167 (utype)


State 251

  163 utype: ':' WCHAR .

    $default  reduce using rule 163 (utype)


State 252

  168 utype: ':' TYPE .

    $default  reduce using rule 168 (utype)


State 253

  130 type: UNION '{' s3 decls . '}'

    '}'  shift, and go to state 313


State 254

  123 type: CLASS '{' s2 decls . '}'

    '}'  shift, and go to state 314


State 255

   95 texp: tspec ptrs ID . array

    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    array  go to state 315


State 256

  217 array: '[' . cexp ']' array
  218      | '[' . ']' array

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    ']'     shift, and go to state 316
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    cexp  go to state 317
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 257

   94 texp: tspec ptrs array .

    $default  reduce using rule 94 (texp)


State 258

  122 type: TEMPLATE '<' tname id . '>' CLASS id

    '>'  shift, and go to state 318


State 259

  291 lexp: SIZEOF . '(' texp ')'

    '('  shift, and go to state 319


State 260

  299 pexp: CFALSE .

    $default  reduce using rule 299 (pexp)


State 261

  300 pexp: CTRUE .

    $default  reduce using rule 300 (pexp)


State 262

  294 pexp: ID .

    $default  reduce using rule 294 (pexp)


State 263

  295 pexp: LNG .

    $default  reduce using rule 295 (pexp)


State 264

  296 pexp: DBL .

    $default  reduce using rule 296 (pexp)


State 265

  297 pexp: CHR .

    $default  reduce using rule 297 (pexp)


State 266

  298 pexp: STR .

    $default  reduce using rule 298 (pexp)


State 267

  290 lexp: '&' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 320
    pexp  go to state 281


State 268

  288 lexp: '+' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 321
    pexp  go to state 281


State 269

  287 lexp: '-' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 322
    pexp  go to state 281


State 270

  289 lexp: '*' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 323
    pexp  go to state 281


State 271

  285 lexp: '!' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 324
    pexp  go to state 281


State 272

  286 lexp: '~' . lexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    lexp  go to state 325
    pexp  go to state 281


State 273

  293 pexp: '(' . expr ')'

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    expr  go to state 326
    cexp  go to state 327
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 274

  223 init: '=' cexp .

    $default  reduce using rule 223 (init)


State 275

  260 cexp: oexp .
  264 obex: oexp .

    '?'       reduce using rule 264 (obex)
    OR        reduce using rule 264 (obex)
    $default  reduce using rule 260 (cexp)


State 276

  259 cexp: obex . '?' qexp ':' cexp
  262 oexp: obex . OR aexp

    '?'  shift, and go to state 328
    OR   shift, and go to state 329


State 277

  263 oexp: aexp .
  267 abex: aexp .

    AN        reduce using rule 267 (abex)
    $default  reduce using rule 263 (oexp)


State 278

  265 aexp: abex . AN rexp

    AN  shift, and go to state 330


State 279

  266 aexp: rexp .
  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '|'  shift, and go to state 331
    '^'  shift, and go to state 332
    '&'  shift, and go to state 333
    EQ   shift, and go to state 334
    NE   shift, and go to state 335
    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 266 (aexp)


State 280

  284 rexp: lexp .

    $default  reduce using rule 284 (rexp)


State 281

  292 lexp: pexp .

    $default  reduce using rule 292 (lexp)


State 282

  224 init: EQ cexp .

    $default  reduce using rule 224 (init)


State 283

  142 type: TYPE '<' texpf '>' .

    $default  reduce using rule 142 (type)


State 284

   93 texpf: tspec ptrs . '(' s6 fargso ')'
   94 texp: tspec ptrs . array
   95     | tspec ptrs . ID array
  213 ptrs: ptrs . '*'
  214     | ptrs . '&'
  215     | ptrs . AN

    ID   shift, and go to state 255
    AN   shift, and go to state 213
    '&'  shift, and go to state 214
    '*'  shift, and go to state 215
    '['  shift, and go to state 256
    '('  shift, and go to state 347

    $default  reduce using rule 216 (array)

    array  go to state 257


State 285

   33 dclrs: dclrs ',' fdclr func .

    $default  reduce using rule 33 (dclrs)


State 286

   80 func: fname '(' s6 . fargso ')' const abstract

    error           shift, and go to state 348
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    ')'  reduce using rule 82 (fargso)

    fargso    go to state 349
    fargs     go to state 350
    farg      go to state 351
    tspec     go to state 352
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 287

  219 arrayck: array .

    $default  reduce using rule 219 (arrayck)


State 288

   36 dclr: ptrs ID arrayck . tag bounds brinit

    TAG  shift, and go to state 148

    $default  reduce using rule 225 (tag)

    tag  go to state 353


State 289

   20 decls: error ';' .

    $default  reduce using rule 20 (decls)


State 290

   15 decls: PRIVATE ':' . t3 decls

    $default  reduce using rule 23 (t3)

    t3  go to state 354


State 291

   16 decls: PROTECTED ':' . t4 decls

    $default  reduce using rule 24 (t4)

    t4  go to state 355


State 292

   17 decls: PUBLIC ':' . t5 decls

    $default  reduce using rule 25 (t5)

    t5  go to state 356


State 293

   19 decls: ';' decls .

    $default  reduce using rule 19 (decls)


State 294

  128 type: structid '{' decls '}' .

    $default  reduce using rule 128 (type)


State 295

   18 decls: t1 decls . t2 decls

    ']'  shift, and go to state 54

    t2  go to state 357


State 296

   14 decls: dclrs ';' . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 358
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 297

  178 base: STRUCT id .

    $default  reduce using rule 178 (base)


State 298

  179 base: CLASS id .

    $default  reduce using rule 179 (base)


State 299

  175 base: PRIVATE base .

    $default  reduce using rule 175 (base)


State 300

  174 base: PROTECTED base .

    $default  reduce using rule 174 (base)


State 301

  176 base: PUBLIC base .

    $default  reduce using rule 176 (base)


State 302

  125 type: classid ':' base '{' . decls '}'

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 359
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 303

  124 type: classid '{' decls '}' .

    $default  reduce using rule 124 (type)


State 304

  131 type: unionid '{' decls '}' .

    $default  reduce using rule 131 (type)


State 305

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  135 type: enum '{' s2 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 360


State 306

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  136 type: enumsc '{' s2 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 361


State 307

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  137 type: mask '{' s4 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 362


State 308

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  138 type: masksc '{' s4 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 363


State 309

  127 type: STRUCT '{' s2 decls '}' .

    $default  reduce using rule 127 (type)


State 310

   32 dclrs: dclrs . ',' dclr
   33      | dclrs . ',' fdclr func
  134 type: ENUM '*' '{' s4 dclrs . s5 '}'

    ','  shift, and go to state 311

    $default  reduce using rule 183 (s5)

    s5  go to state 364


State 311

   32 dclrs: dclrs ',' . dclr
   33      | dclrs ',' . fdclr func
  184 s5: ',' .

    '}'       reduce using rule 184 (s5)
    $default  reduce using rule 212 (ptrs)

    dclr   go to state 208
    fdclr  go to state 209
    ptrs   go to state 158


State 312

  133 type: ENUM '{' s2 dclrs s5 . '}'

    '}'  shift, and go to state 365


State 313

  130 type: UNION '{' s3 decls '}' .

    $default  reduce using rule 130 (type)


State 314

  123 type: CLASS '{' s2 decls '}' .

    $default  reduce using rule 123 (type)


State 315

   95 texp: tspec ptrs ID array .

    $default  reduce using rule 95 (texp)


State 316

  218 array: '[' ']' . array

    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    array  go to state 366


State 317

  217 array: '[' cexp . ']' array

    ']'  shift, and go to state 367


State 318

  122 type: TEMPLATE '<' tname id '>' . CLASS id

    CLASS  shift, and go to state 368


State 319

  291 lexp: SIZEOF '(' . texp ')'

    error           shift, and go to state 104
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    texp      go to state 369
    tspec     go to state 144
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 320

  290 lexp: '&' lexp .

    $default  reduce using rule 290 (lexp)


State 321

  288 lexp: '+' lexp .

    $default  reduce using rule 288 (lexp)


State 322

  287 lexp: '-' lexp .

    $default  reduce using rule 287 (lexp)


State 323

  289 lexp: '*' lexp .

    $default  reduce using rule 289 (lexp)


State 324

  285 lexp: '!' lexp .

    $default  reduce using rule 285 (lexp)


State 325

  286 lexp: '~' lexp .

    $default  reduce using rule 286 (lexp)


State 326

  257 expr: expr . ',' expr
  293 pexp: '(' expr . ')'

    ','  shift, and go to state 370
    ')'  shift, and go to state 371


State 327

  258 expr: cexp .

    $default  reduce using rule 258 (expr)


State 328

  259 cexp: obex '?' . qexp ':' cexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    expr  go to state 372
    cexp  go to state 327
    qexp  go to state 373
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 329

  262 oexp: obex OR . aexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    aexp  go to state 374
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 330

  265 aexp: abex AN . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 375
    lexp  go to state 280
    pexp  go to state 281


State 331

  268 rexp: rexp '|' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 376
    lexp  go to state 280
    pexp  go to state 281


State 332

  269 rexp: rexp '^' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 377
    lexp  go to state 280
    pexp  go to state 281


State 333

  270 rexp: rexp '&' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 378
    lexp  go to state 280
    pexp  go to state 281


State 334

  271 rexp: rexp EQ . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 379
    lexp  go to state 280
    pexp  go to state 281


State 335

  272 rexp: rexp NE . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 380
    lexp  go to state 280
    pexp  go to state 281


State 336

  273 rexp: rexp '<' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 381
    lexp  go to state 280
    pexp  go to state 281


State 337

  274 rexp: rexp LE . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 382
    lexp  go to state 280
    pexp  go to state 281


State 338

  275 rexp: rexp '>' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 383
    lexp  go to state 280
    pexp  go to state 281


State 339

  276 rexp: rexp GE . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 384
    lexp  go to state 280
    pexp  go to state 281


State 340

  277 rexp: rexp LS . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 385
    lexp  go to state 280
    pexp  go to state 281


State 341

  278 rexp: rexp RS . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 386
    lexp  go to state 280
    pexp  go to state 281


State 342

  279 rexp: rexp '+' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 387
    lexp  go to state 280
    pexp  go to state 281


State 343

  280 rexp: rexp '-' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 388
    lexp  go to state 280
    pexp  go to state 281


State 344

  281 rexp: rexp '*' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 389
    lexp  go to state 280
    pexp  go to state 281


State 345

  282 rexp: rexp '/' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 390
    lexp  go to state 280
    pexp  go to state 281


State 346

  283 rexp: rexp '%' . rexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    rexp  go to state 391
    lexp  go to state 280
    pexp  go to state 281


State 347

   93 texpf: tspec ptrs '(' . s6 fargso ')'

    $default  reduce using rule 185 (s6)

    s6  go to state 392


State 348

   86 fargs: error . ID
   87      | error . ','
  143 type: error . ID error
  144     | error . ID '>'
  145     | error . '>'

    ID   shift, and go to state 393
    ','  shift, and go to state 394
    '>'  shift, and go to state 83


State 349

   80 func: fname '(' s6 fargso . ')' const abstract

    ')'  shift, and go to state 395


State 350

   83 fargso: fargs .

    $default  reduce using rule 83 (fargso)


State 351

   84 fargs: farg .
   85      | farg . ',' fargs

    ','  shift, and go to state 396

    $default  reduce using rule 84 (fargs)


State 352

   88 farg: tspec . ptrs arg

    $default  reduce using rule 212 (ptrs)

    ptrs  go to state 397


State 353

   36 dclr: ptrs ID arrayck tag . bounds brinit

    null  shift, and go to state 398

    $default  reduce using rule 236 (nullptr)

    bounds   go to state 399
    nullptr  go to state 400


State 354

   15 decls: PRIVATE ':' t3 . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 401
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 355

   16 decls: PROTECTED ':' t4 . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 402
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 356

   17 decls: PUBLIC ':' t5 . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 403
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 357

   18 decls: t1 decls t2 . decls

    error           shift, and go to state 217
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    PRIVATE         shift, and go to state 218
    PROTECTED       shift, and go to state 219
    PUBLIC          shift, and go to state 220
    VIRTUAL         shift, and go to state 31
    INLINE          shift, and go to state 32
    OPERATOR        shift, and go to state 33
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    ID              shift, and go to state 51
    TYPE            shift, and go to state 52
    ';'             shift, and go to state 221
    '['             shift, and go to state 53
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    '}'  reduce using rule 13 (decls)
    ']'  reduce using rule 13 (decls)
    '~'  reduce using rule 210 (virtual)

    decls     go to state 404
    t1        go to state 223
    dclrs     go to state 224
    id        go to state 62
    name      go to state 63
    ctor      go to state 64
    dtor      go to state 65
    sym       go to state 66
    spec      go to state 67
    type      go to state 68
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 79
    virtual   go to state 80


State 358

   14 decls: dclrs ';' decls .

    $default  reduce using rule 14 (decls)


State 359

  125 type: classid ':' base '{' decls . '}'

    '}'  shift, and go to state 405


State 360

  135 type: enum '{' s2 dclrs s5 . '}'

    '}'  shift, and go to state 406


State 361

  136 type: enumsc '{' s2 dclrs s5 . '}'

    '}'  shift, and go to state 407


State 362

  137 type: mask '{' s4 dclrs s5 . '}'

    '}'  shift, and go to state 408


State 363

  138 type: masksc '{' s4 dclrs s5 . '}'

    '}'  shift, and go to state 409


State 364

  134 type: ENUM '*' '{' s4 dclrs s5 . '}'

    '}'  shift, and go to state 410


State 365

  133 type: ENUM '{' s2 dclrs s5 '}' .

    $default  reduce using rule 133 (type)


State 366

  218 array: '[' ']' array .

    $default  reduce using rule 218 (array)


State 367

  217 array: '[' cexp ']' . array

    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    array  go to state 411


State 368

  122 type: TEMPLATE '<' tname id '>' CLASS . id

    ID    shift, and go to state 87
    TYPE  shift, and go to state 88

    id  go to state 412


State 369

  291 lexp: SIZEOF '(' texp . ')'

    ')'  shift, and go to state 413


State 370

  257 expr: expr ',' . expr

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    expr  go to state 414
    cexp  go to state 327
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 371

  293 pexp: '(' expr ')' .

    $default  reduce using rule 293 (pexp)


State 372

  257 expr: expr . ',' expr
  261 qexp: expr .

    ','  shift, and go to state 370

    $default  reduce using rule 261 (qexp)


State 373

  259 cexp: obex '?' qexp . ':' cexp

    ':'  shift, and go to state 415


State 374

  262 oexp: obex OR aexp .
  267 abex: aexp .

    AN        reduce using rule 267 (abex)
    $default  reduce using rule 262 (oexp)


State 375

  265 aexp: abex AN rexp .
  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '|'  shift, and go to state 331
    '^'  shift, and go to state 332
    '&'  shift, and go to state 333
    EQ   shift, and go to state 334
    NE   shift, and go to state 335
    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 265 (aexp)


State 376

  268 rexp: rexp . '|' rexp
  268     | rexp '|' rexp .
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '^'  shift, and go to state 332
    '&'  shift, and go to state 333
    EQ   shift, and go to state 334
    NE   shift, and go to state 335
    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 268 (rexp)


State 377

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  269     | rexp '^' rexp .
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '&'  shift, and go to state 333
    EQ   shift, and go to state 334
    NE   shift, and go to state 335
    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 269 (rexp)


State 378

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  270     | rexp '&' rexp .
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    EQ   shift, and go to state 334
    NE   shift, and go to state 335
    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 270 (rexp)


State 379

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  271     | rexp EQ rexp .
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 271 (rexp)


State 380

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  272     | rexp NE rexp .
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '<'  shift, and go to state 336
    LE   shift, and go to state 337
    '>'  shift, and go to state 338
    GE   shift, and go to state 339
    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 272 (rexp)


State 381

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  273     | rexp '<' rexp .
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 273 (rexp)


State 382

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  274     | rexp LE rexp .
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 274 (rexp)


State 383

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  275     | rexp '>' rexp .
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 275 (rexp)


State 384

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  276     | rexp GE rexp .
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    LS   shift, and go to state 340
    RS   shift, and go to state 341
    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 276 (rexp)


State 385

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  277     | rexp LS rexp .
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 277 (rexp)


State 386

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  278     | rexp RS rexp .
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '+'  shift, and go to state 342
    '-'  shift, and go to state 343
    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 278 (rexp)


State 387

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  279     | rexp '+' rexp .
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 279 (rexp)


State 388

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  280     | rexp '-' rexp .
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    '*'  shift, and go to state 344
    '/'  shift, and go to state 345
    '%'  shift, and go to state 346

    $default  reduce using rule 280 (rexp)


State 389

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  281     | rexp '*' rexp .
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp

    $default  reduce using rule 281 (rexp)


State 390

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  282     | rexp '/' rexp .
  283     | rexp . '%' rexp

    $default  reduce using rule 282 (rexp)


State 391

  268 rexp: rexp . '|' rexp
  269     | rexp . '^' rexp
  270     | rexp . '&' rexp
  271     | rexp . EQ rexp
  272     | rexp . NE rexp
  273     | rexp . '<' rexp
  274     | rexp . LE rexp
  275     | rexp . '>' rexp
  276     | rexp . GE rexp
  277     | rexp . LS rexp
  278     | rexp . RS rexp
  279     | rexp . '+' rexp
  280     | rexp . '-' rexp
  281     | rexp . '*' rexp
  282     | rexp . '/' rexp
  283     | rexp . '%' rexp
  283     | rexp '%' rexp .

    $default  reduce using rule 283 (rexp)


State 392

   93 texpf: tspec ptrs '(' s6 . fargso ')'

    error           shift, and go to state 348
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    ')'  reduce using rule 82 (fargso)

    fargso    go to state 416
    fargs     go to state 350
    farg      go to state 351
    tspec     go to state 352
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 393

   86 fargs: error ID .
  143 type: error ID . error
  144     | error ID . '>'

    error  shift, and go to state 174
    '>'    shift, and go to state 175

    ')'  reduce using rule 86 (fargs)


State 394

   87 fargs: error ',' .

    $default  reduce using rule 87 (fargs)


State 395

   80 func: fname '(' s6 fargso ')' . const abstract

    $default  reduce using rule 204 (const)

    const  go to state 417


State 396

   85 fargs: farg ',' . fargs

    error           shift, and go to state 348
    AUTO            shift, and go to state 10
    DOUBLE          shift, and go to state 11
    INT             shift, and go to state 12
    STRUCT          shift, and go to state 13
    LONG            shift, and go to state 14
    ENUM            shift, and go to state 15
    REGISTER        shift, and go to state 16
    TYPEDEF         shift, and go to state 17
    CHAR            shift, and go to state 18
    EXTERN          shift, and go to state 19
    RETURN          shift, and go to state 20
    UNION           shift, and go to state 21
    CONST           shift, and go to state 22
    FLOAT           shift, and go to state 23
    SHORT           shift, and go to state 24
    UNSIGNED        shift, and go to state 25
    SIGNED          shift, and go to state 26
    VOID            shift, and go to state 27
    VOLATILE        shift, and go to state 28
    STATIC          shift, and go to state 29
    CLASS           shift, and go to state 30
    VIRTUAL         shift, and go to state 105
    INLINE          shift, and go to state 32
    LLONG           shift, and go to state 34
    BOOL            shift, and go to state 35
    WCHAR           shift, and go to state 36
    TIME            shift, and go to state 37
    ULLONG          shift, and go to state 38
    MUSTUNDERSTAND  shift, and go to state 39
    SIZE            shift, and go to state 40
    FRIEND          shift, and go to state 41
    TEMPLATE        shift, and go to state 42
    EXPLICIT        shift, and go to state 43
    MUTABLE         shift, and go to state 44
    FINAL           shift, and go to state 45
    OVERRIDE        shift, and go to state 46
    UCHAR           shift, and go to state 47
    USHORT          shift, and go to state 48
    UINT            shift, and go to state 49
    ULONG           shift, and go to state 50
    TYPE            shift, and go to state 106
    '@'             shift, and go to state 55
    '$'             shift, and go to state 56

    fargs     go to state 418
    farg      go to state 351
    tspec     go to state 352
    type      go to state 145
    structid  go to state 69
    struct    go to state 70
    classid   go to state 71
    class     go to state 72
    unionid   go to state 73
    union     go to state 74
    enum      go to state 75
    enumsc    go to state 76
    mask      go to state 77
    masksc    go to state 78
    store     go to state 146


State 397

   88 farg: tspec ptrs . arg
  213 ptrs: ptrs . '*'
  214     | ptrs . '&'
  215     | ptrs . AN

    ID   shift, and go to state 419
    AN   shift, and go to state 213
    '&'  shift, and go to state 214
    '*'  shift, and go to state 215
    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    arg      go to state 420
    array    go to state 287
    arrayck  go to state 421


State 398

  237 nullptr: null .

    $default  reduce using rule 237 (nullptr)


State 399

   36 dclr: ptrs ID arrayck tag bounds . brinit

    '='  shift, and go to state 202
    EQ   shift, and go to state 203
    '{'  shift, and go to state 422

    $default  reduce using rule 222 (init)

    brinit  go to state 423
    init    go to state 424


State 400

  232 bounds: nullptr . patt
  233       | nullptr . patt value min
  234       | nullptr . patt value minmax value
  235       | nullptr . patt max value

    STR  shift, and go to state 425

    $default  reduce using rule 238 (patt)

    patt  go to state 426


State 401

   15 decls: PRIVATE ':' t3 decls .

    $default  reduce using rule 15 (decls)


State 402

   16 decls: PROTECTED ':' t4 decls .

    $default  reduce using rule 16 (decls)


State 403

   17 decls: PUBLIC ':' t5 decls .

    $default  reduce using rule 17 (decls)


State 404

   18 decls: t1 decls t2 decls .

    $default  reduce using rule 18 (decls)


State 405

  125 type: classid ':' base '{' decls '}' .

    $default  reduce using rule 125 (type)


State 406

  135 type: enum '{' s2 dclrs s5 '}' .

    $default  reduce using rule 135 (type)


State 407

  136 type: enumsc '{' s2 dclrs s5 '}' .

    $default  reduce using rule 136 (type)


State 408

  137 type: mask '{' s4 dclrs s5 '}' .

    $default  reduce using rule 137 (type)


State 409

  138 type: masksc '{' s4 dclrs s5 '}' .

    $default  reduce using rule 138 (type)


State 410

  134 type: ENUM '*' '{' s4 dclrs s5 '}' .

    $default  reduce using rule 134 (type)


State 411

  217 array: '[' cexp ']' array .

    $default  reduce using rule 217 (array)


State 412

  122 type: TEMPLATE '<' tname id '>' CLASS id .

    $default  reduce using rule 122 (type)


State 413

  291 lexp: SIZEOF '(' texp ')' .

    $default  reduce using rule 291 (lexp)


State 414

  257 expr: expr . ',' expr
  257     | expr ',' expr .

    $default  reduce using rule 257 (expr)


State 415

  259 cexp: obex '?' qexp ':' . cexp

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    cexp  go to state 427
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 416

   93 texpf: tspec ptrs '(' s6 fargso . ')'

    ')'  shift, and go to state 428


State 417

   80 func: fname '(' s6 fargso ')' const . abstract
  205 const: const . CONST
  206      | const . FINAL
  207      | const . OVERRIDE

    CONST     shift, and go to state 429
    FINAL     shift, and go to state 430
    OVERRIDE  shift, and go to state 431
    '='       shift, and go to state 432

    $default  reduce using rule 208 (abstract)

    abstract  go to state 433


State 418

   85 fargs: farg ',' fargs .

    $default  reduce using rule 85 (fargs)


State 419

   90 arg: ID . arrayck tag occurs init

    '['  shift, and go to state 256

    $default  reduce using rule 216 (array)

    array    go to state 287
    arrayck  go to state 434


State 420

   88 farg: tspec ptrs arg .

    $default  reduce using rule 88 (farg)


State 421

   89 arg: arrayck . init

    '='  shift, and go to state 202
    EQ   shift, and go to state 203

    $default  reduce using rule 222 (init)

    init  go to state 435


State 422

  221 brinit: '{' . cexp '}'

    SIZEOF  shift, and go to state 259
    CFALSE  shift, and go to state 260
    CTRUE   shift, and go to state 261
    ID      shift, and go to state 262
    LNG     shift, and go to state 263
    DBL     shift, and go to state 264
    CHR     shift, and go to state 265
    STR     shift, and go to state 266
    '&'     shift, and go to state 267
    '+'     shift, and go to state 268
    '-'     shift, and go to state 269
    '*'     shift, and go to state 270
    '!'     shift, and go to state 271
    '~'     shift, and go to state 272
    '('     shift, and go to state 273

    cexp  go to state 436
    oexp  go to state 275
    obex  go to state 276
    aexp  go to state 277
    abex  go to state 278
    rexp  go to state 279
    lexp  go to state 280
    pexp  go to state 281


State 423

   36 dclr: ptrs ID arrayck tag bounds brinit .

    $default  reduce using rule 36 (dclr)


State 424

  220 brinit: init .

    $default  reduce using rule 220 (brinit)


State 425

  239 patt: STR .

    $default  reduce using rule 239 (patt)


State 426

  232 bounds: nullptr patt .
  233       | nullptr patt . value min
  234       | nullptr patt . value minmax value
  235       | nullptr patt . max value

    LNG  shift, and go to state 437
    DBL  shift, and go to state 438
    CHR  shift, and go to state 439
    ':'  shift, and go to state 440
    '<'  shift, and go to state 441
    '+'  shift, and go to state 442
    '-'  shift, and go to state 443

    $default  reduce using rule 232 (bounds)

    value  go to state 444
    max    go to state 445


State 427

  259 cexp: obex '?' qexp ':' cexp .

    $default  reduce using rule 259 (cexp)


State 428

   93 texpf: tspec ptrs '(' s6 fargso ')' .

    $default  reduce using rule 93 (texpf)


State 429

  205 const: const CONST .

    $default  reduce using rule 205 (const)


State 430

  206 const: const FINAL .

    $default  reduce using rule 206 (const)


State 431

  207 const: const OVERRIDE .

    $default  reduce using rule 207 (const)


State 432

  209 abstract: '=' . LNG

    LNG  shift, and go to state 446


State 433

   80 func: fname '(' s6 fargso ')' const abstract .

    $default  reduce using rule 80 (func)


State 434

   90 arg: ID arrayck . tag occurs init

    TAG  shift, and go to state 148

    $default  reduce using rule 225 (tag)

    tag  go to state 447


State 435

   89 arg: arrayck init .

    $default  reduce using rule 89 (arg)


State 436

  221 brinit: '{' cexp . '}'

    '}'  shift, and go to state 448


State 437

  241 value: LNG .

    $default  reduce using rule 241 (value)


State 438

  240 value: DBL .

    $default  reduce using rule 240 (value)


State 439

  242 value: CHR .

    $default  reduce using rule 242 (value)


State 440

  254 max: ':' .
  255    | ':' . '<'

    '<'  shift, and go to state 449

    $default  reduce using rule 254 (max)


State 441

  256 max: '<' .

    $default  reduce using rule 256 (max)


State 442

  243 value: '+' . value

    LNG  shift, and go to state 437
    DBL  shift, and go to state 438
    CHR  shift, and go to state 439
    '+'  shift, and go to state 442
    '-'  shift, and go to state 443

    value  go to state 450


State 443

  244 value: '-' . value

    LNG  shift, and go to state 437
    DBL  shift, and go to state 438
    CHR  shift, and go to state 439
    '+'  shift, and go to state 442
    '-'  shift, and go to state 443

    value  go to state 451


State 444

  233 bounds: nullptr patt value . min
  234       | nullptr patt value . minmax value

    ':'  shift, and go to state 452
    '<'  shift, and go to state 453

    $default  reduce using rule 245 (min)

    min     go to state 454
    minmax  go to state 455


State 445

  235 bounds: nullptr patt max . value

    LNG  shift, and go to state 437
    DBL  shift, and go to state 438
    CHR  shift, and go to state 439
    '+'  shift, and go to state 442
    '-'  shift, and go to state 443

    value  go to state 456


State 446

  209 abstract: '=' LNG .

    $default  reduce using rule 209 (abstract)


State 447

   90 arg: ID arrayck tag . occurs init

    null  shift, and go to state 398

    $default  reduce using rule 236 (nullptr)

    occurs   go to state 457
    nullptr  go to state 458


State 448

  221 brinit: '{' cexp '}' .

    $default  reduce using rule 221 (brinit)


State 449

  255 max: ':' '<' .

    $default  reduce using rule 255 (max)


State 450

  243 value: '+' value .

    $default  reduce using rule 243 (value)


State 451

  244 value: '-' value .

    $default  reduce using rule 244 (value)


State 452

  246 min: ':' .
  249 minmax: ':' .
  251       | ':' . '<'

    '<'  shift, and go to state 459

    LNG       reduce using rule 249 (minmax)
    DBL       reduce using rule 249 (minmax)
    CHR       reduce using rule 249 (minmax)
    '+'       reduce using rule 249 (minmax)
    '-'       reduce using rule 249 (minmax)
    $default  reduce using rule 246 (min)


State 453

  247 min: '<' . ':'
  248    | '<' .
  250 minmax: '<' . ':'
  252       | '<' . ':' '<'
  253       | '<' .

    ':'  shift, and go to state 460

    LNG       reduce using rule 253 (minmax)
    DBL       reduce using rule 253 (minmax)
    CHR       reduce using rule 253 (minmax)
    '+'       reduce using rule 253 (minmax)
    '-'       reduce using rule 253 (minmax)
    $default  reduce using rule 248 (min)


State 454

  233 bounds: nullptr patt value min .

    $default  reduce using rule 233 (bounds)


State 455

  234 bounds: nullptr patt value minmax . value

    LNG  shift, and go to state 437
    DBL  shift, and go to state 438
    CHR  shift, and go to state 439
    '+'  shift, and go to state 442
    '-'  shift, and go to state 443

    value  go to state 461


State 456

  235 bounds: nullptr patt max value .

    $default  reduce using rule 235 (bounds)


State 457

   90 arg: ID arrayck tag occurs . init

    '='  shift, and go to state 202
    EQ   shift, and go to state 203

    $default  reduce using rule 222 (init)

    init  go to state 462


State 458

  227 occurs: nullptr .
  228       | nullptr . LNG
  229       | nullptr . LNG ':'
  230       | nullptr . LNG ':' LNG
  231       | nullptr . ':' LNG

    LNG  shift, and go to state 463
    ':'  shift, and go to state 464

    $default  reduce using rule 227 (occurs)


State 459

  251 minmax: ':' '<' .

    $default  reduce using rule 251 (minmax)


State 460

  247 min: '<' ':' .
  250 minmax: '<' ':' .
  252       | '<' ':' . '<'

    '<'  shift, and go to state 465

    LNG       reduce using rule 250 (minmax)
    DBL       reduce using rule 250 (minmax)
    CHR       reduce using rule 250 (minmax)
    '+'       reduce using rule 250 (minmax)
    '-'       reduce using rule 250 (minmax)
    $default  reduce using rule 247 (min)


State 461

  234 bounds: nullptr patt value minmax value .

    $default  reduce using rule 234 (bounds)


State 462

   90 arg: ID arrayck tag occurs init .

    $default  reduce using rule 90 (arg)


State 463

  228 occurs: nullptr LNG .
  229       | nullptr LNG . ':'
  230       | nullptr LNG . ':' LNG

    ':'  shift, and go to state 466

    $default  reduce using rule 228 (occurs)


State 464

  231 occurs: nullptr ':' . LNG

    LNG  shift, and go to state 467


State 465

  252 minmax: '<' ':' '<' .

    $default  reduce using rule 252 (minmax)


State 466

  229 occurs: nullptr LNG ':' .
  230       | nullptr LNG ':' . LNG

    LNG  shift, and go to state 468

    $default  reduce using rule 229 (occurs)


State 467

  231 occurs: nullptr ':' LNG .

    $default  reduce using rule 231 (occurs)


State 468

  230 occurs: nullptr LNG ':' LNG .

    $default  reduce using rule 230 (occurs)
