1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
/* $Id: semantic.h,v 1.1 2004-05-03 05:17:48 behdad Exp $
*
* Declarations for semantic action routines
*/
#include "config.h"
extern boolean is_typedef_name _((
char *name
));
void
new_decl_spec _((
DeclSpec *decl_spec,
char *text,
int flags));
extern void join_decl_specs _((
DeclSpec *result,
DeclSpec *a,
DeclSpec *b
));
extern void free_decl_spec _((
DeclSpec *decl_spec
));
void
new_parameter _((
Parameter *param, /* pointer to structure to be initialized */
DeclSpec *decl_spec, /* declaration specifier structure */
Declarator *declarator, /* declarator structure */
char *comment_before, /* comment before the param */
char *comment_after)); /* comment after the param */
extern void free_parameter _((
Parameter *param
));
/* add a comment to the last parameter in the list */
int
comment_last_parameter _((ParameterList *list, char *comment));
extern void new_param_list _((
ParameterList *param_list,
Parameter *param
));
extern void add_param_list _((
ParameterList *to,
ParameterList *from,
Parameter *param
));
extern void free_param_list _((
ParameterList *param_list
));
extern void new_ident_list _((
ParameterList *param_list
));
extern void add_ident_list _((
ParameterList *to,
ParameterList *from,
Identifier *ident
));
extern Declarator * new_declarator _((
char *text,
char *name
));
extern void free_declarator _((
Declarator *d
));
extern void new_decl_list _((
DeclaratorList *decl_list,
Declarator *declarator
));
extern void add_decl_list _((
DeclaratorList *to,
DeclaratorList *from,
Declarator *declarator
));
extern void free_decl_list _((
DeclaratorList *decl_list
));
extern void set_param_types _((
ParameterList *params,
DeclSpec *decl_spec,
DeclaratorList *declarators,
char *comment,
char *eolcomment
));
/* Output a function parameter.*/
void output_parameter _((Parameter *p));
int
remember_declarations _((
char *comment, /* comment associated */
DeclSpec *decl_spec, /* declaration specifier */
DeclaratorList *decl_list, /* list of declared variables */
char *eolcomment)); /* eol comment after */
void
dyn_decl_spec _((
DeclSpec *decl_spec,
char *text,
unsigned int flags));
void
new_enum_decl_spec _((
DeclSpec *decl_spec,
char *text,
int flags,
EnumeratorList *enum_list));
void
output_decl_spec _((DeclSpec *decl_spec));
void
output_declarator _((Declarator *d, boolean format));
void parameter_error _((Parameter *param));
void declarator_error _((Declarator *decl));
boolean has_parameters _((const Declarator *d));
boolean is_function_declarator _((const Declarator *d));
|