118 struct expression *range_high;
119 };
120 };
121 };
122
123 extern struct symbol_list *function_computed_target_list;
124 extern struct statement_list *function_computed_goto_list;
125
126 extern struct token *parse_expression(struct token *, struct expression **);
127 extern struct symbol *label_symbol(struct token *token);
128
129 extern int show_statement(struct statement *);
130 extern void show_statement_list(struct statement_list *, const char *);
131 extern int show_expression(struct expression *);
132
133 typedef void (*validate_decl_t)(struct symbol *decl);
134 extern struct token *external_declaration(struct token *, struct symbol_list **, validate_decl_t);
135
136 extern struct symbol *ctype_integer(int size, int want_unsigned);
137
138 extern void copy_statement(struct statement *src, struct statement *dst);
139 extern int inline_function(struct expression *expr, struct symbol *sym);
140 extern void uninline(struct symbol *sym);
141 extern void init_parser(int);
142
143 static inline void stmt_set_parent_stmt(struct statement *stmt, struct statement *parent)
144 {
145 if (!stmt)
146 return;
147 stmt->parent = parent;
148 }
149
150 static inline struct statement *stmt_get_parent_stmt(struct statement *stmt)
151 {
152 return stmt->parent;
153 }
154
155 #endif /* PARSE_H */
|
118 struct expression *range_high;
119 };
120 };
121 };
122
123 extern struct symbol_list *function_computed_target_list;
124 extern struct statement_list *function_computed_goto_list;
125
126 extern struct token *parse_expression(struct token *, struct expression **);
127 extern struct symbol *label_symbol(struct token *token);
128
129 extern int show_statement(struct statement *);
130 extern void show_statement_list(struct statement_list *, const char *);
131 extern int show_expression(struct expression *);
132
133 typedef void (*validate_decl_t)(struct symbol *decl);
134 extern struct token *external_declaration(struct token *, struct symbol_list **, validate_decl_t);
135
136 extern struct symbol *ctype_integer(int size, int want_unsigned);
137
138 extern int inline_function(struct expression *expr, struct symbol *sym);
139 extern void uninline(struct symbol *sym);
140 extern void init_parser(int);
141
142 static inline void stmt_set_parent_stmt(struct statement *stmt, struct statement *parent)
143 {
144 if (!stmt)
145 return;
146 stmt->parent = parent;
147 }
148
149 static inline struct statement *stmt_get_parent_stmt(struct statement *stmt)
150 {
151 return stmt->parent;
152 }
153
154 #endif /* PARSE_H */
|