[back]
0    start -> name
1    name -> nested-name-opt IDENT
2    name -> nested-name-opt IDENT LT template-arg-list-opt GT ^!
3    nested-name-opt -> nested-name
4    nested-name-opt ->
5    nested-name -> DCOLON
6    nested-name -> name DCOLON >!
7    template-arg-list-opt -> template-arg-list
8    template-arg-list-opt ->
9    template-arg-list -> template-arg
10   template-arg-list -> template-arg-list COMMA ^! template-arg
11   template-arg -> abstract-decl >+
12   template-arg -> expr
13   abstract-decl -> xBxx-decl-spec-seq abstract-dcl-opt
14   abstract-decl -> xBVx-decl-spec-seq abstract-dcl-opt
15   abstract-decl -> xBxS-decl-spec-seq abstract-dcl-opt
16   abstract-decl -> xBVS-decl-spec-seq abstract-dcl-opt
17   abstract-decl -> xUxx-decl-spec-seq abstract-dcl-opt
18   abstract-decl -> xUVx-decl-spec-seq abstract-dcl-opt
19   abstract-decl -> xUxS-decl-spec-seq abstract-dcl-opt
20   abstract-decl -> xUVS-decl-spec-seq abstract-dcl-opt
21   abstract-dcl -> ptr-oper abstract-dcl-opt
22   abstract-dcl -> abstract-direct-dcl
23   abstract-direct-dcl -> abstract-direct-dcl-opt LPAREN param-decl-clause RPAREN cv-spec-seq-opt
24   abstract-direct-dcl -> abstract-direct-dcl-opt LBRACK expr-opt RBRACK
25   abstract-direct-dcl -> LPAREN > abstract-dcl RPAREN
26   abstract-dcl-opt -> abstract-dcl
27   abstract-dcl-opt ->
28   abstract-direct-dcl-opt -> abstract-direct-dcl
29   abstract-direct-dcl-opt ->
30   param-decl-clause -> param-decl-list-opt ellipse-opt
31   param-decl-clause -> param-decl-list COMMA ELLIPSE
32   ellipse-opt -> ELLIPSE
33   ellipse-opt ->
34   param-decl-list-opt -> param-decl-list
35   param-decl-list-opt ->
36   param-decl-list -> param-decl
37   param-decl-list -> param-decl-list COMMA param-decl
38   param-decl -> xBxx-decl-spec-seq param-dcl
39   param-decl -> xBVx-decl-spec-seq param-dcl
40   param-decl -> xBxS-decl-spec-seq param-dcl
41   param-decl -> xBVS-decl-spec-seq param-dcl
42   param-decl -> xUxx-decl-spec-seq param-dcl
43   param-decl -> xUVx-decl-spec-seq param-dcl
44   param-decl -> xUxS-decl-spec-seq param-dcl
45   param-decl -> xUVS-decl-spec-seq param-dcl
46   param-dcl -> param-a-dcl
47   param-a-dcl -> ptr-oper param-a-dcl
48   param-a-dcl -> param-a-direct-dcl
49   param-b-dcl -> ptr-oper param-a-dcl
50   param-b-dcl -> param-b-direct-dcl
51   param-a-direct-dcl -> param-b-direct-dcl
52   param-a-direct-dcl -> obj-dcl-id
53   param-b-direct-dcl -> param-a-direct-dcl LPAREN param-decl-clause RPAREN cv-spec-seq-opt
54   param-b-direct-dcl -> param-a-direct-dcl LBRACK expr RBRACK
55   param-b-direct-dcl -> LPAREN param-b-dcl RPAREN
56   obj-dcl-id -> obj-id
57   obj-dcl-id -> LPAREN obj-dcl-id RPAREN
58   obj-id -> name
59   ptr-oper -> TIMES cv-spec-seq-opt
60   ptr-oper -> AMPERSAND
61   ptr-oper -> name DCOLON TIMES cv-spec-seq-opt
62   bltn-type -> bltn-type-token
63   bltn-type-token -> BOOL
64   bltn-type-token -> CHAR
65   bltn-type-token -> DOUBLE
66   bltn-type-token -> FLOAT
67   bltn-type-token -> INT
68   bltn-type-token -> LONG
69   bltn-type-token -> SHORT
70   bltn-type-token -> SIGNED
71   bltn-type-token -> UNSIGNED
72   bltn-type-token -> VOID
73   bltn-type-token -> WCHAR
74   user-type -> name
75   cv-spec -> cv-spec-token
76   cv-spec-token -> CONST
77   cv-spec-token -> VOLATILE
78   cv-spec-seq-opt -> cv-spec-seq
79   cv-spec-seq-opt ->
80   cv-spec-seq -> cv-spec
81   cv-spec-seq -> cv-spec-seq cv-spec
82   ftor-spec -> ftor-spec-token
83   ftor-spec-token -> INLINE
84   ftor-spec-token -> VIRTUAL
85   ftor-spec-token -> EXPLICIT
86   ftor-spec-token -> STATIC
87   ftor-spec-token -> EXTERN
88   ftor-spec-token -> MUTABLE
89   ftor-spec-token -> AUTO
90   ftor-spec-token -> REGISTER
91   xxVx-decl-spec-seq -> xxVx-decl-spec-seq cv-spec
92   xxVx-decl-spec-seq -> cv-spec
93   xxxS-decl-spec-seq -> xxxS-decl-spec-seq ftor-spec
94   xxxS-decl-spec-seq -> ftor-spec
95   xxVS-decl-spec-seq -> xxVx-decl-spec-seq ftor-spec
96   xxVS-decl-spec-seq -> xxxS-decl-spec-seq cv-spec
97   xxVS-decl-spec-seq -> xxVS-decl-spec-seq ftor-spec
98   xxVS-decl-spec-seq -> xxVS-decl-spec-seq cv-spec
99   xBxx-decl-spec-seq -> xBxx-decl-spec-seq bltn-type
100  xBxx-decl-spec-seq -> bltn-type
101  xBVx-decl-spec-seq -> xBxx-decl-spec-seq cv-spec
102  xBVx-decl-spec-seq -> xxVx-decl-spec-seq bltn-type
103  xBVx-decl-spec-seq -> xBVx-decl-spec-seq cv-spec
104  xBVx-decl-spec-seq -> xBVx-decl-spec-seq bltn-type
105  xBxS-decl-spec-seq -> xBxx-decl-spec-seq ftor-spec
106  xBxS-decl-spec-seq -> xxxS-decl-spec-seq bltn-type
107  xBxS-decl-spec-seq -> xBxS-decl-spec-seq ftor-spec
108  xBxS-decl-spec-seq -> xBxS-decl-spec-seq bltn-type
109  xBVS-decl-spec-seq -> xBVx-decl-spec-seq ftor-spec
110  xBVS-decl-spec-seq -> xBxS-decl-spec-seq cv-spec
111  xBVS-decl-spec-seq -> xxVS-decl-spec-seq bltn-type
112  xBVS-decl-spec-seq -> xBVS-decl-spec-seq ftor-spec
113  xBVS-decl-spec-seq -> xBVS-decl-spec-seq cv-spec
114  xBVS-decl-spec-seq -> xBVS-decl-spec-seq bltn-type
115  xUxx-decl-spec-seq -> user-type
116  xUVx-decl-spec-seq -> xUxx-decl-spec-seq cv-spec
117  xUVx-decl-spec-seq -> xxVx-decl-spec-seq user-type
118  xUVx-decl-spec-seq -> xUVx-decl-spec-seq cv-spec
119  xUxS-decl-spec-seq -> xUxx-decl-spec-seq ftor-spec
120  xUxS-decl-spec-seq -> xxxS-decl-spec-seq user-type
121  xUxS-decl-spec-seq -> xUxS-decl-spec-seq ftor-spec
122  xUVS-decl-spec-seq -> xUVx-decl-spec-seq ftor-spec
123  xUVS-decl-spec-seq -> xUxS-decl-spec-seq cv-spec
124  xUVS-decl-spec-seq -> xxVS-decl-spec-seq user-type
125  xUVS-decl-spec-seq -> xUVS-decl-spec-seq ftor-spec
126  xUVS-decl-spec-seq -> xUVS-decl-spec-seq cv-spec
127  expr-opt -> expr
128  expr-opt ->
129  expr -> comma-expr
130  comma-expr -> comma-expr COMMA assign-expr
131  comma-expr -> assign-expr
132  assign-expr -> log-or-expr ASSIGN assign-expr
133  assign-expr -> cond-expr
134  cond-expr -> log-or-expr QMARK expr COLON assign-expr
135  cond-expr -> log-or-expr
136  log-or-expr -> log-or-expr OR log-and-expr
137  log-or-expr -> log-and-expr
138  log-and-expr -> log-and-expr AND incl-or-expr
139  log-and-expr -> incl-or-expr
140  incl-or-expr -> incl-or-expr BITOR excl-or-expr
141  incl-or-expr -> excl-or-expr
142  excl-or-expr -> excl-or-expr XOR and-expr
143  excl-or-expr -> and-expr
144  and-expr -> and-expr BITAND eq-expr
145  and-expr -> eq-expr
146  eq-expr -> eq-expr EQ rel-expr
147  eq-expr -> eq-expr NOTEQ rel-expr
148  eq-expr -> rel-expr
149  rel-expr -> rel-expr LT shift-expr
150  rel-expr -> rel-expr GT shift-expr
151  rel-expr -> rel-expr LTEQ shift-expr
152  rel-expr -> rel-expr GTEQ shift-expr
153  rel-expr -> shift-expr
154  shift-expr -> shift-expr LSHIFT add-expr
155  shift-expr -> shift-expr RSHIFT add-expr
156  shift-expr -> add-expr
157  add-expr -> add-expr PLUS mult-expr
158  add-expr -> add-expr MINUS mult-expr
159  add-expr -> mult-expr
160  mult-expr -> mult-expr TIMES primary-expr
161  mult-expr -> mult-expr DIVIDE primary-expr
162  mult-expr -> mult-expr MOD primary-expr
163  mult-expr -> primary-expr
164  primary-expr -> NUMBER
165  primary-expr -> name >
166  primary-expr -> LPAREN expr RPAREN

0
-----
start ->.name

DCOLON - SHIFT 1
* - REDUCE 4 nested-name-opt

name - GOTO 2
nested-name-opt - GOTO 3
nested-name - GOTO 4

1
-----
nested-name -> DCOLON. (5)

* - REDUCE 5 nested-name

2
-----
start -> name. (0)
nested-name -> name.DCOLON >!

EOT - DONE 0
DCOLON - SHIFT 5

3
-----
name -> nested-name-opt.IDENT
name -> nested-name-opt.IDENT LT template-arg-list-opt GT ^!

IDENT - SHIFT 6

4
-----
nested-name-opt -> nested-name. (3)

* - REDUCE 3 nested-name-opt

5
-----
nested-name -> name DCOLON >!. (6)

* - REDUCE 6 nested-name

6
-----
name -> nested-name-opt IDENT. (1)
name -> nested-name-opt IDENT.LT template-arg-list-opt GT ^!

LT - SHIFT 7
* - REDUCE 1 name

7
-----
name -> nested-name-opt IDENT LT.template-arg-list-opt GT ^!

GT - REDUCE 8 template-arg-list-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 8
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 31
nested-name-opt - GOTO 32
template-arg-list-opt - GOTO 33
nested-name - GOTO 4
template-arg-list - GOTO 34
template-arg - GOTO 35
abstract-decl - GOTO 36
expr - GOTO 37
xBxx-decl-spec-seq - GOTO 38
xBVx-decl-spec-seq - GOTO 39
xBxS-decl-spec-seq - GOTO 40
xBVS-decl-spec-seq - GOTO 41
xUxx-decl-spec-seq - GOTO 42
xUVx-decl-spec-seq - GOTO 43
xUxS-decl-spec-seq - GOTO 44
xUVS-decl-spec-seq - GOTO 45
bltn-type - GOTO 46
bltn-type-token - GOTO 47
user-type - GOTO 48
cv-spec - GOTO 49
cv-spec-token - GOTO 50
ftor-spec - GOTO 51
ftor-spec-token - GOTO 52
xxVx-decl-spec-seq - GOTO 53
xxxS-decl-spec-seq - GOTO 54
xxVS-decl-spec-seq - GOTO 55
comma-expr - GOTO 56
assign-expr - GOTO 57
log-or-expr - GOTO 58
cond-expr - GOTO 59
log-and-expr - GOTO 60
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

8
-----
primary-expr -> LPAREN.expr RPAREN

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
expr - GOTO 71
comma-expr - GOTO 72
assign-expr - GOTO 57
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

9
-----
bltn-type-token -> BOOL. (63)

* - REDUCE 63 bltn-type-token

10
-----
bltn-type-token -> CHAR. (64)

* - REDUCE 64 bltn-type-token

11
-----
bltn-type-token -> DOUBLE. (65)

* - REDUCE 65 bltn-type-token

12
-----
bltn-type-token -> FLOAT. (66)

* - REDUCE 66 bltn-type-token

13
-----
bltn-type-token -> INT. (67)

* - REDUCE 67 bltn-type-token

14
-----
bltn-type-token -> LONG. (68)

* - REDUCE 68 bltn-type-token

15
-----
bltn-type-token -> SHORT. (69)

* - REDUCE 69 bltn-type-token

16
-----
bltn-type-token -> SIGNED. (70)

* - REDUCE 70 bltn-type-token

17
-----
bltn-type-token -> UNSIGNED. (71)

* - REDUCE 71 bltn-type-token

18
-----
bltn-type-token -> VOID. (72)

* - REDUCE 72 bltn-type-token

19
-----
bltn-type-token -> WCHAR. (73)

* - REDUCE 73 bltn-type-token

20
-----
cv-spec-token -> CONST. (76)

* - REDUCE 76 cv-spec-token

21
-----
cv-spec-token -> VOLATILE. (77)

* - REDUCE 77 cv-spec-token

22
-----
ftor-spec-token -> INLINE. (83)

* - REDUCE 83 ftor-spec-token

23
-----
ftor-spec-token -> VIRTUAL. (84)

* - REDUCE 84 ftor-spec-token

24
-----
ftor-spec-token -> EXPLICIT. (85)

* - REDUCE 85 ftor-spec-token

25
-----
ftor-spec-token -> STATIC. (86)

* - REDUCE 86 ftor-spec-token

26
-----
ftor-spec-token -> EXTERN. (87)

* - REDUCE 87 ftor-spec-token

27
-----
ftor-spec-token -> MUTABLE. (88)

* - REDUCE 88 ftor-spec-token

28
-----
ftor-spec-token -> AUTO. (89)

* - REDUCE 89 ftor-spec-token

29
-----
ftor-spec-token -> REGISTER. (90)

* - REDUCE 90 ftor-spec-token

30
-----
primary-expr -> NUMBER. (164)

* - REDUCE 164 primary-expr

31
-----
nested-name -> name.DCOLON >!
user-type -> name. (74)
primary-expr -> name >. (165)

IDENT - REDUCE 74 user-type
GT - REDUCE 74 user-type, REDUCE 165 primary-expr
DCOLON - SHIFT 5
COMMA - REDUCE 74 user-type, REDUCE 165 primary-expr
LPAREN - REDUCE 74 user-type
LBRACK - REDUCE 74 user-type
TIMES - REDUCE 74 user-type, REDUCE 165 primary-expr
AMPERSAND - REDUCE 74 user-type
CONST - REDUCE 74 user-type
VOLATILE - REDUCE 74 user-type
INLINE - REDUCE 74 user-type
VIRTUAL - REDUCE 74 user-type
EXPLICIT - REDUCE 74 user-type
STATIC - REDUCE 74 user-type
EXTERN - REDUCE 74 user-type
MUTABLE - REDUCE 74 user-type
AUTO - REDUCE 74 user-type
REGISTER - REDUCE 74 user-type
* - REDUCE 165 primary-expr

32
-----
name -> nested-name-opt.IDENT
name -> nested-name-opt.IDENT LT template-arg-list-opt GT ^!

IDENT - SHIFT 80

33
-----
name -> nested-name-opt IDENT LT template-arg-list-opt.GT ^!

GT - SHIFT 81

34
-----
template-arg-list-opt -> template-arg-list. (7)
template-arg-list -> template-arg-list.COMMA ^! template-arg

COMMA - SHIFT 82
* - REDUCE 7 template-arg-list-opt

35
-----
template-arg-list -> template-arg. (9)

* - REDUCE 9 template-arg-list

36
-----
template-arg -> abstract-decl >+. (11)

* - REDUCE 11 template-arg

37
-----
template-arg -> expr. (12)

* - REDUCE 12 template-arg

38
-----
abstract-decl -> xBxx-decl-spec-seq.abstract-dcl-opt
xBxx-decl-spec-seq -> xBxx-decl-spec-seq.bltn-type
xBVx-decl-spec-seq -> xBxx-decl-spec-seq.cv-spec
xBxS-decl-spec-seq -> xBxx-decl-spec-seq.ftor-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 87
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
bltn-type - GOTO 92
bltn-type-token - GOTO 47
cv-spec - GOTO 93
cv-spec-token - GOTO 50
ftor-spec - GOTO 94
ftor-spec-token - GOTO 52

39
-----
abstract-decl -> xBVx-decl-spec-seq.abstract-dcl-opt
xBVx-decl-spec-seq -> xBVx-decl-spec-seq.cv-spec
xBVx-decl-spec-seq -> xBVx-decl-spec-seq.bltn-type
xBVS-decl-spec-seq -> xBVx-decl-spec-seq.ftor-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 95
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
bltn-type - GOTO 96
bltn-type-token - GOTO 47
cv-spec - GOTO 97
cv-spec-token - GOTO 50
ftor-spec - GOTO 98
ftor-spec-token - GOTO 52

40
-----
abstract-decl -> xBxS-decl-spec-seq.abstract-dcl-opt
xBxS-decl-spec-seq -> xBxS-decl-spec-seq.ftor-spec
xBxS-decl-spec-seq -> xBxS-decl-spec-seq.bltn-type
xBVS-decl-spec-seq -> xBxS-decl-spec-seq.cv-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 99
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
bltn-type - GOTO 100
bltn-type-token - GOTO 47
cv-spec - GOTO 101
cv-spec-token - GOTO 50
ftor-spec - GOTO 102
ftor-spec-token - GOTO 52

41
-----
abstract-decl -> xBVS-decl-spec-seq.abstract-dcl-opt
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.ftor-spec
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.cv-spec
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.bltn-type

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 103
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
bltn-type - GOTO 104
bltn-type-token - GOTO 47
cv-spec - GOTO 105
cv-spec-token - GOTO 50
ftor-spec - GOTO 106
ftor-spec-token - GOTO 52

42
-----
abstract-decl -> xUxx-decl-spec-seq.abstract-dcl-opt
xUVx-decl-spec-seq -> xUxx-decl-spec-seq.cv-spec
xUxS-decl-spec-seq -> xUxx-decl-spec-seq.ftor-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 107
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
cv-spec - GOTO 108
cv-spec-token - GOTO 50
ftor-spec - GOTO 109
ftor-spec-token - GOTO 52

43
-----
abstract-decl -> xUVx-decl-spec-seq.abstract-dcl-opt
xUVx-decl-spec-seq -> xUVx-decl-spec-seq.cv-spec
xUVS-decl-spec-seq -> xUVx-decl-spec-seq.ftor-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 110
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
cv-spec - GOTO 111
cv-spec-token - GOTO 50
ftor-spec - GOTO 112
ftor-spec-token - GOTO 52

44
-----
abstract-decl -> xUxS-decl-spec-seq.abstract-dcl-opt
xUxS-decl-spec-seq -> xUxS-decl-spec-seq.ftor-spec
xUVS-decl-spec-seq -> xUxS-decl-spec-seq.cv-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 113
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
cv-spec - GOTO 114
cv-spec-token - GOTO 50
ftor-spec - GOTO 115
ftor-spec-token - GOTO 52

45
-----
abstract-decl -> xUVS-decl-spec-seq.abstract-dcl-opt
xUVS-decl-spec-seq -> xUVS-decl-spec-seq.ftor-spec
xUVS-decl-spec-seq -> xUVS-decl-spec-seq.cv-spec

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 116
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91
cv-spec - GOTO 117
cv-spec-token - GOTO 50
ftor-spec - GOTO 118
ftor-spec-token - GOTO 52

46
-----
xBxx-decl-spec-seq -> bltn-type. (100)

* - REDUCE 100 xBxx-decl-spec-seq

47
-----
bltn-type -> bltn-type-token. (62)

* - REDUCE 62 bltn-type

48
-----
xUxx-decl-spec-seq -> user-type. (115)

* - REDUCE 115 xUxx-decl-spec-seq

49
-----
xxVx-decl-spec-seq -> cv-spec. (92)

* - REDUCE 92 xxVx-decl-spec-seq

50
-----
cv-spec -> cv-spec-token. (75)

* - REDUCE 75 cv-spec

51
-----
xxxS-decl-spec-seq -> ftor-spec. (94)

* - REDUCE 94 xxxS-decl-spec-seq

52
-----
ftor-spec -> ftor-spec-token. (82)

* - REDUCE 82 ftor-spec

53
-----
xxVx-decl-spec-seq -> xxVx-decl-spec-seq.cv-spec
xxVS-decl-spec-seq -> xxVx-decl-spec-seq.ftor-spec
xBVx-decl-spec-seq -> xxVx-decl-spec-seq.bltn-type
xUVx-decl-spec-seq -> xxVx-decl-spec-seq.user-type

DCOLON - SHIFT 1
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
bltn-type - GOTO 120
bltn-type-token - GOTO 47
user-type - GOTO 121
cv-spec - GOTO 122
cv-spec-token - GOTO 50
ftor-spec - GOTO 123
ftor-spec-token - GOTO 52

54
-----
xxxS-decl-spec-seq -> xxxS-decl-spec-seq.ftor-spec
xxVS-decl-spec-seq -> xxxS-decl-spec-seq.cv-spec
xBxS-decl-spec-seq -> xxxS-decl-spec-seq.bltn-type
xUxS-decl-spec-seq -> xxxS-decl-spec-seq.user-type

DCOLON - SHIFT 1
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
bltn-type - GOTO 124
bltn-type-token - GOTO 47
user-type - GOTO 125
cv-spec - GOTO 126
cv-spec-token - GOTO 50
ftor-spec - GOTO 127
ftor-spec-token - GOTO 52

55
-----
xxVS-decl-spec-seq -> xxVS-decl-spec-seq.ftor-spec
xxVS-decl-spec-seq -> xxVS-decl-spec-seq.cv-spec
xBVS-decl-spec-seq -> xxVS-decl-spec-seq.bltn-type
xUVS-decl-spec-seq -> xxVS-decl-spec-seq.user-type

DCOLON - SHIFT 1
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
bltn-type - GOTO 128
bltn-type-token - GOTO 47
user-type - GOTO 129
cv-spec - GOTO 130
cv-spec-token - GOTO 50
ftor-spec - GOTO 131
ftor-spec-token - GOTO 52

56
-----
expr -> comma-expr. (129)
comma-expr -> comma-expr.COMMA assign-expr

* - REDUCE 129 expr

57
-----
comma-expr -> assign-expr. (131)

* - REDUCE 131 comma-expr

58
-----
assign-expr -> log-or-expr.ASSIGN assign-expr
cond-expr -> log-or-expr.QMARK expr COLON assign-expr
cond-expr -> log-or-expr. (135)
log-or-expr -> log-or-expr.OR log-and-expr

ASSIGN - SHIFT 133
QMARK - SHIFT 134
OR - SHIFT 135
* - REDUCE 135 cond-expr

59
-----
assign-expr -> cond-expr. (133)

* - REDUCE 133 assign-expr

60
-----
log-or-expr -> log-and-expr. (137)
log-and-expr -> log-and-expr.AND incl-or-expr

AND - SHIFT 136
* - REDUCE 137 log-or-expr

61
-----
log-and-expr -> incl-or-expr. (139)
incl-or-expr -> incl-or-expr.BITOR excl-or-expr

BITOR - SHIFT 137
* - REDUCE 139 log-and-expr

62
-----
incl-or-expr -> excl-or-expr. (141)
excl-or-expr -> excl-or-expr.XOR and-expr

XOR - SHIFT 138
* - REDUCE 141 incl-or-expr

63
-----
excl-or-expr -> and-expr. (143)
and-expr -> and-expr.BITAND eq-expr

BITAND - SHIFT 139
* - REDUCE 143 excl-or-expr

64
-----
and-expr -> eq-expr. (145)
eq-expr -> eq-expr.EQ rel-expr
eq-expr -> eq-expr.NOTEQ rel-expr

EQ - SHIFT 140
NOTEQ - SHIFT 141
* - REDUCE 145 and-expr

65
-----
eq-expr -> rel-expr. (148)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 148 eq-expr

66
-----
rel-expr -> shift-expr. (153)
shift-expr -> shift-expr.LSHIFT add-expr
shift-expr -> shift-expr.RSHIFT add-expr

LSHIFT - SHIFT 146
RSHIFT - SHIFT 147
* - REDUCE 153 rel-expr

67
-----
shift-expr -> add-expr. (156)
add-expr -> add-expr.PLUS mult-expr
add-expr -> add-expr.MINUS mult-expr

PLUS - SHIFT 148
MINUS - SHIFT 149
* - REDUCE 156 shift-expr

68
-----
add-expr -> mult-expr. (159)
mult-expr -> mult-expr.TIMES primary-expr
mult-expr -> mult-expr.DIVIDE primary-expr
mult-expr -> mult-expr.MOD primary-expr

TIMES - SHIFT 150
DIVIDE - SHIFT 151
MOD - SHIFT 152
* - REDUCE 159 add-expr

69
-----
mult-expr -> primary-expr. (163)

* - REDUCE 163 mult-expr

70
-----
nested-name -> name.DCOLON >!
primary-expr -> name >. (165)

DCOLON - SHIFT 5
* - REDUCE 165 primary-expr

71
-----
primary-expr -> LPAREN expr.RPAREN

RPAREN - SHIFT 153

72
-----
expr -> comma-expr. (129)
comma-expr -> comma-expr.COMMA assign-expr

COMMA - SHIFT 154
* - REDUCE 129 expr

73
-----
assign-expr -> log-or-expr.ASSIGN assign-expr
cond-expr -> log-or-expr.QMARK expr COLON assign-expr
cond-expr -> log-or-expr. (135)
log-or-expr -> log-or-expr.OR log-and-expr

ASSIGN - SHIFT 155
QMARK - SHIFT 156
OR - SHIFT 157
* - REDUCE 135 cond-expr

74
-----
log-or-expr -> log-and-expr. (137)
log-and-expr -> log-and-expr.AND incl-or-expr

AND - SHIFT 158
* - REDUCE 137 log-or-expr

75
-----
log-and-expr -> incl-or-expr. (139)
incl-or-expr -> incl-or-expr.BITOR excl-or-expr

BITOR - SHIFT 159
* - REDUCE 139 log-and-expr

76
-----
incl-or-expr -> excl-or-expr. (141)
excl-or-expr -> excl-or-expr.XOR and-expr

XOR - SHIFT 160
* - REDUCE 141 incl-or-expr

77
-----
excl-or-expr -> and-expr. (143)
and-expr -> and-expr.BITAND eq-expr

BITAND - SHIFT 161
* - REDUCE 143 excl-or-expr

78
-----
and-expr -> eq-expr. (145)
eq-expr -> eq-expr.EQ rel-expr
eq-expr -> eq-expr.NOTEQ rel-expr

EQ - SHIFT 162
NOTEQ - SHIFT 163
* - REDUCE 145 and-expr

79
-----
eq-expr -> rel-expr. (148)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
GT - SHIFT 143
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 148 eq-expr

80
-----
name -> nested-name-opt IDENT. (1)
name -> nested-name-opt IDENT.LT template-arg-list-opt GT ^!

LT - SHIFT 7, REDUCE 1 name
* - REDUCE 1 name

81
-----
name -> nested-name-opt IDENT LT template-arg-list-opt GT ^!. (2)

* - REDUCE 2 name

82
-----
template-arg-list -> template-arg-list COMMA ^!.template-arg

DCOLON - SHIFT 1
LPAREN - SHIFT 8
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 31
nested-name-opt - GOTO 32
nested-name - GOTO 4
template-arg - GOTO 164
abstract-decl - GOTO 36
expr - GOTO 37
xBxx-decl-spec-seq - GOTO 38
xBVx-decl-spec-seq - GOTO 39
xBxS-decl-spec-seq - GOTO 40
xBVS-decl-spec-seq - GOTO 41
xUxx-decl-spec-seq - GOTO 42
xUVx-decl-spec-seq - GOTO 43
xUxS-decl-spec-seq - GOTO 44
xUVS-decl-spec-seq - GOTO 45
bltn-type - GOTO 46
bltn-type-token - GOTO 47
user-type - GOTO 48
cv-spec - GOTO 49
cv-spec-token - GOTO 50
ftor-spec - GOTO 51
ftor-spec-token - GOTO 52
xxVx-decl-spec-seq - GOTO 53
xxxS-decl-spec-seq - GOTO 54
xxVS-decl-spec-seq - GOTO 55
comma-expr - GOTO 56
assign-expr - GOTO 57
log-or-expr - GOTO 58
cond-expr - GOTO 59
log-and-expr - GOTO 60
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

83
-----
abstract-direct-dcl -> LPAREN >.abstract-dcl RPAREN

DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 4 nested-name-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl - GOTO 165
ptr-oper - GOTO 166
abstract-direct-dcl - GOTO 167
abstract-direct-dcl-opt - GOTO 91

84
-----
ptr-oper -> TIMES.cv-spec-seq-opt

CONST - SHIFT 20
VOLATILE - SHIFT 21
* - REDUCE 79 cv-spec-seq-opt

cv-spec-seq-opt - GOTO 168
cv-spec - GOTO 169
cv-spec-token - GOTO 50
cv-spec-seq - GOTO 170

85
-----
ptr-oper -> AMPERSAND. (60)

* - REDUCE 60 ptr-oper

86
-----
nested-name -> name.DCOLON >!
ptr-oper -> name.DCOLON TIMES cv-spec-seq-opt

DCOLON - SHIFT 171

87
-----
abstract-decl -> xBxx-decl-spec-seq abstract-dcl-opt. (13)

* - REDUCE 13 abstract-decl

88
-----
abstract-dcl-opt -> abstract-dcl. (26)

* - REDUCE 26 abstract-dcl-opt

89
-----
abstract-dcl -> ptr-oper.abstract-dcl-opt

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 27 abstract-dcl-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 172
abstract-dcl - GOTO 88
ptr-oper - GOTO 89
abstract-direct-dcl - GOTO 90
abstract-direct-dcl-opt - GOTO 91

90
-----
abstract-dcl -> abstract-direct-dcl. (22)
abstract-direct-dcl-opt -> abstract-direct-dcl. (28)

LPAREN - REDUCE 28 abstract-direct-dcl-opt
LBRACK - REDUCE 28 abstract-direct-dcl-opt
* - REDUCE 22 abstract-dcl

91
-----
abstract-direct-dcl -> abstract-direct-dcl-opt.LPAREN param-decl-clause RPAREN cv-spec-seq-opt
abstract-direct-dcl -> abstract-direct-dcl-opt.LBRACK expr-opt RBRACK

LPAREN - SHIFT 173
LBRACK - SHIFT 174

92
-----
xBxx-decl-spec-seq -> xBxx-decl-spec-seq bltn-type. (99)

* - REDUCE 99 xBxx-decl-spec-seq

93
-----
xBVx-decl-spec-seq -> xBxx-decl-spec-seq cv-spec. (101)

* - REDUCE 101 xBVx-decl-spec-seq

94
-----
xBxS-decl-spec-seq -> xBxx-decl-spec-seq ftor-spec. (105)

* - REDUCE 105 xBxS-decl-spec-seq

95
-----
abstract-decl -> xBVx-decl-spec-seq abstract-dcl-opt. (14)

* - REDUCE 14 abstract-decl

96
-----
xBVx-decl-spec-seq -> xBVx-decl-spec-seq bltn-type. (104)

* - REDUCE 104 xBVx-decl-spec-seq

97
-----
xBVx-decl-spec-seq -> xBVx-decl-spec-seq cv-spec. (103)

* - REDUCE 103 xBVx-decl-spec-seq

98
-----
xBVS-decl-spec-seq -> xBVx-decl-spec-seq ftor-spec. (109)

* - REDUCE 109 xBVS-decl-spec-seq

99
-----
abstract-decl -> xBxS-decl-spec-seq abstract-dcl-opt. (15)

* - REDUCE 15 abstract-decl

100
-----
xBxS-decl-spec-seq -> xBxS-decl-spec-seq bltn-type. (108)

* - REDUCE 108 xBxS-decl-spec-seq

101
-----
xBVS-decl-spec-seq -> xBxS-decl-spec-seq cv-spec. (110)

* - REDUCE 110 xBVS-decl-spec-seq

102
-----
xBxS-decl-spec-seq -> xBxS-decl-spec-seq ftor-spec. (107)

* - REDUCE 107 xBxS-decl-spec-seq

103
-----
abstract-decl -> xBVS-decl-spec-seq abstract-dcl-opt. (16)

* - REDUCE 16 abstract-decl

104
-----
xBVS-decl-spec-seq -> xBVS-decl-spec-seq bltn-type. (114)

* - REDUCE 114 xBVS-decl-spec-seq

105
-----
xBVS-decl-spec-seq -> xBVS-decl-spec-seq cv-spec. (113)

* - REDUCE 113 xBVS-decl-spec-seq

106
-----
xBVS-decl-spec-seq -> xBVS-decl-spec-seq ftor-spec. (112)

* - REDUCE 112 xBVS-decl-spec-seq

107
-----
abstract-decl -> xUxx-decl-spec-seq abstract-dcl-opt. (17)

* - REDUCE 17 abstract-decl

108
-----
xUVx-decl-spec-seq -> xUxx-decl-spec-seq cv-spec. (116)

* - REDUCE 116 xUVx-decl-spec-seq

109
-----
xUxS-decl-spec-seq -> xUxx-decl-spec-seq ftor-spec. (119)

* - REDUCE 119 xUxS-decl-spec-seq

110
-----
abstract-decl -> xUVx-decl-spec-seq abstract-dcl-opt. (18)

* - REDUCE 18 abstract-decl

111
-----
xUVx-decl-spec-seq -> xUVx-decl-spec-seq cv-spec. (118)

* - REDUCE 118 xUVx-decl-spec-seq

112
-----
xUVS-decl-spec-seq -> xUVx-decl-spec-seq ftor-spec. (122)

* - REDUCE 122 xUVS-decl-spec-seq

113
-----
abstract-decl -> xUxS-decl-spec-seq abstract-dcl-opt. (19)

* - REDUCE 19 abstract-decl

114
-----
xUVS-decl-spec-seq -> xUxS-decl-spec-seq cv-spec. (123)

* - REDUCE 123 xUVS-decl-spec-seq

115
-----
xUxS-decl-spec-seq -> xUxS-decl-spec-seq ftor-spec. (121)

* - REDUCE 121 xUxS-decl-spec-seq

116
-----
abstract-decl -> xUVS-decl-spec-seq abstract-dcl-opt. (20)

* - REDUCE 20 abstract-decl

117
-----
xUVS-decl-spec-seq -> xUVS-decl-spec-seq cv-spec. (126)

* - REDUCE 126 xUVS-decl-spec-seq

118
-----
xUVS-decl-spec-seq -> xUVS-decl-spec-seq ftor-spec. (125)

* - REDUCE 125 xUVS-decl-spec-seq

119
-----
nested-name -> name.DCOLON >!
user-type -> name. (74)

DCOLON - SHIFT 5
* - REDUCE 74 user-type

120
-----
xBVx-decl-spec-seq -> xxVx-decl-spec-seq bltn-type. (102)

* - REDUCE 102 xBVx-decl-spec-seq

121
-----
xUVx-decl-spec-seq -> xxVx-decl-spec-seq user-type. (117)

* - REDUCE 117 xUVx-decl-spec-seq

122
-----
xxVx-decl-spec-seq -> xxVx-decl-spec-seq cv-spec. (91)

* - REDUCE 91 xxVx-decl-spec-seq

123
-----
xxVS-decl-spec-seq -> xxVx-decl-spec-seq ftor-spec. (95)

* - REDUCE 95 xxVS-decl-spec-seq

124
-----
xBxS-decl-spec-seq -> xxxS-decl-spec-seq bltn-type. (106)

* - REDUCE 106 xBxS-decl-spec-seq

125
-----
xUxS-decl-spec-seq -> xxxS-decl-spec-seq user-type. (120)

* - REDUCE 120 xUxS-decl-spec-seq

126
-----
xxVS-decl-spec-seq -> xxxS-decl-spec-seq cv-spec. (96)

* - REDUCE 96 xxVS-decl-spec-seq

127
-----
xxxS-decl-spec-seq -> xxxS-decl-spec-seq ftor-spec. (93)

* - REDUCE 93 xxxS-decl-spec-seq

128
-----
xBVS-decl-spec-seq -> xxVS-decl-spec-seq bltn-type. (111)

* - REDUCE 111 xBVS-decl-spec-seq

129
-----
xUVS-decl-spec-seq -> xxVS-decl-spec-seq user-type. (124)

* - REDUCE 124 xUVS-decl-spec-seq

130
-----
xxVS-decl-spec-seq -> xxVS-decl-spec-seq cv-spec. (98)

* - REDUCE 98 xxVS-decl-spec-seq

131
-----
xxVS-decl-spec-seq -> xxVS-decl-spec-seq ftor-spec. (97)

* - REDUCE 97 xxVS-decl-spec-seq

132
-----
comma-expr -> comma-expr COMMA.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 175
log-or-expr - GOTO 58
cond-expr - GOTO 59
log-and-expr - GOTO 60
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

133
-----
assign-expr -> log-or-expr ASSIGN.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 176
log-or-expr - GOTO 58
cond-expr - GOTO 59
log-and-expr - GOTO 60
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

134
-----
cond-expr -> log-or-expr QMARK.expr COLON assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
expr - GOTO 177
comma-expr - GOTO 72
assign-expr - GOTO 57
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

135
-----
log-or-expr -> log-or-expr OR.log-and-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
log-and-expr - GOTO 178
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

136
-----
log-and-expr -> log-and-expr AND.incl-or-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
incl-or-expr - GOTO 179
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

137
-----
incl-or-expr -> incl-or-expr BITOR.excl-or-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
excl-or-expr - GOTO 180
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

138
-----
excl-or-expr -> excl-or-expr XOR.and-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
and-expr - GOTO 181
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

139
-----
and-expr -> and-expr BITAND.eq-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
eq-expr - GOTO 182
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

140
-----
eq-expr -> eq-expr EQ.rel-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
rel-expr - GOTO 183
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

141
-----
eq-expr -> eq-expr NOTEQ.rel-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
rel-expr - GOTO 184
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

142
-----
rel-expr -> rel-expr LT.shift-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
shift-expr - GOTO 185
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

143
-----
rel-expr -> rel-expr GT.shift-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
shift-expr - GOTO 186
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

144
-----
rel-expr -> rel-expr LTEQ.shift-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
shift-expr - GOTO 187
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

145
-----
rel-expr -> rel-expr GTEQ.shift-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
shift-expr - GOTO 188
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

146
-----
shift-expr -> shift-expr LSHIFT.add-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
add-expr - GOTO 189
mult-expr - GOTO 68
primary-expr - GOTO 69

147
-----
shift-expr -> shift-expr RSHIFT.add-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
add-expr - GOTO 190
mult-expr - GOTO 68
primary-expr - GOTO 69

148
-----
add-expr -> add-expr PLUS.mult-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
mult-expr - GOTO 191
primary-expr - GOTO 69

149
-----
add-expr -> add-expr MINUS.mult-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
mult-expr - GOTO 192
primary-expr - GOTO 69

150
-----
mult-expr -> mult-expr TIMES.primary-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
primary-expr - GOTO 193

151
-----
mult-expr -> mult-expr DIVIDE.primary-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
primary-expr - GOTO 194

152
-----
mult-expr -> mult-expr MOD.primary-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
primary-expr - GOTO 195

153
-----
primary-expr -> LPAREN expr RPAREN. (166)

* - REDUCE 166 primary-expr

154
-----
comma-expr -> comma-expr COMMA.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 175
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

155
-----
assign-expr -> log-or-expr ASSIGN.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 176
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

156
-----
cond-expr -> log-or-expr QMARK.expr COLON assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
expr - GOTO 196
comma-expr - GOTO 72
assign-expr - GOTO 57
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

157
-----
log-or-expr -> log-or-expr OR.log-and-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
log-and-expr - GOTO 197
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

158
-----
log-and-expr -> log-and-expr AND.incl-or-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
incl-or-expr - GOTO 198
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

159
-----
incl-or-expr -> incl-or-expr BITOR.excl-or-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
excl-or-expr - GOTO 199
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

160
-----
excl-or-expr -> excl-or-expr XOR.and-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
and-expr - GOTO 200
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

161
-----
and-expr -> and-expr BITAND.eq-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
eq-expr - GOTO 201
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

162
-----
eq-expr -> eq-expr EQ.rel-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
rel-expr - GOTO 202
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

163
-----
eq-expr -> eq-expr NOTEQ.rel-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
rel-expr - GOTO 203
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

164
-----
template-arg-list -> template-arg-list COMMA ^! template-arg. (10)

* - REDUCE 10 template-arg-list

165
-----
abstract-direct-dcl -> LPAREN > abstract-dcl.RPAREN

RPAREN - SHIFT 204

166
-----
abstract-dcl -> ptr-oper.abstract-dcl-opt

DCOLON - SHIFT 1
LPAREN - SHIFT 83, REDUCE 29 abstract-direct-dcl-opt
RPAREN - REDUCE 27 abstract-dcl-opt
LBRACK - REDUCE 29 abstract-direct-dcl-opt
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 4 nested-name-opt

name - GOTO 86
nested-name-opt - GOTO 3
nested-name - GOTO 4
abstract-dcl-opt - GOTO 172
abstract-dcl - GOTO 88
ptr-oper - GOTO 166
abstract-direct-dcl - GOTO 167
abstract-direct-dcl-opt - GOTO 91

167
-----
abstract-dcl -> abstract-direct-dcl. (22)
abstract-direct-dcl-opt -> abstract-direct-dcl. (28)

RPAREN - REDUCE 22 abstract-dcl
* - REDUCE 28 abstract-direct-dcl-opt

168
-----
ptr-oper -> TIMES cv-spec-seq-opt. (59)

* - REDUCE 59 ptr-oper

169
-----
cv-spec-seq -> cv-spec. (80)

* - REDUCE 80 cv-spec-seq

170
-----
cv-spec-seq-opt -> cv-spec-seq. (78)
cv-spec-seq -> cv-spec-seq.cv-spec

CONST - SHIFT 20
VOLATILE - SHIFT 21
* - REDUCE 78 cv-spec-seq-opt

cv-spec - GOTO 205
cv-spec-token - GOTO 50

171
-----
nested-name -> name DCOLON >!. (6)
ptr-oper -> name DCOLON.TIMES cv-spec-seq-opt

TIMES - SHIFT 206
* - REDUCE 6 nested-name

172
-----
abstract-dcl -> ptr-oper abstract-dcl-opt. (21)

* - REDUCE 21 abstract-dcl

173
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LPAREN.param-decl-clause RPAREN cv-spec-seq-opt

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 35 param-decl-list-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
xBxx-decl-spec-seq - GOTO 207
xBVx-decl-spec-seq - GOTO 208
xBxS-decl-spec-seq - GOTO 209
xBVS-decl-spec-seq - GOTO 210
xUxx-decl-spec-seq - GOTO 211
xUVx-decl-spec-seq - GOTO 212
xUxS-decl-spec-seq - GOTO 213
xUVS-decl-spec-seq - GOTO 214
param-decl-clause - GOTO 215
param-decl-list-opt - GOTO 216
param-decl-list - GOTO 217
param-decl - GOTO 218
bltn-type - GOTO 46
bltn-type-token - GOTO 47
user-type - GOTO 48
cv-spec - GOTO 49
cv-spec-token - GOTO 50
ftor-spec - GOTO 51
ftor-spec-token - GOTO 52
xxVx-decl-spec-seq - GOTO 53
xxxS-decl-spec-seq - GOTO 54
xxVS-decl-spec-seq - GOTO 55

174
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LBRACK.expr-opt RBRACK

DCOLON - SHIFT 1
LPAREN - SHIFT 8
RBRACK - REDUCE 128 expr-opt
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
expr - GOTO 219
expr-opt - GOTO 220
comma-expr - GOTO 72
assign-expr - GOTO 57
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

175
-----
comma-expr -> comma-expr COMMA assign-expr. (130)

* - REDUCE 130 comma-expr

176
-----
assign-expr -> log-or-expr ASSIGN assign-expr. (132)

* - REDUCE 132 assign-expr

177
-----
cond-expr -> log-or-expr QMARK expr.COLON assign-expr

COLON - SHIFT 221

178
-----
log-or-expr -> log-or-expr OR log-and-expr. (136)
log-and-expr -> log-and-expr.AND incl-or-expr

AND - SHIFT 136
* - REDUCE 136 log-or-expr

179
-----
log-and-expr -> log-and-expr AND incl-or-expr. (138)
incl-or-expr -> incl-or-expr.BITOR excl-or-expr

BITOR - SHIFT 137
* - REDUCE 138 log-and-expr

180
-----
incl-or-expr -> incl-or-expr BITOR excl-or-expr. (140)
excl-or-expr -> excl-or-expr.XOR and-expr

XOR - SHIFT 138
* - REDUCE 140 incl-or-expr

181
-----
excl-or-expr -> excl-or-expr XOR and-expr. (142)
and-expr -> and-expr.BITAND eq-expr

BITAND - SHIFT 139
* - REDUCE 142 excl-or-expr

182
-----
and-expr -> and-expr BITAND eq-expr. (144)
eq-expr -> eq-expr.EQ rel-expr
eq-expr -> eq-expr.NOTEQ rel-expr

EQ - SHIFT 140
NOTEQ - SHIFT 141
* - REDUCE 144 and-expr

183
-----
eq-expr -> eq-expr EQ rel-expr. (146)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 146 eq-expr

184
-----
eq-expr -> eq-expr NOTEQ rel-expr. (147)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 147 eq-expr

185
-----
rel-expr -> rel-expr LT shift-expr. (149)
shift-expr -> shift-expr.LSHIFT add-expr
shift-expr -> shift-expr.RSHIFT add-expr

LSHIFT - SHIFT 146
RSHIFT - SHIFT 147
* - REDUCE 149 rel-expr

186
-----
rel-expr -> rel-expr GT shift-expr. (150)
shift-expr -> shift-expr.LSHIFT add-expr
shift-expr -> shift-expr.RSHIFT add-expr

LSHIFT - SHIFT 146
RSHIFT - SHIFT 147
* - REDUCE 150 rel-expr

187
-----
rel-expr -> rel-expr LTEQ shift-expr. (151)
shift-expr -> shift-expr.LSHIFT add-expr
shift-expr -> shift-expr.RSHIFT add-expr

LSHIFT - SHIFT 146
RSHIFT - SHIFT 147
* - REDUCE 151 rel-expr

188
-----
rel-expr -> rel-expr GTEQ shift-expr. (152)
shift-expr -> shift-expr.LSHIFT add-expr
shift-expr -> shift-expr.RSHIFT add-expr

LSHIFT - SHIFT 146
RSHIFT - SHIFT 147
* - REDUCE 152 rel-expr

189
-----
shift-expr -> shift-expr LSHIFT add-expr. (154)
add-expr -> add-expr.PLUS mult-expr
add-expr -> add-expr.MINUS mult-expr

PLUS - SHIFT 148
MINUS - SHIFT 149
* - REDUCE 154 shift-expr

190
-----
shift-expr -> shift-expr RSHIFT add-expr. (155)
add-expr -> add-expr.PLUS mult-expr
add-expr -> add-expr.MINUS mult-expr

PLUS - SHIFT 148
MINUS - SHIFT 149
* - REDUCE 155 shift-expr

191
-----
add-expr -> add-expr PLUS mult-expr. (157)
mult-expr -> mult-expr.TIMES primary-expr
mult-expr -> mult-expr.DIVIDE primary-expr
mult-expr -> mult-expr.MOD primary-expr

TIMES - SHIFT 150
DIVIDE - SHIFT 151
MOD - SHIFT 152
* - REDUCE 157 add-expr

192
-----
add-expr -> add-expr MINUS mult-expr. (158)
mult-expr -> mult-expr.TIMES primary-expr
mult-expr -> mult-expr.DIVIDE primary-expr
mult-expr -> mult-expr.MOD primary-expr

TIMES - SHIFT 150
DIVIDE - SHIFT 151
MOD - SHIFT 152
* - REDUCE 158 add-expr

193
-----
mult-expr -> mult-expr TIMES primary-expr. (160)

* - REDUCE 160 mult-expr

194
-----
mult-expr -> mult-expr DIVIDE primary-expr. (161)

* - REDUCE 161 mult-expr

195
-----
mult-expr -> mult-expr MOD primary-expr. (162)

* - REDUCE 162 mult-expr

196
-----
cond-expr -> log-or-expr QMARK expr.COLON assign-expr

COLON - SHIFT 222

197
-----
log-or-expr -> log-or-expr OR log-and-expr. (136)
log-and-expr -> log-and-expr.AND incl-or-expr

AND - SHIFT 158
* - REDUCE 136 log-or-expr

198
-----
log-and-expr -> log-and-expr AND incl-or-expr. (138)
incl-or-expr -> incl-or-expr.BITOR excl-or-expr

BITOR - SHIFT 159
* - REDUCE 138 log-and-expr

199
-----
incl-or-expr -> incl-or-expr BITOR excl-or-expr. (140)
excl-or-expr -> excl-or-expr.XOR and-expr

XOR - SHIFT 160
* - REDUCE 140 incl-or-expr

200
-----
excl-or-expr -> excl-or-expr XOR and-expr. (142)
and-expr -> and-expr.BITAND eq-expr

BITAND - SHIFT 161
* - REDUCE 142 excl-or-expr

201
-----
and-expr -> and-expr BITAND eq-expr. (144)
eq-expr -> eq-expr.EQ rel-expr
eq-expr -> eq-expr.NOTEQ rel-expr

EQ - SHIFT 162
NOTEQ - SHIFT 163
* - REDUCE 144 and-expr

202
-----
eq-expr -> eq-expr EQ rel-expr. (146)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
GT - SHIFT 143
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 146 eq-expr

203
-----
eq-expr -> eq-expr NOTEQ rel-expr. (147)
rel-expr -> rel-expr.LT shift-expr
rel-expr -> rel-expr.GT shift-expr
rel-expr -> rel-expr.LTEQ shift-expr
rel-expr -> rel-expr.GTEQ shift-expr

LT - SHIFT 142
GT - SHIFT 143
LTEQ - SHIFT 144
GTEQ - SHIFT 145
* - REDUCE 147 eq-expr

204
-----
abstract-direct-dcl -> LPAREN > abstract-dcl RPAREN. (25)

* - REDUCE 25 abstract-direct-dcl

205
-----
cv-spec-seq -> cv-spec-seq cv-spec. (81)

* - REDUCE 81 cv-spec-seq

206
-----
ptr-oper -> name DCOLON TIMES.cv-spec-seq-opt

CONST - SHIFT 20
VOLATILE - SHIFT 21
* - REDUCE 79 cv-spec-seq-opt

cv-spec-seq-opt - GOTO 223
cv-spec - GOTO 169
cv-spec-token - GOTO 50
cv-spec-seq - GOTO 170

207
-----
param-decl -> xBxx-decl-spec-seq.param-dcl
xBxx-decl-spec-seq -> xBxx-decl-spec-seq.bltn-type
xBVx-decl-spec-seq -> xBxx-decl-spec-seq.cv-spec
xBxS-decl-spec-seq -> xBxx-decl-spec-seq.ftor-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 227
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
bltn-type - GOTO 92
bltn-type-token - GOTO 47
cv-spec - GOTO 93
cv-spec-token - GOTO 50
ftor-spec - GOTO 94
ftor-spec-token - GOTO 52

208
-----
param-decl -> xBVx-decl-spec-seq.param-dcl
xBVx-decl-spec-seq -> xBVx-decl-spec-seq.cv-spec
xBVx-decl-spec-seq -> xBVx-decl-spec-seq.bltn-type
xBVS-decl-spec-seq -> xBVx-decl-spec-seq.ftor-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 233
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
bltn-type - GOTO 96
bltn-type-token - GOTO 47
cv-spec - GOTO 97
cv-spec-token - GOTO 50
ftor-spec - GOTO 98
ftor-spec-token - GOTO 52

209
-----
param-decl -> xBxS-decl-spec-seq.param-dcl
xBxS-decl-spec-seq -> xBxS-decl-spec-seq.ftor-spec
xBxS-decl-spec-seq -> xBxS-decl-spec-seq.bltn-type
xBVS-decl-spec-seq -> xBxS-decl-spec-seq.cv-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 234
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
bltn-type - GOTO 100
bltn-type-token - GOTO 47
cv-spec - GOTO 101
cv-spec-token - GOTO 50
ftor-spec - GOTO 102
ftor-spec-token - GOTO 52

210
-----
param-decl -> xBVS-decl-spec-seq.param-dcl
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.ftor-spec
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.cv-spec
xBVS-decl-spec-seq -> xBVS-decl-spec-seq.bltn-type

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 235
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
bltn-type - GOTO 104
bltn-type-token - GOTO 47
cv-spec - GOTO 105
cv-spec-token - GOTO 50
ftor-spec - GOTO 106
ftor-spec-token - GOTO 52

211
-----
param-decl -> xUxx-decl-spec-seq.param-dcl
xUVx-decl-spec-seq -> xUxx-decl-spec-seq.cv-spec
xUxS-decl-spec-seq -> xUxx-decl-spec-seq.ftor-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 236
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
cv-spec - GOTO 108
cv-spec-token - GOTO 50
ftor-spec - GOTO 109
ftor-spec-token - GOTO 52

212
-----
param-decl -> xUVx-decl-spec-seq.param-dcl
xUVx-decl-spec-seq -> xUVx-decl-spec-seq.cv-spec
xUVS-decl-spec-seq -> xUVx-decl-spec-seq.ftor-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 237
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
cv-spec - GOTO 111
cv-spec-token - GOTO 50
ftor-spec - GOTO 112
ftor-spec-token - GOTO 52

213
-----
param-decl -> xUxS-decl-spec-seq.param-dcl
xUxS-decl-spec-seq -> xUxS-decl-spec-seq.ftor-spec
xUVS-decl-spec-seq -> xUxS-decl-spec-seq.cv-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 238
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
cv-spec - GOTO 114
cv-spec-token - GOTO 50
ftor-spec - GOTO 115
ftor-spec-token - GOTO 52

214
-----
param-decl -> xUVS-decl-spec-seq.param-dcl
xUVS-decl-spec-seq -> xUVS-decl-spec-seq.ftor-spec
xUVS-decl-spec-seq -> xUVS-decl-spec-seq.cv-spec

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-dcl - GOTO 239
param-a-dcl - GOTO 228
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232
cv-spec - GOTO 117
cv-spec-token - GOTO 50
ftor-spec - GOTO 118
ftor-spec-token - GOTO 52

215
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LPAREN param-decl-clause.RPAREN cv-spec-seq-opt

RPAREN - SHIFT 240

216
-----
param-decl-clause -> param-decl-list-opt.ellipse-opt

ELLIPSE - SHIFT 241
* - REDUCE 33 ellipse-opt

ellipse-opt - GOTO 242

217
-----
param-decl-clause -> param-decl-list.COMMA ELLIPSE
param-decl-list-opt -> param-decl-list. (34)
param-decl-list -> param-decl-list.COMMA param-decl

COMMA - SHIFT 243
* - REDUCE 34 param-decl-list-opt

218
-----
param-decl-list -> param-decl. (36)

* - REDUCE 36 param-decl-list

219
-----
expr-opt -> expr. (127)

* - REDUCE 127 expr-opt

220
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LBRACK expr-opt.RBRACK

RBRACK - SHIFT 244

221
-----
cond-expr -> log-or-expr QMARK expr COLON.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 245
log-or-expr - GOTO 58
cond-expr - GOTO 59
log-and-expr - GOTO 60
incl-or-expr - GOTO 61
excl-or-expr - GOTO 62
and-expr - GOTO 63
eq-expr - GOTO 64
rel-expr - GOTO 65
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

222
-----
cond-expr -> log-or-expr QMARK expr COLON.assign-expr

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
assign-expr - GOTO 245
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

223
-----
ptr-oper -> name DCOLON TIMES cv-spec-seq-opt. (61)

* - REDUCE 61 ptr-oper

224
-----
param-b-direct-dcl -> LPAREN.param-b-dcl RPAREN
obj-dcl-id -> LPAREN.obj-dcl-id RPAREN

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 246
param-a-direct-dcl - GOTO 247
param-b-dcl - GOTO 248
param-b-direct-dcl - GOTO 249
obj-dcl-id - GOTO 250
obj-id - GOTO 232

225
-----
nested-name -> name.DCOLON >!
obj-id -> name. (58)
ptr-oper -> name.DCOLON TIMES cv-spec-seq-opt

DCOLON - SHIFT 171
* - REDUCE 58 obj-id

226
-----
param-a-dcl -> ptr-oper.param-a-dcl

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-a-dcl - GOTO 251
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232

227
-----
param-decl -> xBxx-decl-spec-seq param-dcl. (38)

* - REDUCE 38 param-decl

228
-----
param-dcl -> param-a-dcl. (46)

* - REDUCE 46 param-dcl

229
-----
param-a-dcl -> param-a-direct-dcl. (48)
param-b-direct-dcl -> param-a-direct-dcl.LPAREN param-decl-clause RPAREN cv-spec-seq-opt
param-b-direct-dcl -> param-a-direct-dcl.LBRACK expr RBRACK

LPAREN - SHIFT 252
LBRACK - SHIFT 253
* - REDUCE 48 param-a-dcl

230
-----
param-a-direct-dcl -> param-b-direct-dcl. (51)

* - REDUCE 51 param-a-direct-dcl

231
-----
param-a-direct-dcl -> obj-dcl-id. (52)

* - REDUCE 52 param-a-direct-dcl

232
-----
obj-dcl-id -> obj-id. (56)

* - REDUCE 56 obj-dcl-id

233
-----
param-decl -> xBVx-decl-spec-seq param-dcl. (39)

* - REDUCE 39 param-decl

234
-----
param-decl -> xBxS-decl-spec-seq param-dcl. (40)

* - REDUCE 40 param-decl

235
-----
param-decl -> xBVS-decl-spec-seq param-dcl. (41)

* - REDUCE 41 param-decl

236
-----
param-decl -> xUxx-decl-spec-seq param-dcl. (42)

* - REDUCE 42 param-decl

237
-----
param-decl -> xUVx-decl-spec-seq param-dcl. (43)

* - REDUCE 43 param-decl

238
-----
param-decl -> xUxS-decl-spec-seq param-dcl. (44)

* - REDUCE 44 param-decl

239
-----
param-decl -> xUVS-decl-spec-seq param-dcl. (45)

* - REDUCE 45 param-decl

240
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LPAREN param-decl-clause RPAREN.cv-spec-seq-opt

CONST - SHIFT 20
VOLATILE - SHIFT 21
* - REDUCE 79 cv-spec-seq-opt

cv-spec-seq-opt - GOTO 254
cv-spec - GOTO 169
cv-spec-token - GOTO 50
cv-spec-seq - GOTO 170

241
-----
ellipse-opt -> ELLIPSE. (32)

* - REDUCE 32 ellipse-opt

242
-----
param-decl-clause -> param-decl-list-opt ellipse-opt. (30)

* - REDUCE 30 param-decl-clause

243
-----
param-decl-clause -> param-decl-list COMMA.ELLIPSE
param-decl-list -> param-decl-list COMMA.param-decl

DCOLON - SHIFT 1
ELLIPSE - SHIFT 255
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 4 nested-name-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
xBxx-decl-spec-seq - GOTO 207
xBVx-decl-spec-seq - GOTO 208
xBxS-decl-spec-seq - GOTO 209
xBVS-decl-spec-seq - GOTO 210
xUxx-decl-spec-seq - GOTO 211
xUVx-decl-spec-seq - GOTO 212
xUxS-decl-spec-seq - GOTO 213
xUVS-decl-spec-seq - GOTO 214
param-decl - GOTO 256
bltn-type - GOTO 46
bltn-type-token - GOTO 47
user-type - GOTO 48
cv-spec - GOTO 49
cv-spec-token - GOTO 50
ftor-spec - GOTO 51
ftor-spec-token - GOTO 52
xxVx-decl-spec-seq - GOTO 53
xxxS-decl-spec-seq - GOTO 54
xxVS-decl-spec-seq - GOTO 55

244
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LBRACK expr-opt RBRACK. (24)

* - REDUCE 24 abstract-direct-dcl

245
-----
cond-expr -> log-or-expr QMARK expr COLON assign-expr. (134)

* - REDUCE 134 cond-expr

246
-----
param-b-dcl -> ptr-oper.param-a-dcl

DCOLON - SHIFT 1
LPAREN - SHIFT 224
TIMES - SHIFT 84
AMPERSAND - SHIFT 85
* - REDUCE 4 nested-name-opt

name - GOTO 225
nested-name-opt - GOTO 3
nested-name - GOTO 4
ptr-oper - GOTO 226
param-a-dcl - GOTO 257
param-a-direct-dcl - GOTO 229
param-b-direct-dcl - GOTO 230
obj-dcl-id - GOTO 231
obj-id - GOTO 232

247
-----
param-b-direct-dcl -> param-a-direct-dcl.LPAREN param-decl-clause RPAREN cv-spec-seq-opt
param-b-direct-dcl -> param-a-direct-dcl.LBRACK expr RBRACK

LPAREN - SHIFT 252
LBRACK - SHIFT 253

248
-----
param-b-direct-dcl -> LPAREN param-b-dcl.RPAREN

RPAREN - SHIFT 258

249
-----
param-b-dcl -> param-b-direct-dcl. (50)
param-a-direct-dcl -> param-b-direct-dcl. (51)

RPAREN - REDUCE 50 param-b-dcl
* - REDUCE 51 param-a-direct-dcl

250
-----
obj-dcl-id -> LPAREN obj-dcl-id.RPAREN
param-a-direct-dcl -> obj-dcl-id. (52)

RPAREN - SHIFT 259
* - REDUCE 52 param-a-direct-dcl

251
-----
param-a-dcl -> ptr-oper param-a-dcl. (47)

* - REDUCE 47 param-a-dcl

252
-----
param-b-direct-dcl -> param-a-direct-dcl LPAREN.param-decl-clause RPAREN cv-spec-seq-opt

IDENT - REDUCE 4 nested-name-opt
DCOLON - SHIFT 1
BOOL - SHIFT 9
CHAR - SHIFT 10
DOUBLE - SHIFT 11
FLOAT - SHIFT 12
INT - SHIFT 13
LONG - SHIFT 14
SHORT - SHIFT 15
SIGNED - SHIFT 16
UNSIGNED - SHIFT 17
VOID - SHIFT 18
WCHAR - SHIFT 19
CONST - SHIFT 20
VOLATILE - SHIFT 21
INLINE - SHIFT 22
VIRTUAL - SHIFT 23
EXPLICIT - SHIFT 24
STATIC - SHIFT 25
EXTERN - SHIFT 26
MUTABLE - SHIFT 27
AUTO - SHIFT 28
REGISTER - SHIFT 29
* - REDUCE 35 param-decl-list-opt

name - GOTO 119
nested-name-opt - GOTO 3
nested-name - GOTO 4
xBxx-decl-spec-seq - GOTO 207
xBVx-decl-spec-seq - GOTO 208
xBxS-decl-spec-seq - GOTO 209
xBVS-decl-spec-seq - GOTO 210
xUxx-decl-spec-seq - GOTO 211
xUVx-decl-spec-seq - GOTO 212
xUxS-decl-spec-seq - GOTO 213
xUVS-decl-spec-seq - GOTO 214
param-decl-clause - GOTO 260
param-decl-list-opt - GOTO 216
param-decl-list - GOTO 217
param-decl - GOTO 218
bltn-type - GOTO 46
bltn-type-token - GOTO 47
user-type - GOTO 48
cv-spec - GOTO 49
cv-spec-token - GOTO 50
ftor-spec - GOTO 51
ftor-spec-token - GOTO 52
xxVx-decl-spec-seq - GOTO 53
xxxS-decl-spec-seq - GOTO 54
xxVS-decl-spec-seq - GOTO 55

253
-----
param-b-direct-dcl -> param-a-direct-dcl LBRACK.expr RBRACK

DCOLON - SHIFT 1
LPAREN - SHIFT 8
NUMBER - SHIFT 30
* - REDUCE 4 nested-name-opt

name - GOTO 70
nested-name-opt - GOTO 32
nested-name - GOTO 4
expr - GOTO 261
comma-expr - GOTO 72
assign-expr - GOTO 57
log-or-expr - GOTO 73
cond-expr - GOTO 59
log-and-expr - GOTO 74
incl-or-expr - GOTO 75
excl-or-expr - GOTO 76
and-expr - GOTO 77
eq-expr - GOTO 78
rel-expr - GOTO 79
shift-expr - GOTO 66
add-expr - GOTO 67
mult-expr - GOTO 68
primary-expr - GOTO 69

254
-----
abstract-direct-dcl -> abstract-direct-dcl-opt LPAREN param-decl-clause RPAREN cv-spec-seq-opt. (23)

* - REDUCE 23 abstract-direct-dcl

255
-----
param-decl-clause -> param-decl-list COMMA ELLIPSE. (31)

* - REDUCE 31 param-decl-clause

256
-----
param-decl-list -> param-decl-list COMMA param-decl. (37)

* - REDUCE 37 param-decl-list

257
-----
param-b-dcl -> ptr-oper param-a-dcl. (49)

* - REDUCE 49 param-b-dcl

258
-----
param-b-direct-dcl -> LPAREN param-b-dcl RPAREN. (55)

* - REDUCE 55 param-b-direct-dcl

259
-----
obj-dcl-id -> LPAREN obj-dcl-id RPAREN. (57)

* - REDUCE 57 obj-dcl-id

260
-----
param-b-direct-dcl -> param-a-direct-dcl LPAREN param-decl-clause.RPAREN cv-spec-seq-opt

RPAREN - SHIFT 262

261
-----
param-b-direct-dcl -> param-a-direct-dcl LBRACK expr.RBRACK

RBRACK - SHIFT 263

262
-----
param-b-direct-dcl -> param-a-direct-dcl LPAREN param-decl-clause RPAREN.cv-spec-seq-opt

CONST - SHIFT 20
VOLATILE - SHIFT 21
* - REDUCE 79 cv-spec-seq-opt

cv-spec-seq-opt - GOTO 264
cv-spec - GOTO 169
cv-spec-token - GOTO 50
cv-spec-seq - GOTO 170

263
-----
param-b-direct-dcl -> param-a-direct-dcl LBRACK expr RBRACK. (54)

* - REDUCE 54 param-b-direct-dcl

264
-----
param-b-direct-dcl -> param-a-direct-dcl LPAREN param-decl-clause RPAREN cv-spec-seq-opt. (53)

* - REDUCE 53 param-b-direct-dcl

[back]