Home | History | Annotate | Download | only in yacc

Lines Matching refs:Declarator

196 /* This structure stores information about a declarator. */
206 struct _Declarator *head; /* head function declarator */
208 struct _Declarator *next; /* next declarator in list */
209 } Declarator;
215 Declarator *declarator;
221 Declarator *first; /* pointer to first declarator in list */
222 Declarator *last; /* pointer to last declarator in list */
239 Declarator *declarator;
264 extern Declarator *new_declarator (const char *, const char *, long);
265 extern void free_declarator (Declarator *);
266 extern void new_decl_list (DeclaratorList *, Declarator *);
268 extern void add_decl_list (DeclaratorList *, DeclaratorList *, Declarator *);
269 extern Parameter *new_parameter (DeclSpec *, Declarator *);
278 extern void gen_prototype (DeclSpec *, Declarator *);
279 extern void gen_func_declarator (Declarator *);
280 extern void gen_func_definition (DeclSpec *, Declarator *);
291 extern int is_actual_func (Declarator *d);
297 extern void ellipsis_varargs (Declarator *d);
304 extern void put_body (FILE *outf, DeclSpec *decl_spec, Declarator *declarator);
326 /* A parser semantic action sets this pointer to the current declarator in
330 * declarator. To ignore subsequent comments, the lexer sets this to NULL
333 static Declarator *cur_declarator;
383 if (p->declarator->func_def == FUNC_ANSI) {
807 "declarator_list : declarator",
808 "declarator_list : declarator_list ',' declarator",
811 "function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE",
813 "function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE",
854 "init_declarator : declarator",
856 "init_declarator : declarator '=' $$5 T_INITIALIZER",
863 "declarator : pointer direct_declarator",
864 "declarator : direct_declarator",
866 "direct_declarator : '(' declarator ')'",
880 "parameter_declaration : decl_specifiers declarator",
1407 if (strcmp(yystack.l_mark[0].declarator->text, yystack.l_mark[0].declarator->name) != 0)
1409 new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
1410 free_declarator(yystack.l_mark[0].declarator);
1419 if (strcmp(yystack.l_mark[0].declarator->text, yystack.l_mark[0].declarator->name) != 0)
1421 new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
1422 free_declarator(yystack.l_mark[0].declarator);
1430 if (yystack.l_mark[0].declarator->func_def == FUNC_NONE) {
1434 func_params = &(yystack.l_mark[0].declarator->head->params);
1450 && yystack.l_mark[-3].declarator->head->func_def == func_style) {
1451 yystack.l_mark[-3].declarator->head->func_def = FUNC_BOTH;
1457 gen_func_definition(&yystack.l_mark[-4].decl_spec, yystack.l_mark[-3].declarator);
1458 gen_prototype(&yystack.l_mark[-4].decl_spec, yystack.l_mark[-3].declarator);
1463 free_declarator(yystack.l_mark[-3].declarator);
1470 if (yystack.l_mark[0].declarator->func_def == FUNC_NONE) {
1474 func_params = &(yystack.l_mark[0].declarator->head->params);
1487 new_decl_spec(&decl_spec, dft_decl_spec(), yystack.l_mark[-4].declarator->begin, DS_NONE);
1489 gen_func_definition(&decl_spec, yystack.l_mark[-4].declarator);
1490 gen_prototype(&decl_spec, yystack.l_mark[-4].declarator);
1495 free_declarator(yystack.l_mark[-4].declarator);
1709 new_decl_list(&yyval.decl_list, yystack.l_mark[0].declarator);
1716 add_decl_list(&yyval.decl_list, &yystack.l_mark[-2].decl_list, yystack.l_mark[0].declarator);
1723 if (yystack.l_mark[0].declarator->func_def != FUNC_NONE && func_params == NULL &&
1725 gen_func_declarator(yystack.l_mark[0].declarator);
1728 cur_declarator = yyval.declarator;
1735 if (yystack.l_mark[-1].declarator->func_def != FUNC_NONE && func_params == NULL &&
1737 gen_func_declarator(yystack.l_mark[-1].declarator);
1782 yyval.declarator = yystack.l_mark[0].declarator;
1783 (void)sprintf(buf, "%.*s%.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yyval.declarator->text);
1784 free(yyval.declarator->text);
1785 yyval.declarator->text = xstrdup(buf);
1786 yyval.declarator->begin = yystack.l_mark[-1].text.begin;
1787 yyval.declarator->pointer = TRUE;
1794 yyval.declarator = new_declarator(yystack.l_mark[0].text.text, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin);
1801 yyval.declarator = yystack.l_mark[-1].declarator;
1802 (void)sprintf(buf, "(%.*s)", TEXT_LEN, yyval.declarator->text);
1803 free(yyval.declarator->text);
1804 yyval.declarator->text = xstrdup(buf);
1805 yyval.declarator->begin = yystack.l_mark[-2].text.begin;
1812 yyval.declarator = yystack.l_mark[-1].declarator;
1813 (void)sprintf(buf, "%.*s%.*s", TEXT_LEN, yyval.declarator->text, TEXT_LEN, yystack.l_mark[0].text.text);
1814 free(yyval.declarator->text);
1815 yyval.declarator->text = xstrdup(buf);
1822 yyval.declarator = new_declarator("%s()", yystack.l_mark[-3].declarator->name, yystack.l_mark[-3].declarator->begin);
1823 yyval.declarator->params = yystack.l_mark[-1].param_list;
1824 yyval.declarator->func_stack = yystack.l_mark[-3].declarator;
1825 yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
1826 yyval.declarator->func_def = FUNC_ANSI;
1833 yyval.declarator = new_declarator("%s()", yystack.l_mark[-3].declarator->name, yystack.l_mark[-3].declarator->begin);
1834 yyval.declarator->params = yystack.l_mark[-1].param_list;
1835 yyval.declarator->func_stack = yystack.l_mark[-3].declarator;
1836 yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
1837 yyval.declarator->func_def = FUNC_TRADITIONAL;
1908 yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
1916 yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
1924 yyval.parameter = new_parameter(&yystack.l_mark[0].decl_spec, (Declarator *)0);
1973 yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
1980 yyval.declarator = yystack.l_mark[0].declarator;
1981 (void)sprintf(buf, "%.*s%.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yyval.declarator->text);
1982 free(yyval.declarator->text);
1983 yyval.declarator->text = xstrdup(buf);
1984 yyval.declarator->begin = yystack.l_mark[-1].text.begin;
1991 yyval.declarator = yystack.l_mark[-1].declarator;
1992 (void)sprintf(buf, "(%.*s)", TEXT_LEN, yyval.declarator->text);
1993 free(yyval.declarator->text);
1994 yyval.declarator->text = xstrdup(buf);
1995 yyval.declarator->begin = yystack.l_mark[-2].text.begin;
2002 yyval.declarator = yystack.l_mark[-1].declarator;
2003 (void)sprintf(buf, "%.*s%.*s", TEXT_LEN, yyval.declarator->text, TEXT_LEN, yystack.l_mark[0].text.text);
2004 free(yyval.declarator->text);
2005 yyval.declarator->text = xstrdup(buf);
2012 yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
2019 yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-3].declarator->begin);
2020 yyval.declarator->params = yystack.l_mark[-1].param_list;
2021 yyval.declarator->func_stack = yystack.l_mark[-3].declarator;
2022 yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
2023 yyval.declarator->func_def = FUNC_ANSI;
2030 yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-2].declarator->begin);
2031 yyval.declaratordeclarator;
2032 yyval.declarator->head = (yystack.l_mark[-2].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-2].declarator->head;
2033 yyval.declarator->func_def = FUNC_ANSI;
2040 Declarator *d;
2043 yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-2].text.begin);
2044 yyval.declarator->params = yystack.l_mark[-1].param_list;
2045 yyval.declarator->func_stack = d;
2046 yyval.declarator->head = yyval.declarator;
2047 yyval.declarator->func_def = FUNC_ANSI;
2054 Declarator *d;
2057 yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-1].text.begin);
2058 yyval.declarator->func_stack = d;
2059 yyval.declarator->head = yyval.declarator;
2060 yyval.declarator->func_def = FUNC_ANSI;