0 $accept : program $end
1 program :
2 | translation_unit
3 translation_unit : external_declaration
4 | translation_unit external_declaration
5 external_declaration : declaration
6 | function_definition
7 | ';'
8 | linkage_specification
9 | T_ASM T_ASMARG ';'
10 | error T_MATCHRBRACE
11 | error ';'
12 braces : T_LBRACE T_MATCHRBRACE
13 linkage_specification : T_EXTERN T_STRING_LITERAL braces
14 | T_EXTERN T_STRING_LITERAL declaration
15 declaration : decl_specifiers ';'
16 | decl_specifiers init_declarator_list ';'
17 $$1 :
18 declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';'
19 any_typedef : T_EXTENSION T_TYPEDEF
20 | T_TYPEDEF
21 opt_declarator_list :
22 | declarator_list
23 declarator_list : declarator
24 | declarator_list ',' declarator
25 $$2 :
26 $$3 :
27 function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE
28 $$4 :
29 function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE
30 opt_declaration_list :
31 | T_VA_DCL
32 | declaration_list
33 declaration_list : declaration
34 | declaration_list declaration
35 decl_specifiers : decl_specifier
36 | decl_specifiers decl_specifier
37 decl_specifier : storage_class
38 | type_specifier
39 | type_qualifier
40 storage_class : T_AUTO
41 | T_EXTERN
42 | T_REGISTER
43 | T_STATIC
44 | T_INLINE
45 | T_EXTENSION
46 type_specifier : T_CHAR
47 | T_DOUBLE
48 | T_FLOAT
49 | T_INT
50 | T_LONG
51 | T_SHORT
52 | T_SIGNED
53 | T_UNSIGNED
54 | T_VOID
55 | T_Bool
56 | T_Complex
57 | T_Imaginary
58 | T_TYPEDEF_NAME
59 | struct_or_union_specifier
60 | enum_specifier
61 type_qualifier : T_TYPE_QUALIFIER
62 | T_DEFINE_NAME
63 struct_or_union_specifier : struct_or_union any_id braces
64 | struct_or_union braces
65 | struct_or_union any_id
66 struct_or_union : T_STRUCT
67 | T_UNION
68 init_declarator_list : init_declarator
69 | init_declarator_list ',' init_declarator
70 init_declarator : declarator
71 $$5 :
72 init_declarator : declarator '=' $$5 T_INITIALIZER
73 enum_specifier : enumeration any_id braces
74 | enumeration braces
75 | enumeration any_id
76 enumeration : T_ENUM
77 any_id : T_IDENTIFIER
78 | T_TYPEDEF_NAME
79 declarator : pointer direct_declarator
80 | direct_declarator
81 direct_declarator : identifier_or_ref
82 | '(' declarator ')'
83 | direct_declarator T_BRACKETS
84 | direct_declarator '(' parameter_type_list ')'
85 | direct_declarator '(' opt_identifier_list ')'
86 pointer : '*' opt_type_qualifiers
87 | '*' opt_type_qualifiers pointer
88 opt_type_qualifiers :
89 | type_qualifier_list
90 type_qualifier_list : type_qualifier
91 | type_qualifier_list type_qualifier
92 parameter_type_list : parameter_list
93 | parameter_list ',' T_ELLIPSIS
94 parameter_list : parameter_declaration
95 | parameter_list ',' parameter_declaration
96 parameter_declaration : decl_specifiers declarator
97 | decl_specifiers abs_declarator
98 | decl_specifiers
99 opt_identifier_list :
100 | identifier_list
101 identifier_list : any_id
102 | identifier_list ',' any_id
103 identifier_or_ref : any_id
104 | '&' any_id
105 abs_declarator : pointer
106 | pointer direct_abs_declarator
107 | direct_abs_declarator
108 direct_abs_declarator : '(' abs_declarator ')'
109 | direct_abs_declarator T_BRACKETS
110 | T_BRACKETS
111 | direct_abs_declarator '(' parameter_type_list ')'
112 | direct_abs_declarator '(' ')'
113 | '(' parameter_type_list ')'
114 | '(' ')'
state 0
$accept : . program $end (0)
program : . (1)
error shift 1
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 9
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_ASM shift 31
';' shift 32
$end reduce 1
program goto 33
decl_specifiers goto 34
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
declarator goto 41
direct_declarator goto 42
struct_or_union goto 43
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
translation_unit goto 48
external_declaration goto 49
declaration goto 50
function_definition goto 51
linkage_specification goto 52
any_typedef goto 53
state 1
external_declaration : error . T_MATCHRBRACE (10)
external_declaration : error . ';' (11)
T_MATCHRBRACE shift 54
';' shift 55
. error
state 2
direct_declarator : '(' . declarator ')' (82)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
declarator goto 57
direct_declarator goto 42
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
state 3
pointer : '*' . opt_type_qualifiers (86)
pointer : '*' . opt_type_qualifiers pointer (87)
opt_type_qualifiers : . (88)
T_DEFINE_NAME shift 7
T_TYPE_QUALIFIER shift 30
'(' reduce 88
'*' reduce 88
'&' reduce 88
T_IDENTIFIER reduce 88
T_TYPEDEF_NAME reduce 88
T_BRACKETS reduce 88
',' reduce 88
')' reduce 88
type_qualifier goto 58
opt_type_qualifiers goto 59
type_qualifier_list goto 60
state 4
identifier_or_ref : '&' . any_id (104)
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
any_id goto 61
state 5
any_id : T_IDENTIFIER . (77)
. reduce 77
6: reduce/reduce conflict (reduce 58, reduce 78) on '('
6: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPEDEF_NAME
6: reduce/reduce conflict (reduce 58, reduce 78) on T_DEFINE_NAME
6: reduce/reduce conflict (reduce 58, reduce 78) on T_AUTO
6: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTERN
6: reduce/reduce conflict (reduce 58, reduce 78) on T_REGISTER
6: reduce/reduce conflict (reduce 58, reduce 78) on T_STATIC
6: reduce/reduce conflict (reduce 58, reduce 78) on T_INLINE
6: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTENSION
6: reduce/reduce conflict (reduce 58, reduce 78) on T_CHAR
6: reduce/reduce conflict (reduce 58, reduce 78) on T_DOUBLE
6: reduce/reduce conflict (reduce 58, reduce 78) on T_FLOAT
6: reduce/reduce conflict (reduce 58, reduce 78) on T_INT
6: reduce/reduce conflict (reduce 58, reduce 78) on T_VOID
6: reduce/reduce conflict (reduce 58, reduce 78) on T_LONG
6: reduce/reduce conflict (reduce 58, reduce 78) on T_SHORT
6: reduce/reduce conflict (reduce 58, reduce 78) on T_SIGNED
6: reduce/reduce conflict (reduce 58, reduce 78) on T_UNSIGNED
6: reduce/reduce conflict (reduce 58, reduce 78) on T_ENUM
6: reduce/reduce conflict (reduce 58, reduce 78) on T_STRUCT
6: reduce/reduce conflict (reduce 58, reduce 78) on T_UNION
6: reduce/reduce conflict (reduce 58, reduce 78) on T_Bool
6: reduce/reduce conflict (reduce 58, reduce 78) on T_Complex
6: reduce/reduce conflict (reduce 58, reduce 78) on T_Imaginary
6: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPE_QUALIFIER
6: reduce/reduce conflict (reduce 58, reduce 78) on T_BRACKETS
6: reduce/reduce conflict (reduce 58, reduce 78) on ';'
6: reduce/reduce conflict (reduce 58, reduce 78) on ','
6: reduce/reduce conflict (reduce 58, reduce 78) on ')'
state 6
type_specifier : T_TYPEDEF_NAME . (58)
any_id : T_TYPEDEF_NAME . (78)
'(' reduce 58
'*' reduce 58
'&' reduce 58
T_IDENTIFIER reduce 58
T_TYPEDEF_NAME reduce 58
T_DEFINE_NAME reduce 58
T_AUTO reduce 58
T_EXTERN reduce 58
T_REGISTER reduce 58
T_STATIC reduce 58
T_TYPEDEF reduce 78
T_INLINE reduce 58
T_EXTENSION reduce 58
T_CHAR reduce 58
T_DOUBLE reduce 58
T_FLOAT reduce 58
T_INT reduce 58
T_VOID reduce 58
T_LONG reduce 58
T_SHORT reduce 58
T_SIGNED reduce 58
T_UNSIGNED reduce 58
T_ENUM reduce 58
T_STRUCT reduce 58
T_UNION reduce 58
T_Bool reduce 58
T_Complex reduce 58
T_Imaginary reduce 58
T_TYPE_QUALIFIER reduce 58
T_BRACKETS reduce 58
T_LBRACE reduce 78
T_VA_DCL reduce 78
';' reduce 58
',' reduce 58
'=' reduce 78
')' reduce 58
state 7
type_qualifier : T_DEFINE_NAME . (62)
. reduce 62
state 8
storage_class : T_AUTO . (40)
. reduce 40
state 9
linkage_specification : T_EXTERN . T_STRING_LITERAL braces (13)
linkage_specification : T_EXTERN . T_STRING_LITERAL declaration (14)
storage_class : T_EXTERN . (41)
T_STRING_LITERAL shift 62
'(' reduce 41
'*' reduce 41
'&' reduce 41
T_IDENTIFIER reduce 41
T_TYPEDEF_NAME reduce 41
T_DEFINE_NAME reduce 41
T_AUTO reduce 41
T_EXTERN reduce 41
T_REGISTER reduce 41
T_STATIC reduce 41
T_INLINE reduce 41
T_EXTENSION reduce 41
T_CHAR reduce 41
T_DOUBLE reduce 41
T_FLOAT reduce 41
T_INT reduce 41
T_VOID reduce 41
T_LONG reduce 41
T_SHORT reduce 41
T_SIGNED reduce 41
T_UNSIGNED reduce 41
T_ENUM reduce 41
T_STRUCT reduce 41
T_UNION reduce 41
T_Bool reduce 41
T_Complex reduce 41
T_Imaginary reduce 41
T_TYPE_QUALIFIER reduce 41
';' reduce 41
state 10
storage_class : T_REGISTER . (42)
. reduce 42
state 11
storage_class : T_STATIC . (43)
. reduce 43
state 12
any_typedef : T_TYPEDEF . (20)
. reduce 20
state 13
storage_class : T_INLINE . (44)
. reduce 44
state 14
any_typedef : T_EXTENSION . T_TYPEDEF (19)
storage_class : T_EXTENSION . (45)
T_TYPEDEF shift 63
'(' reduce 45
'*' reduce 45
'&' reduce 45
T_IDENTIFIER reduce 45
T_TYPEDEF_NAME reduce 45
T_DEFINE_NAME reduce 45
T_AUTO reduce 45
T_EXTERN reduce 45
T_REGISTER reduce 45
T_STATIC reduce 45
T_INLINE reduce 45
T_EXTENSION reduce 45
T_CHAR reduce 45
T_DOUBLE reduce 45
T_FLOAT reduce 45
T_INT reduce 45
T_VOID reduce 45
T_LONG reduce 45
T_SHORT reduce 45
T_SIGNED reduce 45
T_UNSIGNED reduce 45
T_ENUM reduce 45
T_STRUCT reduce 45
T_UNION reduce 45
T_Bool reduce 45
T_Complex reduce 45
T_Imaginary reduce 45
T_TYPE_QUALIFIER reduce 45
';' reduce 45
state 15
type_specifier : T_CHAR . (46)
. reduce 46
state 16
type_specifier : T_DOUBLE . (47)
. reduce 47
state 17
type_specifier : T_FLOAT . (48)
. reduce 48
state 18
type_specifier : T_INT . (49)
. reduce 49
state 19
type_specifier : T_VOID . (54)
. reduce 54
state 20
type_specifier : T_LONG . (50)
. reduce 50
state 21
type_specifier : T_SHORT . (51)
. reduce 51
state 22
type_specifier : T_SIGNED . (52)
. reduce 52
state 23
type_specifier : T_UNSIGNED . (53)
. reduce 53
state 24
enumeration : T_ENUM . (76)
. reduce 76
state 25
struct_or_union : T_STRUCT . (66)
. reduce 66
state 26
struct_or_union : T_UNION . (67)
. reduce 67
state 27
type_specifier : T_Bool . (55)
. reduce 55
state 28
type_specifier : T_Complex . (56)
. reduce 56
state 29
type_specifier : T_Imaginary . (57)
. reduce 57
state 30
type_qualifier : T_TYPE_QUALIFIER . (61)
. reduce 61
state 31
external_declaration : T_ASM . T_ASMARG ';' (9)
T_ASMARG shift 64
. error
state 32
external_declaration : ';' . (7)
. reduce 7
state 33
$accept : program . $end (0)
$end accept
state 34
declaration : decl_specifiers . ';' (15)
declaration : decl_specifiers . init_declarator_list ';' (16)
function_definition : decl_specifiers . declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE (27)
decl_specifiers : decl_specifiers . decl_specifier (36)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
';' shift 67
. error
decl_specifier goto 68
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
init_declarator_list goto 69
init_declarator goto 70
declarator goto 71
direct_declarator goto 42
struct_or_union goto 43
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
state 35
decl_specifiers : decl_specifier . (35)
. reduce 35
state 36
decl_specifier : storage_class . (37)
. reduce 37
state 37
decl_specifier : type_specifier . (38)
. reduce 38
state 38
decl_specifier : type_qualifier . (39)
. reduce 39
state 39
type_specifier : struct_or_union_specifier . (59)
. reduce 59
state 40
type_specifier : enum_specifier . (60)
. reduce 60
state 41
function_definition : declarator . $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE (29)
$$4 : . (28)
. reduce 28
$$4 goto 72
state 42
declarator : direct_declarator . (80)
direct_declarator : direct_declarator . T_BRACKETS (83)
direct_declarator : direct_declarator . '(' parameter_type_list ')' (84)
direct_declarator : direct_declarator . '(' opt_identifier_list ')' (85)
'(' shift 73
T_BRACKETS shift 74
T_TYPEDEF_NAME reduce 80
T_DEFINE_NAME reduce 80
T_AUTO reduce 80
T_EXTERN reduce 80
T_REGISTER reduce 80
T_STATIC reduce 80
T_TYPEDEF reduce 80
T_INLINE reduce 80
T_EXTENSION reduce 80
T_CHAR reduce 80
T_DOUBLE reduce 80
T_FLOAT reduce 80
T_INT reduce 80
T_VOID reduce 80
T_LONG reduce 80
T_SHORT reduce 80
T_SIGNED reduce 80
T_UNSIGNED reduce 80
T_ENUM reduce 80
T_STRUCT reduce 80
T_UNION reduce 80
T_Bool reduce 80
T_Complex reduce 80
T_Imaginary reduce 80
T_TYPE_QUALIFIER reduce 80
T_LBRACE reduce 80
T_VA_DCL reduce 80
';' reduce 80
',' reduce 80
'=' reduce 80
')' reduce 80
state 43
struct_or_union_specifier : struct_or_union . any_id braces (63)
struct_or_union_specifier : struct_or_union . braces (64)
struct_or_union_specifier : struct_or_union . any_id (65)
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
T_LBRACE shift 75
. error
any_id goto 76
braces goto 77
state 44
declarator : pointer . direct_declarator (79)
'(' shift 2
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
direct_declarator goto 78
any_id goto 45
identifier_or_ref goto 46
state 45
identifier_or_ref : any_id . (103)
. reduce 103
state 46
direct_declarator : identifier_or_ref . (81)
. reduce 81
state 47
enum_specifier : enumeration . any_id braces (73)
enum_specifier : enumeration . braces (74)
enum_specifier : enumeration . any_id (75)
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
T_LBRACE shift 75
. error
any_id goto 79
braces goto 80
state 48
program : translation_unit . (2)
translation_unit : translation_unit . external_declaration (4)
error shift 1
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 9
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_ASM shift 31
';' shift 32
$end reduce 2
decl_specifiers goto 34
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
declarator goto 41
direct_declarator goto 42
struct_or_union goto 43
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
external_declaration goto 81
declaration goto 50
function_definition goto 51
linkage_specification goto 52
any_typedef goto 53
state 49
translation_unit : external_declaration . (3)
. reduce 3
state 50
external_declaration : declaration . (5)
. reduce 5
state 51
external_declaration : function_definition . (6)
. reduce 6
state 52
external_declaration : linkage_specification . (8)
. reduce 8
state 53
declaration : any_typedef . decl_specifiers $$1 opt_declarator_list ';' (18)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
. error
decl_specifiers goto 83
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
state 54
external_declaration : error T_MATCHRBRACE . (10)
. reduce 10
state 55
external_declaration : error ';' . (11)
. reduce 11
state 56
any_id : T_TYPEDEF_NAME . (78)
. reduce 78
state 57
direct_declarator : '(' declarator . ')' (82)
')' shift 84
. error
state 58
type_qualifier_list : type_qualifier . (90)
. reduce 90
state 59
pointer : '*' opt_type_qualifiers . (86)
pointer : '*' opt_type_qualifiers . pointer (87)
'*' shift 3
'(' reduce 86
'&' reduce 86
T_IDENTIFIER reduce 86
T_TYPEDEF_NAME reduce 86
T_BRACKETS reduce 86
',' reduce 86
')' reduce 86
pointer goto 85
state 60
opt_type_qualifiers : type_qualifier_list . (89)
type_qualifier_list : type_qualifier_list . type_qualifier (91)
T_DEFINE_NAME shift 7
T_TYPE_QUALIFIER shift 30
'(' reduce 89
'*' reduce 89
'&' reduce 89
T_IDENTIFIER reduce 89
T_TYPEDEF_NAME reduce 89
T_BRACKETS reduce 89
',' reduce 89
')' reduce 89
type_qualifier goto 86
state 61
identifier_or_ref : '&' any_id . (104)
. reduce 104
state 62
linkage_specification : T_EXTERN T_STRING_LITERAL . braces (13)
linkage_specification : T_EXTERN T_STRING_LITERAL . declaration (14)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_LBRACE shift 75
. error
decl_specifiers goto 87
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
declaration goto 88
braces goto 89
any_typedef goto 53
state 63
any_typedef : T_EXTENSION T_TYPEDEF . (19)
. reduce 19
state 64
external_declaration : T_ASM T_ASMARG . ';' (9)
';' shift 90
. error
state 65
storage_class : T_EXTERN . (41)
. reduce 41
state 66
storage_class : T_EXTENSION . (45)
. reduce 45
state 67
declaration : decl_specifiers ';' . (15)
. reduce 15
state 68
decl_specifiers : decl_specifiers decl_specifier . (36)
. reduce 36
state 69
declaration : decl_specifiers init_declarator_list . ';' (16)
init_declarator_list : init_declarator_list . ',' init_declarator (69)
';' shift 91
',' shift 92
. error
state 70
init_declarator_list : init_declarator . (68)
. reduce 68
state 71
function_definition : decl_specifiers declarator . $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE (27)
init_declarator : declarator . (70)
init_declarator : declarator . '=' $$5 T_INITIALIZER (72)
$$2 : . (25)
'=' shift 93
T_TYPEDEF_NAME reduce 25
T_DEFINE_NAME reduce 25
T_AUTO reduce 25
T_EXTERN reduce 25
T_REGISTER reduce 25
T_STATIC reduce 25
T_TYPEDEF reduce 25
T_INLINE reduce 25
T_EXTENSION reduce 25
T_CHAR reduce 25
T_DOUBLE reduce 25
T_FLOAT reduce 25
T_INT reduce 25
T_VOID reduce 25
T_LONG reduce 25
T_SHORT reduce 25
T_SIGNED reduce 25
T_UNSIGNED reduce 25
T_ENUM reduce 25
T_STRUCT reduce 25
T_UNION reduce 25
T_Bool reduce 25
T_Complex reduce 25
T_Imaginary reduce 25
T_TYPE_QUALIFIER reduce 25
T_LBRACE reduce 25
T_VA_DCL reduce 25
';' reduce 70
',' reduce 70
$$2 goto 94
state 72
function_definition : declarator $$4 . opt_declaration_list T_LBRACE T_MATCHRBRACE (29)
opt_declaration_list : . (30)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_VA_DCL shift 95
T_LBRACE reduce 30
decl_specifiers goto 87
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
declaration goto 96
any_typedef goto 53
opt_declaration_list goto 97
declaration_list goto 98
state 73
direct_declarator : direct_declarator '(' . parameter_type_list ')' (84)
direct_declarator : direct_declarator '(' . opt_identifier_list ')' (85)
opt_identifier_list : . (99)
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
')' reduce 99
decl_specifiers goto 99
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
parameter_type_list goto 100
parameter_list goto 101
parameter_declaration goto 102
opt_identifier_list goto 103
identifier_list goto 104
struct_or_union goto 43
any_id goto 105
enumeration goto 47
state 74
direct_declarator : direct_declarator T_BRACKETS . (83)
. reduce 83
state 75
braces : T_LBRACE . T_MATCHRBRACE (12)
T_MATCHRBRACE shift 106
. error
state 76
struct_or_union_specifier : struct_or_union any_id . braces (63)
struct_or_union_specifier : struct_or_union any_id . (65)
T_LBRACE shift 75
'(' reduce 65
'*' reduce 65
'&' reduce 65
T_IDENTIFIER reduce 65
T_TYPEDEF_NAME reduce 65
T_DEFINE_NAME reduce 65
T_AUTO reduce 65
T_EXTERN reduce 65
T_REGISTER reduce 65
T_STATIC reduce 65
T_INLINE reduce 65
T_EXTENSION reduce 65
T_CHAR reduce 65
T_DOUBLE reduce 65
T_FLOAT reduce 65
T_INT reduce 65
T_VOID reduce 65
T_LONG reduce 65
T_SHORT reduce 65
T_SIGNED reduce 65
T_UNSIGNED reduce 65
T_ENUM reduce 65
T_STRUCT reduce 65
T_UNION reduce 65
T_Bool reduce 65
T_Complex reduce 65
T_Imaginary reduce 65
T_TYPE_QUALIFIER reduce 65
T_BRACKETS reduce 65
';' reduce 65
',' reduce 65
')' reduce 65
braces goto 107
state 77
struct_or_union_specifier : struct_or_union braces . (64)
. reduce 64
state 78
declarator : pointer direct_declarator . (79)
direct_declarator : direct_declarator . T_BRACKETS (83)
direct_declarator : direct_declarator . '(' parameter_type_list ')' (84)
direct_declarator : direct_declarator . '(' opt_identifier_list ')' (85)
'(' shift 73
T_BRACKETS shift 74
T_TYPEDEF_NAME reduce 79
T_DEFINE_NAME reduce 79
T_AUTO reduce 79
T_EXTERN reduce 79
T_REGISTER reduce 79
T_STATIC reduce 79
T_TYPEDEF reduce 79
T_INLINE reduce 79
T_EXTENSION reduce 79
T_CHAR reduce 79
T_DOUBLE reduce 79
T_FLOAT reduce 79
T_INT reduce 79
T_VOID reduce 79
T_LONG reduce 79
T_SHORT reduce 79
T_SIGNED reduce 79
T_UNSIGNED reduce 79
T_ENUM reduce 79
T_STRUCT reduce 79
T_UNION reduce 79
T_Bool reduce 79
T_Complex reduce 79
T_Imaginary reduce 79
T_TYPE_QUALIFIER reduce 79
T_LBRACE reduce 79
T_VA_DCL reduce 79
';' reduce 79
',' reduce 79
'=' reduce 79
')' reduce 79
state 79
enum_specifier : enumeration any_id . braces (73)
enum_specifier : enumeration any_id . (75)
T_LBRACE shift 75
'(' reduce 75
'*' reduce 75
'&' reduce 75
T_IDENTIFIER reduce 75
T_TYPEDEF_NAME reduce 75
T_DEFINE_NAME reduce 75
T_AUTO reduce 75
T_EXTERN reduce 75
T_REGISTER reduce 75
T_STATIC reduce 75
T_INLINE reduce 75
T_EXTENSION reduce 75
T_CHAR reduce 75
T_DOUBLE reduce 75
T_FLOAT reduce 75
T_INT reduce 75
T_VOID reduce 75
T_LONG reduce 75
T_SHORT reduce 75
T_SIGNED reduce 75
T_UNSIGNED reduce 75
T_ENUM reduce 75
T_STRUCT reduce 75
T_UNION reduce 75
T_Bool reduce 75
T_Complex reduce 75
T_Imaginary reduce 75
T_TYPE_QUALIFIER reduce 75
T_BRACKETS reduce 75
';' reduce 75
',' reduce 75
')' reduce 75
braces goto 108
state 80
enum_specifier : enumeration braces . (74)
. reduce 74
state 81
translation_unit : translation_unit external_declaration . (4)
. reduce 4
state 82
type_specifier : T_TYPEDEF_NAME . (58)
. reduce 58
83: shift/reduce conflict (shift 82, reduce 17) on T_TYPEDEF_NAME
state 83
declaration : any_typedef decl_specifiers . $$1 opt_declarator_list ';' (18)
decl_specifiers : decl_specifiers . decl_specifier (36)
$$1 : . (17)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
'(' reduce 17
'*' reduce 17
'&' reduce 17
T_IDENTIFIER reduce 17
';' reduce 17
decl_specifier goto 68
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
$$1 goto 109
state 84
direct_declarator : '(' declarator ')' . (82)
. reduce 82
state 85
pointer : '*' opt_type_qualifiers pointer . (87)
. reduce 87
state 86
type_qualifier_list : type_qualifier_list type_qualifier . (91)
. reduce 91
state 87
declaration : decl_specifiers . ';' (15)
declaration : decl_specifiers . init_declarator_list ';' (16)
decl_specifiers : decl_specifiers . decl_specifier (36)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
';' shift 67
. error
decl_specifier goto 68
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
init_declarator_list goto 69
init_declarator goto 70
declarator goto 110
direct_declarator goto 42
struct_or_union goto 43
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
state 88
linkage_specification : T_EXTERN T_STRING_LITERAL declaration . (14)
. reduce 14
state 89
linkage_specification : T_EXTERN T_STRING_LITERAL braces . (13)
. reduce 13
state 90
external_declaration : T_ASM T_ASMARG ';' . (9)
. reduce 9
state 91
declaration : decl_specifiers init_declarator_list ';' . (16)
. reduce 16
state 92
init_declarator_list : init_declarator_list ',' . init_declarator (69)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
init_declarator goto 111
declarator goto 110
direct_declarator goto 42
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
state 93
init_declarator : declarator '=' . $$5 T_INITIALIZER (72)
$$5 : . (71)
. reduce 71
$$5 goto 112
state 94
function_definition : decl_specifiers declarator $$2 . opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE (27)
opt_declaration_list : . (30)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_VA_DCL shift 95
T_LBRACE reduce 30
decl_specifiers goto 87
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
declaration goto 96
any_typedef goto 53
opt_declaration_list goto 113
declaration_list goto 98
state 95
opt_declaration_list : T_VA_DCL . (31)
. reduce 31
state 96
declaration_list : declaration . (33)
. reduce 33
state 97
function_definition : declarator $$4 opt_declaration_list . T_LBRACE T_MATCHRBRACE (29)
T_LBRACE shift 114
. error
state 98
opt_declaration_list : declaration_list . (32)
declaration_list : declaration_list . declaration (34)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_TYPEDEF shift 12
T_INLINE shift 13
T_EXTENSION shift 14
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_LBRACE reduce 32
decl_specifiers goto 87
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
struct_or_union goto 43
enumeration goto 47
declaration goto 115
any_typedef goto 53
state 99
decl_specifiers : decl_specifiers . decl_specifier (36)
parameter_declaration : decl_specifiers . declarator (96)
parameter_declaration : decl_specifiers . abs_declarator (97)
parameter_declaration : decl_specifiers . (98)
'(' shift 116
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_BRACKETS shift 117
',' reduce 98
')' reduce 98
decl_specifier goto 68
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
declarator goto 118
direct_declarator goto 42
abs_declarator goto 119
direct_abs_declarator goto 120
struct_or_union goto 43
pointer goto 121
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
state 100
direct_declarator : direct_declarator '(' parameter_type_list . ')' (84)
')' shift 122
. error
state 101
parameter_type_list : parameter_list . (92)
parameter_type_list : parameter_list . ',' T_ELLIPSIS (93)
parameter_list : parameter_list . ',' parameter_declaration (95)
',' shift 123
')' reduce 92
state 102
parameter_list : parameter_declaration . (94)
. reduce 94
state 103
direct_declarator : direct_declarator '(' opt_identifier_list . ')' (85)
')' shift 124
. error
state 104
opt_identifier_list : identifier_list . (100)
identifier_list : identifier_list . ',' any_id (102)
',' shift 125
')' reduce 100
state 105
identifier_list : any_id . (101)
. reduce 101
state 106
braces : T_LBRACE T_MATCHRBRACE . (12)
. reduce 12
state 107
struct_or_union_specifier : struct_or_union any_id braces . (63)
. reduce 63
state 108
enum_specifier : enumeration any_id braces . (73)
. reduce 73
state 109
declaration : any_typedef decl_specifiers $$1 . opt_declarator_list ';' (18)
opt_declarator_list : . (21)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
';' reduce 21
declarator goto 126
direct_declarator goto 42
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
opt_declarator_list goto 127
declarator_list goto 128
state 110
init_declarator : declarator . (70)
init_declarator : declarator . '=' $$5 T_INITIALIZER (72)
'=' shift 93
';' reduce 70
',' reduce 70
state 111
init_declarator_list : init_declarator_list ',' init_declarator . (69)
. reduce 69
state 112
init_declarator : declarator '=' $$5 . T_INITIALIZER (72)
T_INITIALIZER shift 129
. error
state 113
function_definition : decl_specifiers declarator $$2 opt_declaration_list . T_LBRACE $$3 T_MATCHRBRACE (27)
T_LBRACE shift 130
. error
state 114
function_definition : declarator $$4 opt_declaration_list T_LBRACE . T_MATCHRBRACE (29)
T_MATCHRBRACE shift 131
. error
state 115
declaration_list : declaration_list declaration . (34)
. reduce 34
state 116
direct_declarator : '(' . declarator ')' (82)
direct_abs_declarator : '(' . abs_declarator ')' (108)
direct_abs_declarator : '(' . parameter_type_list ')' (113)
direct_abs_declarator : '(' . ')' (114)
'(' shift 116
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 6
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_BRACKETS shift 117
')' shift 132
. error
decl_specifiers goto 99
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
declarator goto 57
direct_declarator goto 42
abs_declarator goto 133
direct_abs_declarator goto 120
parameter_type_list goto 134
parameter_list goto 101
parameter_declaration goto 102
struct_or_union goto 43
pointer goto 121
any_id goto 45
identifier_or_ref goto 46
enumeration goto 47
state 117
direct_abs_declarator : T_BRACKETS . (110)
. reduce 110
state 118
parameter_declaration : decl_specifiers declarator . (96)
. reduce 96
state 119
parameter_declaration : decl_specifiers abs_declarator . (97)
. reduce 97
state 120
abs_declarator : direct_abs_declarator . (107)
direct_abs_declarator : direct_abs_declarator . T_BRACKETS (109)
direct_abs_declarator : direct_abs_declarator . '(' parameter_type_list ')' (111)
direct_abs_declarator : direct_abs_declarator . '(' ')' (112)
'(' shift 135
T_BRACKETS shift 136
',' reduce 107
')' reduce 107
state 121
declarator : pointer . direct_declarator (79)
abs_declarator : pointer . (105)
abs_declarator : pointer . direct_abs_declarator (106)
'(' shift 116
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
T_BRACKETS shift 117
',' reduce 105
')' reduce 105
direct_declarator goto 78
direct_abs_declarator goto 137
any_id goto 45
identifier_or_ref goto 46
state 122
direct_declarator : direct_declarator '(' parameter_type_list ')' . (84)
. reduce 84
state 123
parameter_type_list : parameter_list ',' . T_ELLIPSIS (93)
parameter_list : parameter_list ',' . parameter_declaration (95)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
T_ELLIPSIS shift 138
. error
decl_specifiers goto 99
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
parameter_declaration goto 139
struct_or_union goto 43
enumeration goto 47
state 124
direct_declarator : direct_declarator '(' opt_identifier_list ')' . (85)
. reduce 85
state 125
identifier_list : identifier_list ',' . any_id (102)
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
any_id goto 140
state 126
declarator_list : declarator . (23)
. reduce 23
state 127
declaration : any_typedef decl_specifiers $$1 opt_declarator_list . ';' (18)
';' shift 141
. error
state 128
opt_declarator_list : declarator_list . (22)
declarator_list : declarator_list . ',' declarator (24)
',' shift 142
';' reduce 22
state 129
init_declarator : declarator '=' $$5 T_INITIALIZER . (72)
. reduce 72
state 130
function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE . $$3 T_MATCHRBRACE (27)
$$3 : . (26)
. reduce 26
$$3 goto 143
state 131
function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE . (29)
. reduce 29
state 132
direct_abs_declarator : '(' ')' . (114)
. reduce 114
state 133
direct_abs_declarator : '(' abs_declarator . ')' (108)
')' shift 144
. error
state 134
direct_abs_declarator : '(' parameter_type_list . ')' (113)
')' shift 145
. error
state 135
direct_abs_declarator : direct_abs_declarator '(' . parameter_type_list ')' (111)
direct_abs_declarator : direct_abs_declarator '(' . ')' (112)
T_TYPEDEF_NAME shift 82
T_DEFINE_NAME shift 7
T_AUTO shift 8
T_EXTERN shift 65
T_REGISTER shift 10
T_STATIC shift 11
T_INLINE shift 13
T_EXTENSION shift 66
T_CHAR shift 15
T_DOUBLE shift 16
T_FLOAT shift 17
T_INT shift 18
T_VOID shift 19
T_LONG shift 20
T_SHORT shift 21
T_SIGNED shift 22
T_UNSIGNED shift 23
T_ENUM shift 24
T_STRUCT shift 25
T_UNION shift 26
T_Bool shift 27
T_Complex shift 28
T_Imaginary shift 29
T_TYPE_QUALIFIER shift 30
')' shift 146
. error
decl_specifiers goto 99
decl_specifier goto 35
storage_class goto 36
type_specifier goto 37
type_qualifier goto 38
struct_or_union_specifier goto 39
enum_specifier goto 40
parameter_type_list goto 147
parameter_list goto 101
parameter_declaration goto 102
struct_or_union goto 43
enumeration goto 47
state 136
direct_abs_declarator : direct_abs_declarator T_BRACKETS . (109)
. reduce 109
state 137
abs_declarator : pointer direct_abs_declarator . (106)
direct_abs_declarator : direct_abs_declarator . T_BRACKETS (109)
direct_abs_declarator : direct_abs_declarator . '(' parameter_type_list ')' (111)
direct_abs_declarator : direct_abs_declarator . '(' ')' (112)
'(' shift 135
T_BRACKETS shift 136
',' reduce 106
')' reduce 106
state 138
parameter_type_list : parameter_list ',' T_ELLIPSIS . (93)
. reduce 93
state 139
parameter_list : parameter_list ',' parameter_declaration . (95)
. reduce 95
state 140
identifier_list : identifier_list ',' any_id . (102)
. reduce 102
state 141
declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';' . (18)
. reduce 18
state 142
declarator_list : declarator_list ',' . declarator (24)
'(' shift 2
'*' shift 3
'&' shift 4
T_IDENTIFIER shift 5
T_TYPEDEF_NAME shift 56
. error
declarator goto 148
direct_declarator goto 42
pointer goto 44
any_id goto 45
identifier_or_ref goto 46
state 143
function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 . T_MATCHRBRACE (27)
T_MATCHRBRACE shift 149
. error
state 144
direct_abs_declarator : '(' abs_declarator ')' . (108)
. reduce 108
state 145
direct_abs_declarator : '(' parameter_type_list ')' . (113)
. reduce 113
state 146
direct_abs_declarator : direct_abs_declarator '(' ')' . (112)
. reduce 112
state 147
direct_abs_declarator : direct_abs_declarator '(' parameter_type_list . ')' (111)
')' shift 150
. error
state 148
declarator_list : declarator_list ',' declarator . (24)
. reduce 24
state 149
function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE . (27)
. reduce 27
state 150
direct_abs_declarator : direct_abs_declarator '(' parameter_type_list ')' . (111)
. reduce 111
State 6 contains 29 reduce/reduce conflicts.
State 83 contains 1 shift/reduce conflict.
44 terminals, 43 nonterminals
115 grammar rules, 151 states
grammar parser grammar
symbol# value# symbol
0 0 $end
1 256 error
2 40 '('
3 42 '*'
4 38 '&'
5 257 T_IDENTIFIER
6 258 T_TYPEDEF_NAME
7 259 T_DEFINE_NAME
8 260 T_AUTO
9 261 T_EXTERN
10 262 T_REGISTER
11 263 T_STATIC
12 264 T_TYPEDEF
13 265 T_INLINE
14 266 T_EXTENSION
15 267 T_CHAR
16 268 T_DOUBLE
17 269 T_FLOAT
18 270 T_INT
19 271 T_VOID
20 272 T_LONG
21 273 T_SHORT
22 274 T_SIGNED
23 275 T_UNSIGNED
24 276 T_ENUM
25 277 T_STRUCT
26 278 T_UNION
27 279 T_Bool
28 280 T_Complex
29 281 T_Imaginary
30 282 T_TYPE_QUALIFIER
31 283 T_BRACKETS
32 284 T_LBRACE
33 285 T_MATCHRBRACE
34 286 T_ELLIPSIS
35 287 T_INITIALIZER
36 288 T_STRING_LITERAL
37 289 T_ASM
38 290 T_ASMARG
39 291 T_VA_DCL
40 59 ';'
41 44 ','
42 61 '='
43 41 ')'
44 292 $accept
45 293 program
46 294 decl_specifiers
47 295 decl_specifier
48 296 storage_class
49 297 type_specifier
50 298 type_qualifier
51 299 struct_or_union_specifier
52 300 enum_specifier
53 301 init_declarator_list
54 302 init_declarator
55 303 declarator
56 304 direct_declarator
57 305 abs_declarator
58 306 direct_abs_declarator
59 307 parameter_type_list
60 308 parameter_list
61 309 parameter_declaration
62 310 opt_identifier_list
63 311 identifier_list
64 312 struct_or_union
65 313 pointer
66 314 opt_type_qualifiers
67 315 type_qualifier_list
68 316 any_id
69 317 identifier_or_ref
70 318 enumeration
71 319 translation_unit
72 320 external_declaration
73 321 declaration
74 322 function_definition
75 323 linkage_specification
76 324 braces
77 325 any_typedef
78 326 opt_declarator_list
79 327 $$1
80 328 declarator_list
81 329 opt_declaration_list
82 330 $$2
83 331 $$3
84 332 $$4
85 333 declaration_list
86 334 $$5