Module: wine Branch: master Commit: 86bb809e5b65e566151747d38f96d69ee1abd8ef URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=86bb809e5b65e566151747d3...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Sep 12 09:05:07 2006 +0200
widl: Change the prefix on bison-generated names to avoid the name-prefix directive.
---
tools/widl/header.c | 4 ++-- tools/widl/parser.h | 10 +++++----- tools/widl/parser.l | 30 +++++++++++++++--------------- tools/widl/parser.y | 2 -- tools/widl/proxy.c | 2 +- tools/widl/utils.c | 8 ++++---- tools/widl/utils.h | 4 ++-- tools/widl/widl.c | 12 ++++++------ 8 files changed, 35 insertions(+), 37 deletions(-)
diff --git a/tools/widl/header.c b/tools/widl/header.c index 168f4c6..5415785 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -716,7 +716,7 @@ static void write_method_proto(const typ fprintf(header, ");\n"); } else { - yywarning("invalid call_as attribute (%s -> %s)\n", get_name(def), cas->name); + parser_warning("invalid call_as attribute (%s -> %s)\n", get_name(def), cas->name); } }
@@ -802,7 +802,7 @@ static void write_coclass_guid(type_t *c static void write_com_interface(type_t *iface) { if (!iface->funcs && !iface->ref) { - yywarning("%s has no methods", iface->name); + parser_warning("%s has no methods", iface->name); return; }
diff --git a/tools/widl/parser.h b/tools/widl/parser.h index 2217dbf..5baf655 100644 --- a/tools/widl/parser.h +++ b/tools/widl/parser.h @@ -21,14 +21,14 @@ #ifndef __WIDL_PARSER_H #define __WIDL_PARSER_H
-int yyparse(void); +int parser_parse(void);
-extern FILE *yyin; -extern char *yytext; -extern int yydebug; +extern FILE *parser_in; +extern char *parser_text; +extern int parser_debug; extern int yy_flex_debug;
-int yylex(void); +int parser_lex(void);
extern int import_stack_ptr; int do_import(char *fname); diff --git a/tools/widl/parser.l b/tools/widl/parser.l index 4fedd34..21faf7b 100644 --- a/tools/widl/parser.l +++ b/tools/widl/parser.l @@ -20,7 +20,7 @@
%option stack %option nounput noyy_top_state -%option 8bit never-interactive +%option 8bit never-interactive prefix="parser_"
nl \r?\n ws [ \f\t\r] @@ -110,14 +110,14 @@ static UUID* parse_uuid(const char*u) yy_pop_state(); lineno = (int)strtol(yytext, &cptr, 10); if(!lineno) - yyerror("Malformed '#...' line-directive; invalid linenumber"); + parser_error("Malformed '#...' line-directive; invalid linenumber"); fname = strchr(cptr, '"'); if(!fname) - yyerror("Malformed '#...' line-directive; missing filename"); + parser_error("Malformed '#...' line-directive; missing filename"); fname++; cptr = strchr(fname, '"'); if(!cptr) - yyerror("Malformed '#...' line-directive; missing terminating ""); + parser_error("Malformed '#...' line-directive; missing terminating ""); *cptr = '\0'; line_number = lineno - 1; /* We didn't read the newline */ free( input_name ); @@ -126,7 +126,7 @@ static UUID* parse_uuid(const char*u) " yy_push_state(QUOTE); cbufidx = 0; <QUOTE>" { yy_pop_state(); - yylval.str = get_buffered_cstring(); + parser_lval.str = get_buffered_cstring(); return aSTRING; } <QUOTE>\\ | @@ -134,15 +134,15 @@ static UUID* parse_uuid(const char*u) <QUOTE>\. addcchar('\'); addcchar(yytext[1]); <QUOTE>. addcchar(yytext[0]); {uuid} { - yylval.uuid = parse_uuid(yytext); + parser_lval.uuid = parse_uuid(yytext); return aUUID; } {hex} { - yylval.num = strtoul(yytext, NULL, 0); + parser_lval.num = strtoul(yytext, NULL, 0); return aHEXNUM; } {int} { - yylval.num = strtoul(yytext, NULL, 0); + parser_lval.num = strtoul(yytext, NULL, 0); return aNUM; } SAFEARRAY{ws}*/( return tSAFEARRAY; @@ -161,8 +161,8 @@ SAFEARRAY{ws}*/( return tSAFEARRAY; } %%
-#ifndef yywrap -int yywrap(void) +#ifndef parser_wrap +int parser_wrap(void) { return 1; } @@ -338,10 +338,10 @@ #else } #endif if (kwp) { - yylval.str = (char*)kwp->kw; + parser_lval.str = (char*)kwp->kw; return kwp->token; } - yylval.str = xstrdup(kw); + parser_lval.str = xstrdup(kw); return is_type(kw) ? aKNOWNTYPE : aIDENTIFIER; }
@@ -352,7 +352,7 @@ static void addcchar(char c) cbufalloc += 1024; cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0])); if(cbufalloc > 65536) - yywarning("Reallocating string buffer larger than 64kB"); + parser_warning("Reallocating string buffer larger than 64kB"); } cbuffer[cbufidx++] = c; } @@ -414,7 +414,7 @@ int do_import(char *fname) first_import = import;
if (!(path = wpp_find_include( fname, input_name ))) - yyerror("Unable to open include file %s", fname); + parser_error("Unable to open include file %s", fname);
import_stack[ptr].temp_name = temp_name; import_stack[ptr].input_name = input_name; @@ -427,7 +427,7 @@ int do_import(char *fname) if (ret) exit(1);
if((f = fopen(temp_name, "r")) == NULL) - yyerror("Unable to open %s", temp_name); + parser_error("Unable to open %s", temp_name);
import_stack[ptr].state = YY_CURRENT_BUFFER; yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE)); diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 922df4d..63e4c6d 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -126,8 +126,6 @@ #define tsUNION 3 unsigned int num; }
-%name-prefix="yy" - %token <str> aIDENTIFIER %token <str> aKNOWNTYPE %token <num> aNUM aHEXNUM diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 8d4d467..3480b7d 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -936,7 +936,7 @@ static void write_proxy(type_t *iface) gen_proxy(iface, cur, idx); gen_stub(iface, cur, cname); if (midx == -1) midx = idx; - else if (midx != idx) yyerror("method index mismatch in write_proxy"); + else if (midx != idx) parser_error("method index mismatch in write_proxy"); midx++; } cur = PREV_LINK(cur); diff --git a/tools/widl/utils.c b/tools/widl/utils.c index fea0540..98a66dd 100644 --- a/tools/widl/utils.c +++ b/tools/widl/utils.c @@ -68,21 +68,21 @@ #endif }
-int yyerror(const char *s, ...) +int parser_error(const char *s, ...) { va_list ap; va_start(ap, s); - generic_msg(s, "Error", yytext, ap); + generic_msg(s, "Error", parser_text, ap); va_end(ap); exit(1); return 1; }
-int yywarning(const char *s, ...) +int parser_warning(const char *s, ...) { va_list ap; va_start(ap, s); - generic_msg(s, "Warning", yytext, ap); + generic_msg(s, "Warning", parser_text, ap); va_end(ap); return 0; } diff --git a/tools/widl/utils.h b/tools/widl/utils.h index 089607d..3641aae 100644 --- a/tools/widl/utils.h +++ b/tools/widl/utils.h @@ -33,8 +33,8 @@ #ifndef __GNUC__ #define __attribute__(X) #endif
-int yyerror(const char *s, ...) __attribute__((format (printf, 1, 2))); -int yywarning(const char *s, ...) __attribute__((format (printf, 1, 2))); +int parser_error(const char *s, ...) __attribute__((format (printf, 1, 2))); +int parser_warning(const char *s, ...) __attribute__((format (printf, 1, 2))); void internal_error(const char *file, int line, const char *s, ...) __attribute__((format (printf, 3, 4))); void error(const char *s, ...) __attribute__((format (printf, 1, 2))); void warning(const char *s, ...) __attribute__((format (printf, 1, 2))); diff --git a/tools/widl/widl.c b/tools/widl/widl.c index 39cd9be..c04d07f 100644 --- a/tools/widl/widl.c +++ b/tools/widl/widl.c @@ -84,7 +84,7 @@ static const char version_string[] = "Wi
int win32 = 1; int debuglevel = DEBUGLEVEL_NONE; -int yydebug, yy_flex_debug; +int parser_debug, yy_flex_debug;
int pedantic = 0; static int do_everything = 1; @@ -271,7 +271,7 @@ #endif setbuf(stderr,0); }
- yydebug = debuglevel & DEBUGLEVEL_TRACE ? 1 : 0; + parser_debug = debuglevel & DEBUGLEVEL_TRACE ? 1 : 0; yy_flex_debug = debuglevel & DEBUGLEVEL_TRACE ? 1 : 0;
wpp_set_debug( (debuglevel & DEBUGLEVEL_PPLEX) != 0, @@ -330,13 +330,13 @@ #endif
if(ret) exit(1); if(preprocess_only) exit(0); - if(!(yyin = fopen(temp_name, "r"))) { + if(!(parser_in = fopen(temp_name, "r"))) { fprintf(stderr, "Could not open %s for input\n", temp_name); return 1; } } else { - if(!(yyin = fopen(input_name, "r"))) { + if(!(parser_in = fopen(input_name, "r"))) { fprintf(stderr, "Could not open %s for input\n", input_name); return 1; } @@ -380,7 +380,7 @@ #endif }
init_types(); - ret = yyparse(); + ret = parser_parse();
if(do_header) { fprintf(header, "/* Begin additional prototypes for all interfaces */\n"); @@ -405,7 +405,7 @@ #endif fclose(idfile); }
- fclose(yyin); + fclose(parser_in);
if(ret) { exit(1);