From 9664020ca4bcd30b668d520a7d792650585275c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Thu, 11 Aug 2005 15:10:01 +0000 Subject: [PATCH] Alexandre Julliard - Added support for HTML resource type. Mike McCormack - gcc 4.0 -Wpointer-sign fixes. Stefan Huehner - Fix some -Wsign-compare warnings. Jacek Caban - '.' is a valid char of tIDENT. Marcus Meissner - Fixed signedness warnings. svn path=/trunk/; revision=17286 --- reactos/tools/wrc/dumpres.c | 6 +- reactos/tools/wrc/genres.c | 37 +- reactos/tools/wrc/genres.h | 2 +- reactos/tools/wrc/lex.yy.c | 588 ++++---- reactos/tools/wrc/newstruc.c | 14 + reactos/tools/wrc/newstruc.h | 2 +- reactos/tools/wrc/parser.l | 3 +- reactos/tools/wrc/parser.y | 14 +- reactos/tools/wrc/readres.c | 4 +- reactos/tools/wrc/wrctypes.h | 14 +- reactos/tools/wrc/writeres.c | 2 +- reactos/tools/wrc/y.tab.c | 2712 +++++++++++++++++----------------- reactos/tools/wrc/y.tab.h | 251 ++-- 13 files changed, 1864 insertions(+), 1785 deletions(-) diff --git a/reactos/tools/wrc/dumpres.c b/reactos/tools/wrc/dumpres.c index 914b10d3acf..7af89e4d93b 100644 --- a/reactos/tools/wrc/dumpres.c +++ b/reactos/tools/wrc/dumpres.c @@ -78,13 +78,13 @@ const char *get_typename(const resource_t* r) * Remarks : No codepage translation is done. ***************************************************************************** */ -static char *strncpyWtoA(char *cs, WCHAR *ws, int maxlen) +static char *strncpyWtoA(char *cs, const WCHAR *ws, int maxlen) { char *cptr = cs; - WCHAR *wsMax = ws + maxlen - 1; + const WCHAR *wsMax = ws + maxlen - 1; while(*ws && ws < wsMax) { - if((short)*ws < -128 || (short)*ws > 127) + if(*ws > 255) fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n"); *cptr++ = (char)*ws++; } diff --git a/reactos/tools/wrc/genres.c b/reactos/tools/wrc/genres.c index 2af5fe58b1e..a333c184bad 100644 --- a/reactos/tools/wrc/genres.c +++ b/reactos/tools/wrc/genres.c @@ -62,7 +62,7 @@ res_t *new_res(void) return r; } -res_t *grow_res(res_t *r, int add) +res_t *grow_res(res_t *r, unsigned int add) { r->allocsize += add; r->data = (char *)xrealloc(r->data, r->allocsize); @@ -416,7 +416,7 @@ static void put_lvc(res_t *res, lvc_t *lvc) */ static void put_raw_data(res_t *res, raw_data_t *raw, int offset) { - int wsize = raw->size - offset; + unsigned int wsize = raw->size - offset; if(res->allocsize - res->size < wsize) grow_res(res, wsize); memcpy(&(res->data[res->size]), raw->data + offset, wsize); @@ -1348,6 +1348,35 @@ static res_t *fontdir2res(name_id_t *name, fontdir_t *fnd) return res; } +/* + ***************************************************************************** + * Function : html2res + * Syntax : res_t *html2res(name_id_t *name, html_t *html) + * Input : + * name - Name/ordinal of the resource + * rdt - The html descriptor + * Output : New .res format structure + * Description : + * Remarks : + ***************************************************************************** +*/ +static res_t *html2res(name_id_t *name, html_t *html) +{ + int restag; + res_t *res; + assert(name != NULL); + assert(html != NULL); + + res = new_res(); + restag = put_res_header(res, WRC_RT_HTML, NULL, name, html->memopt, &(html->data->lvc)); + put_raw_data(res, html->data, 0); + /* Set ResourceSize */ + SetResSize(res, restag); + if(win32) + put_pad(res); + return res; +} + /* ***************************************************************************** * Function : rcdata2res @@ -1941,6 +1970,10 @@ void resources2res(resource_t *top) if(!top->binres) top->binres = menuex2res(top->name, top->res.menex); break; + case res_html: + if(!top->binres) + top->binres = html2res(top->name, top->res.html); + break; case res_rdt: if(!top->binres) top->binres = rcdata2res(top->name, top->res.rdt); diff --git a/reactos/tools/wrc/genres.h b/reactos/tools/wrc/genres.h index 5feb83a3fa1..afdf1e82832 100644 --- a/reactos/tools/wrc/genres.h +++ b/reactos/tools/wrc/genres.h @@ -24,7 +24,7 @@ #include "wrctypes.h" res_t *new_res(void); -res_t *grow_res(res_t *r, int add); +res_t *grow_res(res_t *r, unsigned int add); void put_byte(res_t *res, unsigned c); void put_word(res_t *res, unsigned w); void put_dword(res_t *res, unsigned d); diff --git a/reactos/tools/wrc/lex.yy.c b/reactos/tools/wrc/lex.yy.c index 4e9c7829775..69c6fb0a100 100644 --- a/reactos/tools/wrc/lex.yy.c +++ b/reactos/tools/wrc/lex.yy.c @@ -311,13 +311,13 @@ static yyconst short yy_nxt[][256] = 26, 26, 26, 26, 26, 26, 31, 32, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 26, 35, - 26, 26, 26, 26, 26, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 37, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 26, 31, 26, 26, 36, 26, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 38, 26, 39, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 36, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 26, 37, 26, 26, 31, 26, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 38, 26, 39, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, @@ -342,14 +342,14 @@ static yyconst short yy_nxt[][256] = 26, 26, 40, 26, 29, 41, 26, 26, 26, 30, 26, 26, 26, 26, 26, 26, 31, 32, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 26, 35, - 26, 26, 26, 26, 26, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 37, 36, 36, 36, + 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 36, 31, 31, 31, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 26, 31, 26, 26, 36, 26, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 38, 26, 39, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 26, 37, 26, 26, 31, 26, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 38, 26, 39, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, @@ -1257,12 +1257,12 @@ static yyconst short yy_nxt[][256] = -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, - -31, -31, -31, -31, -31, -31, 83, 83, 83, 83, + -31, -31, -31, -31, -31, -31, 83, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, -31, -31, -31, -31, -31, -31, -31, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, -31, 83, -31, -31, 83, -31, 83, 83, 83, + 83, -31, 84, -31, -31, 83, -31, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, -31, -31, -31, -31, -31, -31, -31, @@ -1288,16 +1288,16 @@ static yyconst short yy_nxt[][256] = -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, 84, -32, -32, -32, 83, 85, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, -32, -32, - -32, -32, -32, -32, -32, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + -32, -32, 85, -32, -32, -32, 84, 86, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, -32, -32, + -32, -32, -32, -32, -32, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, -32, 83, -32, -32, 83, -32, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, -32, -32, -32, -32, -32, -32, -32, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, -32, 84, -32, -32, 84, -32, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, @@ -1320,16 +1320,16 @@ static yyconst short yy_nxt[][256] = -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, 83, 83, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, -33, -33, - -33, -33, -33, -33, -33, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 88, 87, 87, 89, - 87, 87, 87, 87, 87, 87, 87, 87, 90, 87, - 87, -33, 83, -33, -33, 87, -33, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 88, 87, - 87, 89, 87, 87, 87, 87, 87, 87, 87, 87, + -33, -33, -33, -33, -33, -33, 83, 84, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, -33, -33, + -33, -33, -33, -33, -33, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 88, 83, 83, 89, + 83, 83, 83, 83, 83, 83, 83, 83, 90, 83, + 83, -33, 84, -33, -33, 83, -33, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 88, 83, + 83, 89, 83, 83, 83, 83, 83, 83, 83, 83, - 90, 87, 87, -33, -33, -33, -33, -33, -33, -33, + 90, 83, 83, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, @@ -1351,16 +1351,16 @@ static yyconst short yy_nxt[][256] = -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, -34, -34, -34, -34, -34, 83, 83, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, -34, -34, + -34, -34, -34, -34, -34, -34, 83, 84, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, -34, -34, - -34, -34, -34, -34, -34, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 88, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -34, 83, -34, -34, 87, -34, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 88, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 88, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -34, 84, -34, -34, 83, -34, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 88, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, @@ -1413,17 +1413,17 @@ static yyconst short yy_nxt[][256] = 25, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, + -36, -36, -36, -36, 92, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, 83, 83, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, -36, -36, - -36, -36, -36, -36, -36, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -36, 83, -36, -36, 87, -36, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -36, -36, -36, -36, -36, -36, -36, + -36, -36, -36, -36, -36, -36, 83, 84, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, -36, -36, + -36, -36, -36, -36, -36, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -36, 84, -36, -36, 83, -36, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, @@ -1445,17 +1445,17 @@ static yyconst short yy_nxt[][256] = 25, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, 92, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, 83, 83, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, -37, -37, - -37, -37, -37, -37, -37, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, -37, -37, + -37, -37, -37, -37, -37, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -37, 83, -37, -37, 87, -37, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -37, -37, -37, -37, -37, -37, -37, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, -37, 84, -37, -37, 84, -37, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, @@ -2205,7 +2205,7 @@ static yyconst short yy_nxt[][256] = 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 84, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 85, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, @@ -2521,7 +2521,7 @@ static yyconst short yy_nxt[][256] = 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 84, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 85, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, @@ -2900,12 +2900,12 @@ static yyconst short yy_nxt[][256] = -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, 83, 83, 83, 83, + -83, -83, -83, -83, -83, -83, 83, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, -83, -83, -83, -83, -83, -83, -83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, -83, 83, -83, -83, 83, -83, 83, 83, 83, + 83, -83, 84, -83, -83, 83, -83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, @@ -2931,16 +2931,16 @@ static yyconst short yy_nxt[][256] = -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, + -84, -84, -84, -84, -84, -84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, + -84, -84, -84, -84, -84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, -84, 84, -84, -84, 84, -84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, @@ -2958,22 +2958,58 @@ static yyconst short yy_nxt[][256] = }, + { + 25, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85 + }, + { 25, 151, 151, 151, 151, 151, 151, 151, 151, 151, - -85, 151, 151, 151, 151, 151, 151, 151, 151, 151, + -86, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 151, 151, 151, 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 151, 152, 151, 151, 152, 151, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, @@ -2981,61 +3017,25 @@ static yyconst short yy_nxt[][256] = 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151 }, - { - 25, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - - -86, -86, -86, -86, -86, -86, 83, 83, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, -86, -86, - -86, -86, -86, -86, -86, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 88, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -86, 83, -86, -86, 87, -86, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 88, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86 - }, - { 25, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, 83, 83, 87, 87, + -87, -87, -87, -87, -87, -87, 83, 84, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, -87, -87, - -87, -87, -87, -87, -87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + -87, -87, -87, -87, -87, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 88, 83, 83, 83, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -87, 83, -87, -87, 87, -87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -87, -87, -87, -87, -87, -87, -87, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -87, 84, -87, -87, 83, -87, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 88, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, @@ -3058,16 +3058,16 @@ static yyconst short yy_nxt[][256] = -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, 83, 83, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, -88, -88, - -88, -88, -88, -88, -88, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -88, 83, -88, -88, 87, -88, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + -88, -88, -88, -88, -88, -88, 83, 84, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, -88, -88, + -88, -88, -88, -88, -88, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -88, 84, -88, -88, 83, -88, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 87, 87, 87, -88, -88, -88, -88, -88, -88, -88, + 83, 83, 83, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, @@ -3089,16 +3089,16 @@ static yyconst short yy_nxt[][256] = -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, 83, 83, 153, 153, - 153, 153, 153, 153, 153, 153, 87, 87, -89, -89, + -89, -89, -89, -89, -89, -89, 83, 84, 153, 153, + 153, 153, 153, 153, 153, 153, 83, 83, -89, -89, - -89, -89, -89, -89, -89, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -89, 83, -89, -89, 87, -89, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -89, 84, -89, -89, 83, -89, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, @@ -3121,16 +3121,16 @@ static yyconst short yy_nxt[][256] = -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, 83, 83, 154, 154, + -90, -90, -90, -90, -90, -90, 83, 84, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, -90, -90, -90, -90, -90, -90, -90, 154, 154, 154, 154, 154, - 154, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -90, 83, -90, -90, 87, -90, 154, 154, 154, + 154, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -90, 84, -90, -90, 83, -90, 154, 154, 154, - 154, 154, 154, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -90, -90, -90, -90, -90, -90, -90, + 154, 154, 154, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, @@ -5112,16 +5112,16 @@ static yyconst short yy_nxt[][256] = -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, -153, -153, -153, 83, 83, 153, 153, - 153, 153, 153, 153, 153, 153, 87, 87, -153, -153, - -153, -153, -153, -153, -153, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 174, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -153, 83, -153, -153, 87, -153, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 174, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + -153, -153, -153, -153, -153, -153, 83, 84, 153, 153, + 153, 153, 153, 153, 153, 153, 83, 83, -153, -153, + -153, -153, -153, -153, -153, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 174, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -153, 84, -153, -153, 83, -153, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 174, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 87, 87, 87, -153, -153, -153, -153, -153, -153, -153, + 83, 83, 83, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, @@ -5143,16 +5143,16 @@ static yyconst short yy_nxt[][256] = -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, -154, -154, -154, 83, 83, 154, 154, + -154, -154, -154, -154, -154, -154, 83, 84, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, -154, -154, -154, -154, -154, -154, -154, 154, 154, 154, 154, 154, - 154, 87, 87, 87, 87, 87, 175, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -154, 83, -154, -154, 87, -154, 154, 154, 154, - 154, 154, 154, 87, 87, 87, 87, 87, 175, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -154, -154, -154, -154, -154, -154, -154, + 154, 83, 83, 83, 83, 83, 175, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -154, 84, -154, -154, 83, -154, 154, 154, 154, + 154, 154, 154, 83, 83, 83, 83, 83, 175, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, @@ -5775,16 +5775,16 @@ static yyconst short yy_nxt[][256] = -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, 83, 83, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, -174, -174, + -174, -174, -174, -174, -174, -174, 83, 84, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, -174, -174, - -174, -174, -174, -174, -174, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -174, 83, -174, -174, 87, -174, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, -174, -174, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -174, 84, -174, -174, 83, -174, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, @@ -5807,16 +5807,16 @@ static yyconst short yy_nxt[][256] = -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, 83, 83, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, -175, -175, - -175, -175, -175, -175, -175, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -175, 83, -175, -175, 87, -175, 87, 87, 87, + -175, -175, -175, -175, -175, -175, 83, 84, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, -175, -175, + -175, -175, -175, -175, -175, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, -175, 84, -175, -175, 83, -175, 83, 83, 83, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, -175, -175, -175, -175, -175, -175, -175, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, @@ -6806,12 +6806,12 @@ static yyconst short int yy_accept[206] = 0, 0, 0, 0, 0, 0, 0, 0, 82, 82, 0, 0, 13, 13, 18, 18, 20, 20, 3, 3, 5, 5, 8, 8, 93, 90, 89, 88, 53, 75, - 30, 30, 26, 26, 86, 29, 29, 24, 25, 89, + 29, 30, 26, 26, 86, 29, 30, 24, 25, 89, 2, 70, 74, 55, 91, 51, 52, 33, 91, 80, 78, 79, 76, 80, 82, 84, 83, 91, 13, 14, 91, 11, 9, 10, 13, 2, 18, 19, 15, 16, 91, 18, 23, 20, 22, 21, 3, 5, 5, 8, - 8, 89, 30, 81, 30, 26, 29, 26, 29, 29, + 8, 89, 29, 30, 81, 30, 26, 26, 29, 29, 86, 31, 89, 2, 2, 0, 70, 54, 71, 68, 60, 68, 68, 56, 59, 61, 62, 63, 64, 65, @@ -6841,7 +6841,7 @@ static yyconst yy_state_type yy_NUL_trans[206] = 0, 0, 0, 0, 133, 0, 134, 0, 137, 0, 138, 0, 0, 0, 137, 0, 140, 0, 0, 0, 141, 140, 0, 0, 0, 0, 144, 145, 145, 147, - 147, 0, 0, 0, 151, 0, 0, 0, 0, 0, + 147, 0, 0, 0, 0, 151, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6863,16 +6863,16 @@ int yy_flex_debug = 1; static yyconst short int yy_rule_linenum[92] = { 0, - 325, 326, 327, 347, 348, 350, 351, 362, 369, 370, - 371, 372, 373, 374, 376, 377, 385, 386, 387, 389, - 390, 391, 392, 394, 395, 397, 398, 399, 408, 427, - 432, 438, 439, 444, 451, 456, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 477, 482, 483, 484, 489, 496, 501, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 519, 520, 521, 522, 527, 528, 536, 541, 542, 543, - 549, 555, 556, 557, 558, 560, 561, 563, 573, 575, - 584 + 326, 327, 328, 348, 349, 351, 352, 363, 370, 371, + 372, 373, 374, 375, 377, 378, 386, 387, 388, 390, + 391, 392, 393, 395, 396, 398, 399, 400, 409, 428, + 433, 439, 440, 445, 452, 457, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + 473, 478, 483, 484, 485, 490, 497, 502, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 520, 521, 522, 523, 528, 529, 537, 542, 543, 544, + 550, 556, 557, 558, 559, 561, 562, 564, 574, 576, + 585 } ; @@ -7097,6 +7097,7 @@ static struct keyword keywords[] = { { "GRAYED", tGRAYED, 0, 0, 0}, { "GROUPBOX", tGROUPBOX, 0, 0, 0}, { "HELP", tHELP, 0, 0, 0}, + { "HTML", tHTML, 0, 0, 0}, { "ICON", tICON, 0, 0, 0}, { "IMPURE", tIMPURE, 0, 0, 0}, { "INACTIVE", tINACTIVE, 0, 0, 0}, @@ -7194,7 +7195,7 @@ static struct keyword *iskeyword(char *kw) * The flexer starts here ************************************************************************** */ -#line 7198 "lex.yy.c" +#line 7199 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -7348,7 +7349,7 @@ YY_DECL register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 306 "./parser.l" +#line 307 "./parser.l" /* * Catch the GCC-style line statements here and parse them. @@ -7368,7 +7369,7 @@ YY_DECL * because we only want to know the linenumber and * filename. */ -#line 7372 "lex.yy.c" +#line 7373 "lex.yy.c" if ( yy_init ) { @@ -7457,28 +7458,25 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 325 "./parser.l" +#line 326 "./parser.l" yy_push_state(pp_pragma); YY_BREAK case 2: YY_RULE_SETUP -#line 326 "./parser.l" +#line 327 "./parser.l" yy_push_state(pp_line); YY_BREAK case 3: YY_RULE_SETUP -#line 327 "./parser.l" +#line 328 "./parser.l" { int lineno; char *cptr; char *fname; yy_pop_state(); lineno = (int)strtol(yytext, &cptr, 10); -#if 0 - /* ignore malformed line numbers by gcc: # 0 "" */ if(!lineno) yyerror("Malformed '#...' line-directive; invalid linenumber"); -#endif fname = strchr(cptr, '"'); if(!fname) yyerror("Malformed '#...' line-directive; missing filename"); @@ -7493,22 +7491,22 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 347 "./parser.l" +#line 348 "./parser.l" yyless(9); yy_pop_state(); yy_push_state(pp_code_page); YY_BREAK case 5: YY_RULE_SETUP -#line 348 "./parser.l" +#line 349 "./parser.l" yy_pop_state(); if (pedantic) yywarning("Unrecognized #pragma directive '%s'",yytext); YY_BREAK case 6: YY_RULE_SETUP -#line 350 "./parser.l" +#line 351 "./parser.l" current_codepage = -1; yy_pop_state(); YY_BREAK case 7: YY_RULE_SETUP -#line 351 "./parser.l" +#line 352 "./parser.l" { char *p = yytext; yy_pop_state(); @@ -7523,7 +7521,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 362 "./parser.l" +#line 363 "./parser.l" yy_pop_state(); yyerror("Malformed #pragma code_page directive"); YY_BREAK /* @@ -7533,42 +7531,42 @@ yy_pop_state(); yyerror("Malformed #pragma code_page directive"); */ case 9: YY_RULE_SETUP -#line 369 "./parser.l" +#line 370 "./parser.l" stripslevel++; YY_BREAK case 10: YY_RULE_SETUP -#line 370 "./parser.l" +#line 371 "./parser.l" stripslevel--; YY_BREAK case 11: YY_RULE_SETUP -#line 371 "./parser.l" +#line 372 "./parser.l" if(!stripslevel) yy_pop_state(); YY_BREAK case 12: YY_RULE_SETUP -#line 372 "./parser.l" +#line 373 "./parser.l" ; /* To catch comments */ YY_BREAK case 13: YY_RULE_SETUP -#line 373 "./parser.l" +#line 374 "./parser.l" ; /* Ignore rest */ YY_BREAK case 14: YY_RULE_SETUP -#line 374 "./parser.l" +#line 375 "./parser.l" line_number++; char_number = 1; YY_BREAK case 15: YY_RULE_SETUP -#line 376 "./parser.l" +#line 377 "./parser.l" stripplevel++; YY_BREAK case 16: YY_RULE_SETUP -#line 377 "./parser.l" +#line 378 "./parser.l" { stripplevel--; if(!stripplevel) @@ -7580,62 +7578,62 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 385 "./parser.l" +#line 386 "./parser.l" ; /* To catch comments */ YY_BREAK case 18: YY_RULE_SETUP -#line 386 "./parser.l" +#line 387 "./parser.l" ; /* Ignore rest */ YY_BREAK case 19: YY_RULE_SETUP -#line 387 "./parser.l" +#line 388 "./parser.l" line_number++; char_number = 1; YY_BREAK case 20: YY_RULE_SETUP -#line 389 "./parser.l" +#line 390 "./parser.l" ; /* Ignore */ YY_BREAK case 21: YY_RULE_SETUP -#line 390 "./parser.l" +#line 391 "./parser.l" yy_pop_state(); /* Kill the semicolon */ YY_BREAK case 22: YY_RULE_SETUP -#line 391 "./parser.l" +#line 392 "./parser.l" line_number++; char_number = 1; yy_pop_state(); YY_BREAK case 23: YY_RULE_SETUP -#line 392 "./parser.l" +#line 393 "./parser.l" yyless(0); yy_pop_state(); YY_BREAK case 24: YY_RULE_SETUP -#line 394 "./parser.l" +#line 395 "./parser.l" return tBEGIN; YY_BREAK case 25: YY_RULE_SETUP -#line 395 "./parser.l" +#line 396 "./parser.l" return tEND; YY_BREAK case 26: YY_RULE_SETUP -#line 397 "./parser.l" +#line 398 "./parser.l" { yylval.num = strtoul(yytext, 0, 10); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; } YY_BREAK case 27: YY_RULE_SETUP -#line 398 "./parser.l" +#line 399 "./parser.l" { yylval.num = strtoul(yytext, 0, 16); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; } YY_BREAK case 28: YY_RULE_SETUP -#line 399 "./parser.l" +#line 400 "./parser.l" { yylval.num = strtoul(yytext+2, 0, 8); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; } YY_BREAK /* @@ -7647,7 +7645,7 @@ YY_RULE_SETUP */ case 29: YY_RULE_SETUP -#line 408 "./parser.l" +#line 409 "./parser.l" { struct keyword *tok = iskeyword(yytext); @@ -7670,7 +7668,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 427 "./parser.l" +#line 428 "./parser.l" yylval.str = make_string(yytext); return tFILENAME; YY_BREAK /* @@ -7678,7 +7676,7 @@ yylval.str = make_string(yytext); return tFILENAME; */ case 31: YY_RULE_SETUP -#line 432 "./parser.l" +#line 433 "./parser.l" { yy_push_state(yylstr); wbufidx = 0; @@ -7687,10 +7685,10 @@ YY_RULE_SETUP } YY_BREAK case 32: -#line 439 "./parser.l" +#line 440 "./parser.l" case 33: YY_RULE_SETUP -#line 439 "./parser.l" +#line 440 "./parser.l" { yy_pop_state(); yylval.str = get_buffered_wstring(); @@ -7699,7 +7697,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 444 "./parser.l" +#line 445 "./parser.l" { /* octal escape sequence */ unsigned int result; result = strtoul(yytext+1, 0, 8); @@ -7710,7 +7708,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 451 "./parser.l" +#line 452 "./parser.l" { /* hex escape sequence */ unsigned int result; result = strtoul(yytext+2, 0, 16); @@ -7719,82 +7717,82 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 456 "./parser.l" +#line 457 "./parser.l" { yyerror("Invalid hex escape sequence '%s'", yytext); } YY_BREAK case 37: YY_RULE_SETUP -#line 458 "./parser.l" +#line 459 "./parser.l" yyerror("Bad escape sequence"); YY_BREAK case 38: YY_RULE_SETUP -#line 459 "./parser.l" +#line 460 "./parser.l" line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ YY_BREAK case 39: YY_RULE_SETUP -#line 460 "./parser.l" +#line 461 "./parser.l" addwchar('\a'); YY_BREAK case 40: YY_RULE_SETUP -#line 461 "./parser.l" +#line 462 "./parser.l" addwchar('\b'); YY_BREAK case 41: YY_RULE_SETUP -#line 462 "./parser.l" +#line 463 "./parser.l" addwchar('\f'); YY_BREAK case 42: YY_RULE_SETUP -#line 463 "./parser.l" +#line 464 "./parser.l" addwchar('\n'); YY_BREAK case 43: YY_RULE_SETUP -#line 464 "./parser.l" +#line 465 "./parser.l" addwchar('\r'); YY_BREAK case 44: YY_RULE_SETUP -#line 465 "./parser.l" +#line 466 "./parser.l" addwchar('\t'); YY_BREAK case 45: YY_RULE_SETUP -#line 466 "./parser.l" +#line 467 "./parser.l" addwchar('\v'); YY_BREAK case 46: YY_RULE_SETUP -#line 467 "./parser.l" +#line 468 "./parser.l" addwchar(yytext[1]); YY_BREAK case 47: YY_RULE_SETUP -#line 468 "./parser.l" +#line 469 "./parser.l" addwchar(yytext[2]); line_number++; char_number = 1; YY_BREAK case 48: YY_RULE_SETUP -#line 469 "./parser.l" +#line 470 "./parser.l" addwchar('\"'); /* "bla""bla" -> "bla\"bla" */ YY_BREAK case 49: YY_RULE_SETUP -#line 470 "./parser.l" +#line 471 "./parser.l" addwchar('\"'); /* "bla\""bla" -> "bla\"bla" */ YY_BREAK case 50: YY_RULE_SETUP -#line 471 "./parser.l" +#line 472 "./parser.l" ; /* "bla" "bla" -> "blabla" */ YY_BREAK case 51: YY_RULE_SETUP -#line 472 "./parser.l" +#line 473 "./parser.l" { char *yptr = yytext; while(*yptr) /* FIXME: codepage translation */ @@ -7803,7 +7801,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 477 "./parser.l" +#line 478 "./parser.l" yyerror("Unterminated string"); YY_BREAK /* @@ -7811,14 +7809,14 @@ yyerror("Unterminated string"); */ case 53: YY_RULE_SETUP -#line 482 "./parser.l" +#line 483 "./parser.l" yy_push_state(yystr); cbufidx = 0; YY_BREAK case 54: -#line 484 "./parser.l" +#line 485 "./parser.l" case 55: YY_RULE_SETUP -#line 484 "./parser.l" +#line 485 "./parser.l" { yy_pop_state(); yylval.str = get_buffered_cstring(); @@ -7827,7 +7825,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 489 "./parser.l" +#line 490 "./parser.l" { /* octal escape sequence */ int result; result = strtol(yytext+1, 0, 8); @@ -7838,7 +7836,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 496 "./parser.l" +#line 497 "./parser.l" { /* hex escape sequence */ int result; result = strtol(yytext+2, 0, 16); @@ -7847,67 +7845,67 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 501 "./parser.l" +#line 502 "./parser.l" { yyerror("Invalid hex escape sequence '%s'", yytext); } YY_BREAK case 59: YY_RULE_SETUP -#line 503 "./parser.l" +#line 504 "./parser.l" yyerror("Bad escape sequence"); YY_BREAK case 60: YY_RULE_SETUP -#line 504 "./parser.l" +#line 505 "./parser.l" line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ YY_BREAK case 61: YY_RULE_SETUP -#line 505 "./parser.l" +#line 506 "./parser.l" addcchar('\a'); YY_BREAK case 62: YY_RULE_SETUP -#line 506 "./parser.l" +#line 507 "./parser.l" addcchar('\b'); YY_BREAK case 63: YY_RULE_SETUP -#line 507 "./parser.l" +#line 508 "./parser.l" addcchar('\f'); YY_BREAK case 64: YY_RULE_SETUP -#line 508 "./parser.l" +#line 509 "./parser.l" addcchar('\n'); YY_BREAK case 65: YY_RULE_SETUP -#line 509 "./parser.l" +#line 510 "./parser.l" addcchar('\r'); YY_BREAK case 66: YY_RULE_SETUP -#line 510 "./parser.l" +#line 511 "./parser.l" addcchar('\t'); YY_BREAK case 67: YY_RULE_SETUP -#line 511 "./parser.l" +#line 512 "./parser.l" addcchar('\v'); YY_BREAK case 68: YY_RULE_SETUP -#line 512 "./parser.l" +#line 513 "./parser.l" addcchar(yytext[1]); YY_BREAK case 69: YY_RULE_SETUP -#line 513 "./parser.l" +#line 514 "./parser.l" addcchar(yytext[2]); line_number++; char_number = 1; YY_BREAK case 70: YY_RULE_SETUP -#line 514 "./parser.l" +#line 515 "./parser.l" { char *yptr = yytext; while(*yptr) @@ -7916,22 +7914,22 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 519 "./parser.l" +#line 520 "./parser.l" addcchar('\"'); /* "bla""bla" -> "bla\"bla" */ YY_BREAK case 72: YY_RULE_SETUP -#line 520 "./parser.l" +#line 521 "./parser.l" addcchar('\"'); /* "bla\""bla" -> "bla\"bla" */ YY_BREAK case 73: YY_RULE_SETUP -#line 521 "./parser.l" +#line 522 "./parser.l" ; /* "bla" "bla" -> "blabla" */ YY_BREAK case 74: YY_RULE_SETUP -#line 522 "./parser.l" +#line 523 "./parser.l" yyerror("Unterminated string"); YY_BREAK /* @@ -7939,12 +7937,12 @@ yyerror("Unterminated string"); */ case 75: YY_RULE_SETUP -#line 527 "./parser.l" +#line 528 "./parser.l" yy_push_state(yyrcd); cbufidx = 0; YY_BREAK case 76: YY_RULE_SETUP -#line 528 "./parser.l" +#line 529 "./parser.l" { yy_pop_state(); yylval.raw = new_raw_data(); @@ -7956,7 +7954,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 536 "./parser.l" +#line 537 "./parser.l" { int result; result = strtol(yytext, 0, 16); @@ -7965,17 +7963,17 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 541 "./parser.l" +#line 542 "./parser.l" ; /* Ignore space */ YY_BREAK case 79: YY_RULE_SETUP -#line 542 "./parser.l" +#line 543 "./parser.l" line_number++; char_number = 1; YY_BREAK case 80: YY_RULE_SETUP -#line 543 "./parser.l" +#line 544 "./parser.l" yyerror("Malformed data-line"); YY_BREAK /* @@ -7984,7 +7982,7 @@ yyerror("Malformed data-line"); */ case 81: YY_RULE_SETUP -#line 549 "./parser.l" +#line 550 "./parser.l" { yy_push_state(comment); save_wanted_id = wanted_id; @@ -7994,37 +7992,37 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 555 "./parser.l" +#line 556 "./parser.l" ; YY_BREAK case 83: YY_RULE_SETUP -#line 556 "./parser.l" +#line 557 "./parser.l" ; YY_BREAK case 84: YY_RULE_SETUP -#line 557 "./parser.l" +#line 558 "./parser.l" line_number++; char_number = 1; YY_BREAK case 85: YY_RULE_SETUP -#line 558 "./parser.l" +#line 559 "./parser.l" yy_pop_state(); want_id = save_wanted_id; YY_BREAK case 86: YY_RULE_SETUP -#line 560 "./parser.l" +#line 561 "./parser.l" want_id = wanted_id; /* not really comment, but left-over c-junk */ YY_BREAK case 87: YY_RULE_SETUP -#line 561 "./parser.l" +#line 562 "./parser.l" want_id = wanted_id; if(!no_preprocess) yywarning("Found comments after preprocessing, please report"); YY_BREAK case 88: YY_RULE_SETUP -#line 563 "./parser.l" +#line 564 "./parser.l" { want_id = wanted_id; line_number++; @@ -8038,12 +8036,12 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 573 "./parser.l" +#line 574 "./parser.l" want_id = wanted_id; /* Eat whitespace */ YY_BREAK case 90: YY_RULE_SETUP -#line 575 "./parser.l" +#line 576 "./parser.l" return yytext[0]; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -8058,7 +8056,7 @@ case YY_STATE_EOF(pp_stripp_final): case YY_STATE_EOF(pp_line): case YY_STATE_EOF(pp_pragma): case YY_STATE_EOF(pp_code_page): -#line 577 "./parser.l" +#line 578 "./parser.l" { if(YY_START == pp_strips || YY_START == pp_stripe || YY_START == pp_stripp || YY_START == pp_stripp_final) yyerror("Unexpected end of file during c-junk scanning (started at %d)", cjunk_tagline); @@ -8068,7 +8066,7 @@ case YY_STATE_EOF(pp_code_page): YY_BREAK case 91: YY_RULE_SETUP -#line 584 "./parser.l" +#line 585 "./parser.l" { /* Catch all rule to find any unmatched text */ if(*yytext == '\n') @@ -8082,10 +8080,10 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 595 "./parser.l" +#line 596 "./parser.l" ECHO; YY_BREAK -#line 8086 "lex.yy.c" +#line 8087 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -8962,7 +8960,7 @@ int main() return 0; } #endif -#line 595 "./parser.l" +#line 596 "./parser.l" #ifndef yywrap diff --git a/reactos/tools/wrc/newstruc.c b/reactos/tools/wrc/newstruc.c index 46d0a6ce3e4..9129caa181a 100644 --- a/reactos/tools/wrc/newstruc.c +++ b/reactos/tools/wrc/newstruc.c @@ -123,6 +123,20 @@ characts_t *dup_characts(characts_t *c) return new_characts(*c); } +html_t *new_html(raw_data_t *rd, int *memopt) +{ + html_t *html = xmalloc(sizeof(html_t)); + html->data = rd; + if(memopt) + { + html->memopt = *memopt; + free(memopt); + } + else + html->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; + return html; +} + rcdata_t *new_rcdata(raw_data_t *rd, int *memopt) { rcdata_t *rc = (rcdata_t *)xmalloc(sizeof(rcdata_t)); diff --git a/reactos/tools/wrc/newstruc.h b/reactos/tools/wrc/newstruc.h index a0a624ddf3a..8f061ef2dbf 100644 --- a/reactos/tools/wrc/newstruc.h +++ b/reactos/tools/wrc/newstruc.h @@ -61,6 +61,7 @@ language_t *new_language(int id, int sub); language_t *dup_language(language_t *l); version_t *dup_version(version_t *v); characts_t *dup_characts(characts_t *c); +html_t *new_html(raw_data_t *rd, int *memopt); rcdata_t *new_rcdata(raw_data_t *rd, int *memopt); font_id_t *new_font_id(int size, string_t *face, int weight, int italic); user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt); @@ -82,4 +83,3 @@ style_pair_t *new_style_pair(style_t *style, style_t *exstyle); style_t *new_style(DWORD or_mask, DWORD and_mask); #endif - diff --git a/reactos/tools/wrc/parser.l b/reactos/tools/wrc/parser.l index 2e04bc1f521..9983d107cea 100644 --- a/reactos/tools/wrc/parser.l +++ b/reactos/tools/wrc/parser.l @@ -204,6 +204,7 @@ static struct keyword keywords[] = { { "GRAYED", tGRAYED, 0, 0, 0}, { "GROUPBOX", tGROUPBOX, 0, 0, 0}, { "HELP", tHELP, 0, 0, 0}, + { "HTML", tHTML, 0, 0, 0}, { "ICON", tICON, 0, 0, 0}, { "IMPURE", tIMPURE, 0, 0, 0}, { "INACTIVE", tINACTIVE, 0, 0, 0}, @@ -405,7 +406,7 @@ static struct keyword *iskeyword(char *kw) * and *only* in a filename. In this case, the second * rule will be reduced because it is longer. */ -[A-Za-z_0-9]+ { +[A-Za-z_0-9.]+ { struct keyword *tok = iskeyword(yytext); if(tok) diff --git a/reactos/tools/wrc/parser.y b/reactos/tools/wrc/parser.y index 5173dd4e1ae..af5effaad41 100644 --- a/reactos/tools/wrc/parser.y +++ b/reactos/tools/wrc/parser.y @@ -251,6 +251,7 @@ static int rsrcid_to_token(int lookahead); fontdir_t *fnd; menu_t *men; menuex_t *menex; + html_t *html; rcdata_t *rdt; stringtable_t *stt; stt_entry_t *stte; @@ -285,7 +286,7 @@ static int rsrcid_to_token(int lookahead); %token tSTRING tIDENT tFILENAME %token tRAWDATA %token tACCELERATORS tBITMAP tCURSOR tDIALOG tDIALOGEX tMENU tMENUEX tMESSAGETABLE -%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON +%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON tHTML %token tAUTO3STATE tAUTOCHECKBOX tAUTORADIOBUTTON tCHECKBOX tDEFPUSHBUTTON %token tPUSHBUTTON tRADIOBUTTON tSTATE3 /* PUSHBOX */ %token tGROUPBOX tCOMBOBOX tLISTBOX tSCROLLBAR @@ -323,6 +324,7 @@ static int rsrcid_to_token(int lookahead); %type helpid %type dialogex dlgex_attribs %type exctrls gen_exctrl lab_exctrl exctrl_desc +%type html %type rcdata %type raw_data raw_elements opt_data file_raw %type versioninfo fix_version @@ -644,6 +646,7 @@ resource_definition $$ = NULL; } | messagetable { $$ = new_resource(res_msg, $1, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, $1->data->lvc.language); } + | html { $$ = new_resource(res_html, $1, $1->memopt, $1->data->lvc.language); } | rcdata { $$ = new_resource(res_rdt, $1, $1->memopt, $1->data->lvc.language); } | toolbar { $$ = new_resource(res_toolbar, $1, $1->memopt, $1->lvc.language); } | userres { $$ = new_resource(res_usr, $1, $1->memopt, $1->data->lvc.language); } @@ -724,6 +727,10 @@ messagetable } ; +/* ------------------------------ HTML ------------------------------ */ +html : tHTML loadmemopts file_raw { $$ = new_html($3, $2); } + ; + /* ------------------------------ RCData ------------------------------ */ rcdata : tRCDATA loadmemopts file_raw { $$ = new_rcdata($3, $2); } ; @@ -3017,6 +3024,10 @@ static int rsrcid_to_token(int lookahead) type = "TOOLBAR"; token = tTOOLBAR; break; + case WRC_RT_HTML: + type = "HTML"; + token = tHTML; + break; case WRC_RT_STRING: type = "STRINGTABLE"; @@ -3032,7 +3043,6 @@ static int rsrcid_to_token(int lookahead) case WRC_RT_DLGINCLUDE: case WRC_RT_PLUGPLAY: case WRC_RT_VXD: - case WRC_RT_HTML: yywarning("Usertype uses reserved type ID %d, which is not supported by wrc yet", yylval.num); default: return lookahead; diff --git a/reactos/tools/wrc/readres.c b/reactos/tools/wrc/readres.c index 993e1d3eee2..4b6405c9a49 100644 --- a/reactos/tools/wrc/readres.c +++ b/reactos/tools/wrc/readres.c @@ -232,7 +232,7 @@ static resource_t *read_res32(FILE *fp) str = new_string(); str->type = str_unicode; str->size = (idx - tag) / 2; - str->str.wstr = (WCHAR *)xmalloc(idx-tag+2); + str->str.wstr = xmalloc(idx-tag+2); memcpy(str->str.wstr, &res->data[tag], idx-tag); str->str.wstr[str->size] = 0; type = new_name_id(); @@ -266,7 +266,7 @@ static resource_t *read_res32(FILE *fp) str = new_string(); str->type = str_unicode; str->size = (idx - tag) / 2; - str->str.wstr = (WCHAR *)xmalloc(idx-tag+2); + str->str.wstr = xmalloc(idx-tag+2); memcpy(str->str.wstr, &res->data[tag], idx-tag); str->str.wstr[str->size] = 0; name = new_name_id(); diff --git a/reactos/tools/wrc/wrctypes.h b/reactos/tools/wrc/wrctypes.h index d776d268879..f81e79367f4 100644 --- a/reactos/tools/wrc/wrctypes.h +++ b/reactos/tools/wrc/wrctypes.h @@ -87,10 +87,10 @@ #define RES_BLOCKSIZE 512 typedef struct res { - int allocsize; /* Allocated datablock size */ - int size; /* Actual size of data */ - int dataidx; /* Tag behind the resource-header */ - char *data; + unsigned int allocsize; /* Allocated datablock size */ + unsigned int size; /* Actual size of data */ + unsigned int dataidx; /* Tag behind the resource-header */ + char *data; } res_t; /* Resource strings are slightly more complex because they include '\0' */ @@ -441,6 +441,11 @@ typedef struct bitmap { raw_data_t *data; } bitmap_t; +typedef struct html { + DWORD memopt; + raw_data_t *data; +} html_t; + typedef struct rcdata { DWORD memopt; raw_data_t *data; @@ -615,6 +620,7 @@ typedef struct resource { menu_t *men; menuex_t *menex; messagetable_t *msg; + html_t *html; rcdata_t *rdt; stringtable_t *stt; toolbar_t *tbt; diff --git a/reactos/tools/wrc/writeres.c b/reactos/tools/wrc/writeres.c index 327b121d706..6fed70b728f 100644 --- a/reactos/tools/wrc/writeres.c +++ b/reactos/tools/wrc/writeres.c @@ -46,7 +46,7 @@ void write_resfile(char *outname, resource_t *top) { FILE *fo; - int ret; + unsigned int ret; char zeros[3] = {0, 0, 0}; fo = fopen(outname, "wb"); diff --git a/reactos/tools/wrc/y.tab.c b/reactos/tools/wrc/y.tab.c index 1eb0fc745e5..1d0ed72b9a0 100644 --- a/reactos/tools/wrc/y.tab.c +++ b/reactos/tools/wrc/y.tab.c @@ -74,67 +74,68 @@ tFONT = 276, tFONTDIR = 277, tICON = 278, - tAUTO3STATE = 279, - tAUTOCHECKBOX = 280, - tAUTORADIOBUTTON = 281, - tCHECKBOX = 282, - tDEFPUSHBUTTON = 283, - tPUSHBUTTON = 284, - tRADIOBUTTON = 285, - tSTATE3 = 286, - tGROUPBOX = 287, - tCOMBOBOX = 288, - tLISTBOX = 289, - tSCROLLBAR = 290, - tCONTROL = 291, - tEDITTEXT = 292, - tRTEXT = 293, - tCTEXT = 294, - tLTEXT = 295, - tBLOCK = 296, - tVALUE = 297, - tSHIFT = 298, - tALT = 299, - tASCII = 300, - tVIRTKEY = 301, - tGRAYED = 302, - tCHECKED = 303, - tINACTIVE = 304, - tNOINVERT = 305, - tPURE = 306, - tIMPURE = 307, - tDISCARDABLE = 308, - tLOADONCALL = 309, - tPRELOAD = 310, - tFIXED = 311, - tMOVEABLE = 312, - tCLASS = 313, - tCAPTION = 314, - tCHARACTERISTICS = 315, - tEXSTYLE = 316, - tSTYLE = 317, - tVERSION = 318, - tLANGUAGE = 319, - tFILEVERSION = 320, - tPRODUCTVERSION = 321, - tFILEFLAGSMASK = 322, - tFILEOS = 323, - tFILETYPE = 324, - tFILEFLAGS = 325, - tFILESUBTYPE = 326, - tMENUBARBREAK = 327, - tMENUBREAK = 328, - tMENUITEM = 329, - tPOPUP = 330, - tSEPARATOR = 331, - tHELP = 332, - tTOOLBAR = 333, - tBUTTON = 334, - tBEGIN = 335, - tEND = 336, - tDLGINIT = 337, - tNOT = 338, - pUPM = 339 + tHTML = 279, + tAUTO3STATE = 280, + tAUTOCHECKBOX = 281, + tAUTORADIOBUTTON = 282, + tCHECKBOX = 283, + tDEFPUSHBUTTON = 284, + tPUSHBUTTON = 285, + tRADIOBUTTON = 286, + tSTATE3 = 287, + tGROUPBOX = 288, + tCOMBOBOX = 289, + tLISTBOX = 290, + tSCROLLBAR = 291, + tCONTROL = 292, + tEDITTEXT = 293, + tRTEXT = 294, + tCTEXT = 295, + tLTEXT = 296, + tBLOCK = 297, + tVALUE = 298, + tSHIFT = 299, + tALT = 300, + tASCII = 301, + tVIRTKEY = 302, + tGRAYED = 303, + tCHECKED = 304, + tINACTIVE = 305, + tNOINVERT = 306, + tPURE = 307, + tIMPURE = 308, + tDISCARDABLE = 309, + tLOADONCALL = 310, + tPRELOAD = 311, + tFIXED = 312, + tMOVEABLE = 313, + tCLASS = 314, + tCAPTION = 315, + tCHARACTERISTICS = 316, + tEXSTYLE = 317, + tSTYLE = 318, + tVERSION = 319, + tLANGUAGE = 320, + tFILEVERSION = 321, + tPRODUCTVERSION = 322, + tFILEFLAGSMASK = 323, + tFILEOS = 324, + tFILETYPE = 325, + tFILEFLAGS = 326, + tFILESUBTYPE = 327, + tMENUBARBREAK = 328, + tMENUBREAK = 329, + tMENUITEM = 330, + tPOPUP = 331, + tSEPARATOR = 332, + tHELP = 333, + tTOOLBAR = 334, + tBUTTON = 335, + tBEGIN = 336, + tEND = 337, + tDLGINIT = 338, + tNOT = 339, + pUPM = 340 }; #endif #define tNL 258 @@ -158,73 +159,74 @@ #define tFONT 276 #define tFONTDIR 277 #define tICON 278 -#define tAUTO3STATE 279 -#define tAUTOCHECKBOX 280 -#define tAUTORADIOBUTTON 281 -#define tCHECKBOX 282 -#define tDEFPUSHBUTTON 283 -#define tPUSHBUTTON 284 -#define tRADIOBUTTON 285 -#define tSTATE3 286 -#define tGROUPBOX 287 -#define tCOMBOBOX 288 -#define tLISTBOX 289 -#define tSCROLLBAR 290 -#define tCONTROL 291 -#define tEDITTEXT 292 -#define tRTEXT 293 -#define tCTEXT 294 -#define tLTEXT 295 -#define tBLOCK 296 -#define tVALUE 297 -#define tSHIFT 298 -#define tALT 299 -#define tASCII 300 -#define tVIRTKEY 301 -#define tGRAYED 302 -#define tCHECKED 303 -#define tINACTIVE 304 -#define tNOINVERT 305 -#define tPURE 306 -#define tIMPURE 307 -#define tDISCARDABLE 308 -#define tLOADONCALL 309 -#define tPRELOAD 310 -#define tFIXED 311 -#define tMOVEABLE 312 -#define tCLASS 313 -#define tCAPTION 314 -#define tCHARACTERISTICS 315 -#define tEXSTYLE 316 -#define tSTYLE 317 -#define tVERSION 318 -#define tLANGUAGE 319 -#define tFILEVERSION 320 -#define tPRODUCTVERSION 321 -#define tFILEFLAGSMASK 322 -#define tFILEOS 323 -#define tFILETYPE 324 -#define tFILEFLAGS 325 -#define tFILESUBTYPE 326 -#define tMENUBARBREAK 327 -#define tMENUBREAK 328 -#define tMENUITEM 329 -#define tPOPUP 330 -#define tSEPARATOR 331 -#define tHELP 332 -#define tTOOLBAR 333 -#define tBUTTON 334 -#define tBEGIN 335 -#define tEND 336 -#define tDLGINIT 337 -#define tNOT 338 -#define pUPM 339 +#define tHTML 279 +#define tAUTO3STATE 280 +#define tAUTOCHECKBOX 281 +#define tAUTORADIOBUTTON 282 +#define tCHECKBOX 283 +#define tDEFPUSHBUTTON 284 +#define tPUSHBUTTON 285 +#define tRADIOBUTTON 286 +#define tSTATE3 287 +#define tGROUPBOX 288 +#define tCOMBOBOX 289 +#define tLISTBOX 290 +#define tSCROLLBAR 291 +#define tCONTROL 292 +#define tEDITTEXT 293 +#define tRTEXT 294 +#define tCTEXT 295 +#define tLTEXT 296 +#define tBLOCK 297 +#define tVALUE 298 +#define tSHIFT 299 +#define tALT 300 +#define tASCII 301 +#define tVIRTKEY 302 +#define tGRAYED 303 +#define tCHECKED 304 +#define tINACTIVE 305 +#define tNOINVERT 306 +#define tPURE 307 +#define tIMPURE 308 +#define tDISCARDABLE 309 +#define tLOADONCALL 310 +#define tPRELOAD 311 +#define tFIXED 312 +#define tMOVEABLE 313 +#define tCLASS 314 +#define tCAPTION 315 +#define tCHARACTERISTICS 316 +#define tEXSTYLE 317 +#define tSTYLE 318 +#define tVERSION 319 +#define tLANGUAGE 320 +#define tFILEVERSION 321 +#define tPRODUCTVERSION 322 +#define tFILEFLAGSMASK 323 +#define tFILEOS 324 +#define tFILETYPE 325 +#define tFILEFLAGS 326 +#define tFILESUBTYPE 327 +#define tMENUBARBREAK 328 +#define tMENUBREAK 329 +#define tMENUITEM 330 +#define tPOPUP 331 +#define tSEPARATOR 332 +#define tHELP 333 +#define tTOOLBAR 334 +#define tBUTTON 335 +#define tBEGIN 336 +#define tEND 337 +#define tDLGINIT 338 +#define tNOT 339 +#define pUPM 340 /* Copy the first part of user declarations. */ -#line 1 "parser.y" +#line 1 "./parser.y" /* * Copyright 1994 Martin von Loewis @@ -479,7 +481,7 @@ static int rsrcid_to_token(int lookahead); #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 240 "parser.y" +#line 240 "./parser.y" typedef union YYSTYPE { string_t *str; int num; @@ -494,6 +496,7 @@ typedef union YYSTYPE { fontdir_t *fnd; menu_t *men; menuex_t *menex; + html_t *html; rcdata_t *rdt; stringtable_t *stt; stt_entry_t *stte; @@ -523,7 +526,7 @@ typedef union YYSTYPE { ani_any_t *ani; } YYSTYPE; /* Line 191 of yacc.c. */ -#line 527 "parser.tab.c" +#line 530 "y.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -535,7 +538,7 @@ typedef union YYSTYPE { /* Line 214 of yacc.c. */ -#line 539 "parser.tab.c" +#line 542 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -641,20 +644,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 738 +#define YYLAST 713 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 96 +#define YYNTOKENS 97 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 83 +#define YYNNTS 84 /* YYNRULES -- Number of rules. */ -#define YYNRULES 257 +#define YYNRULES 259 /* YYNRULES -- Number of states. */ -#define YYNSTATES 571 +#define YYNSTATES 575 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 339 +#define YYMAXUTOK 340 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -665,16 +668,16 @@ static const unsigned char yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 85, 2, - 94, 95, 88, 86, 93, 87, 2, 89, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 86, 2, + 95, 96, 89, 87, 94, 88, 2, 90, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 84, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 85, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 83, 2, 90, 2, 2, 2, + 2, 2, 2, 2, 84, 2, 91, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -695,7 +698,8 @@ static const unsigned char yytranslate[] = 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, 91, 92 + 75, 76, 77, 78, 79, 80, 81, 82, 83, 92, + 93 }; #if YYDEBUG @@ -706,165 +710,166 @@ static const unsigned short yyprhs[] = 0, 0, 3, 5, 6, 9, 12, 16, 20, 22, 23, 29, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, - 66, 68, 70, 72, 74, 76, 80, 84, 88, 92, - 96, 100, 104, 108, 112, 114, 116, 123, 124, 130, - 136, 137, 140, 142, 146, 148, 150, 152, 154, 156, - 158, 172, 173, 177, 181, 185, 188, 192, 196, 199, - 202, 205, 206, 210, 214, 218, 222, 226, 230, 234, - 238, 242, 246, 250, 254, 258, 262, 266, 270, 274, - 285, 298, 309, 310, 315, 322, 331, 349, 365, 370, - 371, 374, 379, 383, 387, 389, 392, 394, 396, 411, - 412, 416, 420, 424, 427, 430, 434, 438, 441, 444, - 447, 448, 452, 456, 460, 464, 468, 472, 476, 480, - 484, 488, 492, 496, 500, 504, 508, 512, 516, 527, - 547, 564, 579, 592, 593, 595, 596, 599, 609, 610, - 613, 618, 622, 623, 630, 634, 640, 641, 645, 649, - 653, 657, 661, 665, 670, 674, 675, 680, 684, 690, - 691, 694, 700, 707, 708, 711, 716, 723, 732, 737, - 741, 742, 747, 748, 750, 757, 758, 768, 778, 782, - 786, 790, 794, 798, 799, 802, 808, 809, 812, 814, - 819, 824, 826, 830, 840, 841, 845, 848, 849, 852, - 855, 857, 859, 861, 863, 865, 867, 869, 870, 873, - 876, 879, 884, 887, 890, 895, 897, 899, 902, 904, - 907, 909, 913, 917, 922, 926, 931, 935, 937, 939, - 940, 942, 944, 948, 952, 956, 960, 964, 968, 972, - 975, 978, 981, 985, 987, 989, 992, 994 + 66, 68, 70, 72, 74, 76, 78, 82, 86, 90, + 94, 98, 102, 106, 110, 114, 118, 120, 122, 129, + 130, 136, 142, 143, 146, 148, 152, 154, 156, 158, + 160, 162, 164, 178, 179, 183, 187, 191, 194, 198, + 202, 205, 208, 211, 212, 216, 220, 224, 228, 232, + 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, + 276, 280, 291, 304, 315, 316, 321, 328, 337, 355, + 371, 376, 377, 380, 385, 389, 393, 395, 398, 400, + 402, 417, 418, 422, 426, 430, 433, 436, 440, 444, + 447, 450, 453, 454, 458, 462, 466, 470, 474, 478, + 482, 486, 490, 494, 498, 502, 506, 510, 514, 518, + 522, 533, 553, 570, 585, 598, 599, 601, 602, 605, + 615, 616, 619, 624, 628, 629, 636, 640, 646, 647, + 651, 655, 659, 663, 667, 671, 676, 680, 681, 686, + 690, 696, 697, 700, 706, 713, 714, 717, 722, 729, + 738, 743, 747, 748, 753, 754, 756, 763, 764, 774, + 784, 788, 792, 796, 800, 804, 805, 808, 814, 815, + 818, 820, 825, 830, 832, 836, 846, 847, 851, 854, + 855, 858, 861, 863, 865, 867, 869, 871, 873, 875, + 876, 879, 882, 885, 890, 893, 896, 901, 903, 905, + 908, 910, 913, 915, 919, 923, 928, 932, 937, 941, + 943, 945, 946, 948, 950, 954, 958, 962, 966, 970, + 974, 978, 981, 984, 987, 991, 993, 995, 998, 1000 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { - 97, 0, -1, 98, -1, -1, 98, 99, -1, 98, - 3, -1, 175, 101, 104, -1, 7, 101, 104, -1, - 151, -1, -1, 64, 100, 175, 93, 175, -1, -1, - 175, -1, 7, -1, 102, -1, 6, -1, 116, -1, - 106, -1, 107, -1, 121, -1, 132, -1, 113, -1, - 109, -1, 110, -1, 108, -1, 142, -1, 146, -1, - 111, -1, 112, -1, 162, -1, 114, -1, 155, -1, - 8, -1, 7, -1, 6, -1, 11, 164, 173, -1, - 12, 164, 173, -1, 23, 164, 173, -1, 21, 164, - 173, -1, 22, 164, 173, -1, 17, 164, 173, -1, - 18, 164, 173, -1, 82, 164, 173, -1, 115, 164, - 173, -1, 4, -1, 7, -1, 10, 164, 167, 80, - 117, 81, -1, -1, 117, 6, 93, 175, 118, -1, - 117, 175, 93, 175, 118, -1, -1, 93, 119, -1, - 120, -1, 119, 93, 120, -1, 50, -1, 43, -1, - 36, -1, 44, -1, 45, -1, 46, -1, 13, 164, - 175, 93, 175, 93, 175, 93, 175, 122, 80, 123, - 81, -1, -1, 122, 62, 130, -1, 122, 61, 130, - -1, 122, 59, 6, -1, 122, 128, -1, 122, 58, - 103, -1, 122, 15, 102, -1, 122, 168, -1, 122, - 169, -1, 122, 170, -1, -1, 123, 36, 127, -1, - 123, 37, 125, -1, 123, 34, 125, -1, 123, 33, - 125, -1, 123, 35, 125, -1, 123, 27, 124, -1, - 123, 28, 124, -1, 123, 32, 124, -1, 123, 29, - 124, -1, 123, 30, 124, -1, 123, 24, 124, -1, - 123, 31, 124, -1, 123, 25, 124, -1, 123, 26, - 124, -1, 123, 40, 124, -1, 123, 39, 124, -1, - 123, 38, 124, -1, 123, 23, 103, 154, 175, 93, - 175, 93, 175, 126, -1, 6, 154, 175, 93, 175, - 93, 175, 93, 175, 93, 175, 129, -1, 175, 93, - 175, 93, 175, 93, 175, 93, 175, 129, -1, -1, - 93, 175, 93, 175, -1, 93, 175, 93, 175, 93, - 130, -1, 93, 175, 93, 175, 93, 130, 93, 130, - -1, 103, 154, 175, 93, 131, 93, 130, 93, 175, - 93, 175, 93, 175, 93, 175, 93, 130, -1, 103, - 154, 175, 93, 131, 93, 130, 93, 175, 93, 175, - 93, 175, 93, 175, -1, 21, 175, 93, 6, -1, - -1, 93, 130, -1, 93, 130, 93, 130, -1, 130, - 83, 130, -1, 94, 130, 95, -1, 176, -1, 91, - 176, -1, 175, -1, 6, -1, 14, 164, 175, 93, - 175, 93, 175, 93, 175, 139, 133, 80, 134, 81, - -1, -1, 133, 62, 130, -1, 133, 61, 130, -1, - 133, 59, 6, -1, 133, 128, -1, 133, 140, -1, - 133, 58, 103, -1, 133, 15, 102, -1, 133, 168, - -1, 133, 169, -1, 133, 170, -1, -1, 134, 36, - 135, -1, 134, 37, 137, -1, 134, 34, 137, -1, - 134, 33, 137, -1, 134, 35, 137, -1, 134, 27, - 136, -1, 134, 28, 136, -1, 134, 32, 136, -1, - 134, 29, 136, -1, 134, 30, 136, -1, 134, 24, - 136, -1, 134, 31, 136, -1, 134, 25, 136, -1, - 134, 26, 136, -1, 134, 40, 136, -1, 134, 39, - 136, -1, 134, 38, 136, -1, 134, 23, 103, 154, - 175, 93, 175, 93, 175, 126, -1, 103, 154, 175, - 93, 131, 93, 130, 93, 175, 93, 175, 93, 175, - 93, 175, 93, 130, 139, 138, -1, 103, 154, 175, - 93, 131, 93, 130, 93, 175, 93, 175, 93, 175, - 93, 175, 138, -1, 6, 154, 175, 93, 175, 93, - 175, 93, 175, 93, 175, 129, 139, 138, -1, 175, - 93, 175, 93, 175, 93, 175, 93, 175, 129, 139, - 138, -1, -1, 171, -1, -1, 93, 175, -1, 21, - 175, 93, 6, 93, 175, 93, 175, 141, -1, -1, - 93, 175, -1, 15, 164, 167, 143, -1, 80, 144, - 81, -1, -1, 144, 74, 6, 154, 175, 145, -1, - 144, 74, 76, -1, 144, 75, 6, 145, 143, -1, - -1, 154, 48, 145, -1, 154, 47, 145, -1, 154, - 77, 145, -1, 154, 49, 145, -1, 154, 72, 145, - -1, 154, 73, 145, -1, 16, 164, 167, 147, -1, - 80, 148, 81, -1, -1, 148, 74, 6, 149, -1, - 148, 74, 76, -1, 148, 75, 6, 150, 147, -1, - -1, 93, 175, -1, 93, 174, 93, 174, 145, -1, - 93, 174, 93, 174, 93, 175, -1, -1, 93, 175, - -1, 93, 174, 93, 175, -1, 93, 174, 93, 174, - 93, 175, -1, 93, 174, 93, 174, 93, 174, 93, - 175, -1, 152, 80, 153, 81, -1, 20, 164, 167, - -1, -1, 153, 175, 154, 6, -1, -1, 93, -1, - 19, 164, 156, 80, 157, 81, -1, -1, 156, 65, - 175, 93, 175, 93, 175, 93, 175, -1, 156, 66, - 175, 93, 175, 93, 175, 93, 175, -1, 156, 70, - 175, -1, 156, 67, 175, -1, 156, 68, 175, -1, - 156, 69, 175, -1, 156, 71, 175, -1, -1, 157, - 158, -1, 41, 6, 80, 159, 81, -1, -1, 159, - 160, -1, 158, -1, 42, 6, 93, 6, -1, 42, - 6, 93, 161, -1, 175, -1, 161, 93, 175, -1, - 78, 164, 175, 93, 175, 167, 80, 163, 81, -1, - -1, 163, 79, 175, -1, 163, 76, -1, -1, 164, - 165, -1, 164, 166, -1, 55, -1, 57, -1, 53, - -1, 51, -1, 54, -1, 56, -1, 52, -1, -1, - 167, 168, -1, 167, 169, -1, 167, 170, -1, 64, - 175, 93, 175, -1, 60, 175, -1, 63, 175, -1, - 167, 80, 172, 81, -1, 9, -1, 4, -1, 87, - 4, -1, 5, -1, 87, 5, -1, 6, -1, 172, - 154, 9, -1, 172, 154, 4, -1, 172, 154, 87, - 4, -1, 172, 154, 5, -1, 172, 154, 87, 5, - -1, 172, 154, 6, -1, 105, -1, 171, -1, -1, - 175, -1, 177, -1, 177, 86, 177, -1, 177, 87, - 177, -1, 177, 83, 177, -1, 177, 85, 177, -1, - 177, 88, 177, -1, 177, 89, 177, -1, 177, 84, - 177, -1, 90, 177, -1, 87, 177, -1, 86, 177, - -1, 94, 177, 95, -1, 178, -1, 176, -1, 91, - 178, -1, 4, -1, 5, -1 + 98, 0, -1, 99, -1, -1, 99, 100, -1, 99, + 3, -1, 177, 102, 105, -1, 7, 102, 105, -1, + 153, -1, -1, 65, 101, 177, 94, 177, -1, -1, + 177, -1, 7, -1, 103, -1, 6, -1, 118, -1, + 107, -1, 108, -1, 123, -1, 134, -1, 115, -1, + 110, -1, 111, -1, 109, -1, 144, -1, 148, -1, + 112, -1, 113, -1, 114, -1, 164, -1, 116, -1, + 157, -1, 8, -1, 7, -1, 6, -1, 11, 166, + 175, -1, 12, 166, 175, -1, 23, 166, 175, -1, + 21, 166, 175, -1, 22, 166, 175, -1, 17, 166, + 175, -1, 24, 166, 175, -1, 18, 166, 175, -1, + 83, 166, 175, -1, 117, 166, 175, -1, 4, -1, + 7, -1, 10, 166, 169, 81, 119, 82, -1, -1, + 119, 6, 94, 177, 120, -1, 119, 177, 94, 177, + 120, -1, -1, 94, 121, -1, 122, -1, 121, 94, + 122, -1, 51, -1, 44, -1, 37, -1, 45, -1, + 46, -1, 47, -1, 13, 166, 177, 94, 177, 94, + 177, 94, 177, 124, 81, 125, 82, -1, -1, 124, + 63, 132, -1, 124, 62, 132, -1, 124, 60, 6, + -1, 124, 130, -1, 124, 59, 104, -1, 124, 15, + 103, -1, 124, 170, -1, 124, 171, -1, 124, 172, + -1, -1, 125, 37, 129, -1, 125, 38, 127, -1, + 125, 35, 127, -1, 125, 34, 127, -1, 125, 36, + 127, -1, 125, 28, 126, -1, 125, 29, 126, -1, + 125, 33, 126, -1, 125, 30, 126, -1, 125, 31, + 126, -1, 125, 25, 126, -1, 125, 32, 126, -1, + 125, 26, 126, -1, 125, 27, 126, -1, 125, 41, + 126, -1, 125, 40, 126, -1, 125, 39, 126, -1, + 125, 23, 104, 156, 177, 94, 177, 94, 177, 128, + -1, 6, 156, 177, 94, 177, 94, 177, 94, 177, + 94, 177, 131, -1, 177, 94, 177, 94, 177, 94, + 177, 94, 177, 131, -1, -1, 94, 177, 94, 177, + -1, 94, 177, 94, 177, 94, 132, -1, 94, 177, + 94, 177, 94, 132, 94, 132, -1, 104, 156, 177, + 94, 133, 94, 132, 94, 177, 94, 177, 94, 177, + 94, 177, 94, 132, -1, 104, 156, 177, 94, 133, + 94, 132, 94, 177, 94, 177, 94, 177, 94, 177, + -1, 21, 177, 94, 6, -1, -1, 94, 132, -1, + 94, 132, 94, 132, -1, 132, 84, 132, -1, 95, + 132, 96, -1, 178, -1, 92, 178, -1, 177, -1, + 6, -1, 14, 166, 177, 94, 177, 94, 177, 94, + 177, 141, 135, 81, 136, 82, -1, -1, 135, 63, + 132, -1, 135, 62, 132, -1, 135, 60, 6, -1, + 135, 130, -1, 135, 142, -1, 135, 59, 104, -1, + 135, 15, 103, -1, 135, 170, -1, 135, 171, -1, + 135, 172, -1, -1, 136, 37, 137, -1, 136, 38, + 139, -1, 136, 35, 139, -1, 136, 34, 139, -1, + 136, 36, 139, -1, 136, 28, 138, -1, 136, 29, + 138, -1, 136, 33, 138, -1, 136, 30, 138, -1, + 136, 31, 138, -1, 136, 25, 138, -1, 136, 32, + 138, -1, 136, 26, 138, -1, 136, 27, 138, -1, + 136, 41, 138, -1, 136, 40, 138, -1, 136, 39, + 138, -1, 136, 23, 104, 156, 177, 94, 177, 94, + 177, 128, -1, 104, 156, 177, 94, 133, 94, 132, + 94, 177, 94, 177, 94, 177, 94, 177, 94, 132, + 141, 140, -1, 104, 156, 177, 94, 133, 94, 132, + 94, 177, 94, 177, 94, 177, 94, 177, 140, -1, + 6, 156, 177, 94, 177, 94, 177, 94, 177, 94, + 177, 131, 141, 140, -1, 177, 94, 177, 94, 177, + 94, 177, 94, 177, 131, 141, 140, -1, -1, 173, + -1, -1, 94, 177, -1, 21, 177, 94, 6, 94, + 177, 94, 177, 143, -1, -1, 94, 177, -1, 15, + 166, 169, 145, -1, 81, 146, 82, -1, -1, 146, + 75, 6, 156, 177, 147, -1, 146, 75, 77, -1, + 146, 76, 6, 147, 145, -1, -1, 156, 49, 147, + -1, 156, 48, 147, -1, 156, 78, 147, -1, 156, + 50, 147, -1, 156, 73, 147, -1, 156, 74, 147, + -1, 16, 166, 169, 149, -1, 81, 150, 82, -1, + -1, 150, 75, 6, 151, -1, 150, 75, 77, -1, + 150, 76, 6, 152, 149, -1, -1, 94, 177, -1, + 94, 176, 94, 176, 147, -1, 94, 176, 94, 176, + 94, 177, -1, -1, 94, 177, -1, 94, 176, 94, + 177, -1, 94, 176, 94, 176, 94, 177, -1, 94, + 176, 94, 176, 94, 176, 94, 177, -1, 154, 81, + 155, 82, -1, 20, 166, 169, -1, -1, 155, 177, + 156, 6, -1, -1, 94, -1, 19, 166, 158, 81, + 159, 82, -1, -1, 158, 66, 177, 94, 177, 94, + 177, 94, 177, -1, 158, 67, 177, 94, 177, 94, + 177, 94, 177, -1, 158, 71, 177, -1, 158, 68, + 177, -1, 158, 69, 177, -1, 158, 70, 177, -1, + 158, 72, 177, -1, -1, 159, 160, -1, 42, 6, + 81, 161, 82, -1, -1, 161, 162, -1, 160, -1, + 43, 6, 94, 6, -1, 43, 6, 94, 163, -1, + 177, -1, 163, 94, 177, -1, 79, 166, 177, 94, + 177, 169, 81, 165, 82, -1, -1, 165, 80, 177, + -1, 165, 77, -1, -1, 166, 167, -1, 166, 168, + -1, 56, -1, 58, -1, 54, -1, 52, -1, 55, + -1, 57, -1, 53, -1, -1, 169, 170, -1, 169, + 171, -1, 169, 172, -1, 65, 177, 94, 177, -1, + 61, 177, -1, 64, 177, -1, 169, 81, 174, 82, + -1, 9, -1, 4, -1, 88, 4, -1, 5, -1, + 88, 5, -1, 6, -1, 174, 156, 9, -1, 174, + 156, 4, -1, 174, 156, 88, 4, -1, 174, 156, + 5, -1, 174, 156, 88, 5, -1, 174, 156, 6, + -1, 106, -1, 173, -1, -1, 177, -1, 179, -1, + 179, 87, 179, -1, 179, 88, 179, -1, 179, 84, + 179, -1, 179, 86, 179, -1, 179, 89, 179, -1, + 179, 90, 179, -1, 179, 85, 179, -1, 91, 179, + -1, 88, 179, -1, 87, 179, -1, 95, 179, 96, + -1, 180, -1, 178, -1, 92, 180, -1, 4, -1, + 5, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 361, 361, 395, 396, 466, 472, 484, 494, 502, - 502, 546, 552, 559, 569, 570, 579, 580, 581, 605, - 606, 612, 613, 614, 615, 639, 640, 646, 647, 648, - 649, 650, 654, 655, 656, 660, 664, 680, 702, 712, - 720, 728, 732, 736, 747, 752, 761, 785, 786, 787, - 796, 797, 800, 801, 804, 805, 806, 807, 808, 809, - 814, 849, 850, 851, 852, 853, 854, 855, 856, 857, - 858, 861, 862, 863, 864, 865, 866, 867, 868, 869, - 870, 872, 873, 874, 875, 876, 877, 878, 879, 881, - 891, 916, 938, 940, 945, 952, 963, 977, 992, 997, - 998, 999, 1003, 1004, 1005, 1006, 1010, 1015, 1023, 1067, - 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1110, - 1135, 1151, 1179, 1202, 1203, 1206, 1207, 1211, 1218, 1219, - 1223, 1246, 1250, 1251, 1260, 1266, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1295, 1320, 1324, 1325, 1341, 1347, 1367, - 1368, 1372, 1380, 1391, 1392, 1396, 1402, 1410, 1430, 1471, - 1482, 1483, 1516, 1518, 1523, 1539, 1540, 1550, 1560, 1567, - 1574, 1581, 1588, 1598, 1599, 1608, 1616, 1617, 1626, 1631, - 1637, 1646, 1647, 1651, 1677, 1678, 1683, 1692, 1693, 1703, - 1718, 1719, 1720, 1721, 1724, 1725, 1726, 1730, 1731, 1739, - 1747, 1765, 1772, 1776, 1780, 1795, 1796, 1797, 1798, 1799, - 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1810, 1811, 1818, - 1819, 1823, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, - 1834, 1835, 1836, 1837, 1841, 1842, 1845, 1846 + 0, 363, 363, 397, 398, 468, 474, 486, 496, 504, + 504, 548, 554, 561, 571, 572, 581, 582, 583, 607, + 608, 614, 615, 616, 617, 641, 642, 648, 649, 650, + 651, 652, 653, 657, 658, 659, 663, 667, 683, 705, + 715, 723, 731, 735, 739, 743, 754, 759, 768, 792, + 793, 794, 803, 804, 807, 808, 811, 812, 813, 814, + 815, 816, 821, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 865, 868, 869, 870, 871, 872, 873, 874, + 875, 876, 877, 879, 880, 881, 882, 883, 884, 885, + 886, 888, 898, 923, 945, 947, 952, 959, 970, 984, + 999, 1004, 1005, 1006, 1010, 1011, 1012, 1013, 1017, 1022, + 1030, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, + 1095, 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1107, 1117, 1142, 1158, 1186, 1209, 1210, 1213, 1214, 1218, + 1225, 1226, 1230, 1253, 1257, 1258, 1267, 1273, 1292, 1293, + 1294, 1295, 1296, 1297, 1298, 1302, 1327, 1331, 1332, 1348, + 1354, 1374, 1375, 1379, 1387, 1398, 1399, 1403, 1409, 1417, + 1437, 1478, 1489, 1490, 1523, 1525, 1530, 1546, 1547, 1557, + 1567, 1574, 1581, 1588, 1595, 1605, 1606, 1615, 1623, 1624, + 1633, 1638, 1644, 1653, 1654, 1658, 1684, 1685, 1690, 1699, + 1700, 1710, 1725, 1726, 1727, 1728, 1731, 1732, 1733, 1737, + 1738, 1746, 1754, 1772, 1779, 1783, 1787, 1802, 1803, 1804, + 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1817, + 1818, 1825, 1826, 1830, 1833, 1834, 1835, 1836, 1837, 1838, + 1839, 1840, 1841, 1842, 1843, 1844, 1848, 1849, 1852, 1853 }; #endif @@ -876,7 +881,7 @@ static const char *const yytname[] = "$end", "error", "$undefined", "tNL", "tNUMBER", "tLNUMBER", "tSTRING", "tIDENT", "tFILENAME", "tRAWDATA", "tACCELERATORS", "tBITMAP", "tCURSOR", "tDIALOG", "tDIALOGEX", "tMENU", "tMENUEX", "tMESSAGETABLE", "tRCDATA", - "tVERSIONINFO", "tSTRINGTABLE", "tFONT", "tFONTDIR", "tICON", + "tVERSIONINFO", "tSTRINGTABLE", "tFONT", "tFONTDIR", "tICON", "tHTML", "tAUTO3STATE", "tAUTOCHECKBOX", "tAUTORADIOBUTTON", "tCHECKBOX", "tDEFPUSHBUTTON", "tPUSHBUTTON", "tRADIOBUTTON", "tSTATE3", "tGROUPBOX", "tCOMBOBOX", "tLISTBOX", "tSCROLLBAR", "tCONTROL", "tEDITTEXT", "tRTEXT", @@ -891,19 +896,19 @@ static const char *const yytname[] = "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'~'", "tNOT", "pUPM", "','", "'('", "')'", "$accept", "resource_file", "resources", "resource", "@1", "usrcvt", "nameid", "nameid_s", "resource_definition", "filename", - "bitmap", "cursor", "icon", "font", "fontdir", "messagetable", "rcdata", - "dlginit", "userres", "usertype", "accelerators", "events", "acc_opt", - "accs", "acc", "dialog", "dlg_attributes", "ctrls", "lab_ctrl", - "ctrl_desc", "iconinfo", "gen_ctrl", "opt_font", "optional_style_pair", - "style", "ctlclass", "dialogex", "dlgex_attribs", "exctrls", - "gen_exctrl", "lab_exctrl", "exctrl_desc", "opt_data", "helpid", - "opt_exfont", "opt_expr", "menu", "menu_body", "item_definitions", - "item_options", "menuex", "menuex_body", "itemex_definitions", - "itemex_options", "itemex_p_options", "stringtable", "stt_head", - "strings", "opt_comma", "versioninfo", "fix_version", "ver_blocks", - "ver_block", "ver_values", "ver_value", "ver_words", "toolbar", - "toolbar_items", "loadmemopts", "lamo", "lama", "opt_lvc", - "opt_language", "opt_characts", "opt_version", "raw_data", + "bitmap", "cursor", "icon", "font", "fontdir", "messagetable", "html", + "rcdata", "dlginit", "userres", "usertype", "accelerators", "events", + "acc_opt", "accs", "acc", "dialog", "dlg_attributes", "ctrls", + "lab_ctrl", "ctrl_desc", "iconinfo", "gen_ctrl", "opt_font", + "optional_style_pair", "style", "ctlclass", "dialogex", "dlgex_attribs", + "exctrls", "gen_exctrl", "lab_exctrl", "exctrl_desc", "opt_data", + "helpid", "opt_exfont", "opt_expr", "menu", "menu_body", + "item_definitions", "item_options", "menuex", "menuex_body", + "itemex_definitions", "itemex_options", "itemex_p_options", + "stringtable", "stt_head", "strings", "opt_comma", "versioninfo", + "fix_version", "ver_blocks", "ver_block", "ver_values", "ver_value", + "ver_words", "toolbar", "toolbar_items", "loadmemopts", "lamo", "lama", + "opt_lvc", "opt_language", "opt_characts", "opt_version", "raw_data", "raw_elements", "file_raw", "e_expr", "expr", "xpr_no_not", "xpr", "any_num", 0 }; @@ -922,40 +927,40 @@ static const unsigned short yytoknum[] = 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 124, 94, 38, 43, 45, 42, 47, - 126, 338, 339, 44, 40, 41 + 335, 336, 337, 338, 124, 94, 38, 43, 45, 42, + 47, 126, 339, 340, 44, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 96, 97, 98, 98, 98, 99, 99, 99, 100, - 99, 101, 102, 102, 103, 103, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 105, 105, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 115, 116, 117, 117, 117, - 118, 118, 119, 119, 120, 120, 120, 120, 120, 120, - 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 124, 125, 126, 126, 126, 126, 127, 127, 128, 129, - 129, 129, 130, 130, 130, 130, 131, 131, 132, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, - 135, 136, 137, 138, 138, 139, 139, 140, 141, 141, - 142, 143, 144, 144, 144, 144, 145, 145, 145, 145, - 145, 145, 145, 146, 147, 148, 148, 148, 148, 149, - 149, 149, 149, 150, 150, 150, 150, 150, 151, 152, - 153, 153, 154, 154, 155, 156, 156, 156, 156, 156, - 156, 156, 156, 157, 157, 158, 159, 159, 160, 160, - 160, 161, 161, 162, 163, 163, 163, 164, 164, 164, - 165, 165, 165, 165, 166, 166, 166, 167, 167, 167, - 167, 168, 169, 170, 171, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 173, 173, 174, - 174, 175, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 177, 177, 178, 178 + 0, 97, 98, 99, 99, 99, 100, 100, 100, 101, + 100, 102, 103, 103, 104, 104, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 106, 106, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 117, 118, 119, + 119, 119, 120, 120, 121, 121, 122, 122, 122, 122, + 122, 122, 123, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 126, 127, 128, 128, 128, 128, 129, 129, + 130, 131, 131, 131, 132, 132, 132, 132, 133, 133, + 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 137, 137, 138, 139, 140, 140, 141, 141, 142, + 143, 143, 144, 145, 146, 146, 146, 146, 147, 147, + 147, 147, 147, 147, 147, 148, 149, 150, 150, 150, + 150, 151, 151, 151, 151, 152, 152, 152, 152, 152, + 153, 154, 155, 155, 156, 156, 157, 158, 158, 158, + 158, 158, 158, 158, 158, 159, 159, 160, 161, 161, + 162, 162, 162, 163, 163, 164, 165, 165, 165, 166, + 166, 166, 167, 167, 167, 167, 168, 168, 168, 169, + 169, 169, 169, 170, 171, 172, 173, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, + 175, 176, 176, 177, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 179, 179, 180, 180 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -964,29 +969,29 @@ static const unsigned char yyr2[] = 0, 2, 1, 0, 2, 2, 3, 3, 1, 0, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 1, 1, 6, 0, 5, 5, - 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, - 13, 0, 3, 3, 3, 2, 3, 3, 2, 2, - 2, 0, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 10, - 12, 10, 0, 4, 6, 8, 17, 15, 4, 0, - 2, 4, 3, 3, 1, 2, 1, 1, 14, 0, - 3, 3, 3, 2, 2, 3, 3, 2, 2, 2, - 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 10, 19, - 16, 14, 12, 0, 1, 0, 2, 9, 0, 2, - 4, 3, 0, 6, 3, 5, 0, 3, 3, 3, - 3, 3, 3, 4, 3, 0, 4, 3, 5, 0, - 2, 5, 6, 0, 2, 4, 6, 8, 4, 3, - 0, 4, 0, 1, 6, 0, 9, 9, 3, 3, - 3, 3, 3, 0, 2, 5, 0, 2, 1, 4, - 4, 1, 3, 9, 0, 3, 2, 0, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, - 2, 4, 2, 2, 4, 1, 1, 2, 1, 2, - 1, 3, 3, 4, 3, 4, 3, 1, 1, 0, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 3, 1, 1, 2, 1, 1 + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 1, 6, 0, + 5, 5, 0, 2, 1, 3, 1, 1, 1, 1, + 1, 1, 13, 0, 3, 3, 3, 2, 3, 3, + 2, 2, 2, 0, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 10, 12, 10, 0, 4, 6, 8, 17, 15, + 4, 0, 2, 4, 3, 3, 1, 2, 1, 1, + 14, 0, 3, 3, 3, 2, 2, 3, 3, 2, + 2, 2, 0, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 10, 19, 16, 14, 12, 0, 1, 0, 2, 9, + 0, 2, 4, 3, 0, 6, 3, 5, 0, 3, + 3, 3, 3, 3, 3, 4, 3, 0, 4, 3, + 5, 0, 2, 5, 6, 0, 2, 4, 6, 8, + 4, 3, 0, 4, 0, 1, 6, 0, 9, 9, + 3, 3, 3, 3, 3, 0, 2, 5, 0, 2, + 1, 4, 4, 1, 3, 9, 0, 3, 2, 0, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, + 2, 2, 2, 4, 2, 2, 4, 1, 1, 2, + 1, 2, 1, 3, 3, 4, 3, 4, 3, 1, + 1, 0, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 3, 1, 1, 2, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -994,382 +999,378 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned short yydefact[] = { - 3, 0, 2, 1, 5, 256, 257, 11, 207, 9, - 0, 0, 0, 0, 0, 4, 8, 0, 11, 254, - 241, 253, 0, 217, 0, 251, 250, 249, 255, 0, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 45, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 7, 17, 18, 24, - 22, 23, 27, 28, 21, 30, 207, 16, 19, 20, - 25, 26, 31, 29, 213, 216, 212, 214, 210, 215, - 211, 208, 209, 179, 0, 252, 0, 6, 244, 248, - 245, 242, 243, 246, 247, 217, 217, 217, 0, 0, - 217, 217, 217, 217, 185, 217, 217, 217, 0, 217, - 217, 0, 0, 0, 218, 219, 220, 0, 178, 182, - 0, 34, 33, 32, 237, 0, 238, 35, 36, 0, - 0, 0, 0, 40, 41, 0, 38, 39, 37, 0, - 42, 43, 222, 223, 0, 10, 183, 0, 47, 0, - 0, 0, 152, 150, 165, 163, 0, 0, 0, 0, - 0, 0, 0, 193, 0, 0, 181, 0, 226, 228, - 230, 225, 0, 182, 0, 0, 0, 0, 0, 0, - 189, 190, 191, 188, 192, 0, 217, 221, 0, 46, - 0, 227, 229, 224, 0, 0, 0, 0, 0, 151, - 0, 0, 164, 0, 0, 0, 184, 194, 0, 0, - 0, 232, 234, 236, 231, 0, 0, 0, 182, 154, - 182, 169, 167, 173, 0, 0, 0, 204, 50, 50, - 233, 235, 0, 0, 0, 0, 0, 239, 166, 239, - 0, 0, 0, 196, 0, 0, 48, 49, 61, 145, - 182, 155, 182, 182, 182, 182, 182, 182, 0, 170, - 0, 174, 168, 0, 0, 0, 206, 0, 203, 56, - 55, 57, 58, 59, 54, 51, 52, 0, 0, 109, - 153, 158, 157, 160, 161, 162, 159, 239, 239, 0, - 0, 0, 195, 198, 197, 205, 0, 0, 0, 0, - 0, 0, 0, 71, 65, 68, 69, 70, 146, 0, - 182, 240, 0, 175, 186, 187, 0, 53, 13, 67, - 12, 0, 15, 14, 66, 64, 0, 0, 63, 104, - 0, 62, 0, 0, 0, 0, 0, 0, 0, 120, - 113, 114, 117, 118, 119, 183, 171, 239, 0, 0, - 105, 253, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 2, 1, 5, 258, 259, 11, 209, 9, + 0, 0, 0, 0, 0, 4, 8, 0, 11, 256, + 243, 255, 0, 219, 0, 253, 252, 251, 257, 0, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 47, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 7, 17, 18, + 24, 22, 23, 27, 28, 29, 21, 31, 209, 16, + 19, 20, 25, 26, 32, 30, 215, 218, 214, 216, + 212, 217, 213, 210, 211, 181, 0, 254, 0, 6, + 246, 250, 247, 244, 245, 248, 249, 219, 219, 219, + 0, 0, 219, 219, 219, 219, 187, 219, 219, 219, + 219, 0, 219, 219, 0, 0, 0, 220, 221, 222, + 0, 180, 184, 0, 35, 34, 33, 239, 0, 240, + 36, 37, 0, 0, 0, 0, 41, 43, 0, 39, + 40, 38, 42, 0, 44, 45, 224, 225, 0, 10, + 185, 0, 49, 0, 0, 0, 154, 152, 167, 165, + 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, + 183, 0, 228, 230, 232, 227, 0, 184, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 190, 194, 0, + 219, 223, 0, 48, 0, 229, 231, 226, 0, 0, + 0, 0, 0, 153, 0, 0, 166, 0, 0, 0, + 186, 196, 0, 0, 0, 234, 236, 238, 233, 0, + 0, 0, 184, 156, 184, 171, 169, 175, 0, 0, + 0, 206, 52, 52, 235, 237, 0, 0, 0, 0, + 0, 241, 168, 241, 0, 0, 0, 198, 0, 0, + 50, 51, 63, 147, 184, 157, 184, 184, 184, 184, + 184, 184, 0, 172, 0, 176, 170, 0, 0, 0, + 208, 0, 205, 58, 57, 59, 60, 61, 56, 53, + 54, 0, 0, 111, 155, 160, 159, 162, 163, 164, + 161, 241, 241, 0, 0, 0, 197, 200, 199, 207, + 0, 0, 0, 0, 0, 0, 0, 73, 67, 70, + 71, 72, 148, 0, 184, 242, 0, 177, 188, 189, + 0, 55, 13, 69, 12, 0, 15, 14, 68, 66, + 0, 0, 65, 106, 0, 64, 0, 0, 0, 0, + 0, 0, 0, 122, 115, 116, 119, 120, 121, 185, + 173, 241, 0, 0, 107, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 60, 116, 0, 115, 112, 111, 110, 0, - 172, 0, 176, 199, 200, 201, 98, 103, 102, 182, - 182, 82, 84, 85, 77, 78, 80, 81, 83, 79, - 75, 0, 74, 76, 182, 72, 73, 88, 87, 86, + 0, 0, 0, 0, 0, 0, 62, 118, 0, 117, + 114, 113, 112, 0, 174, 0, 178, 201, 202, 203, + 100, 105, 104, 184, 184, 84, 86, 87, 79, 80, + 82, 83, 85, 81, 77, 0, 76, 78, 184, 74, + 75, 90, 89, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 0, 0, 0, 0, 0, 0, 98, 182, 182, 131, - 133, 134, 126, 127, 129, 130, 132, 128, 124, 0, - 123, 125, 182, 121, 122, 137, 136, 135, 177, 202, + 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, + 100, 184, 184, 133, 135, 136, 128, 129, 131, 132, + 134, 130, 126, 0, 125, 127, 184, 123, 124, 139, + 138, 137, 179, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 0, 106, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 148, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 147, 0, 0, 0, 0, 0, 89, - 0, 0, 0, 149, 92, 0, 0, 0, 0, 0, - 99, 0, 138, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 99, 0, 93, 99, 100, 0, 0, 145, - 0, 0, 90, 0, 0, 99, 143, 0, 94, 101, - 0, 145, 142, 144, 0, 0, 0, 143, 0, 95, - 97, 141, 0, 0, 143, 96, 0, 140, 145, 143, - 139 + 0, 0, 0, 0, 0, 109, 0, 108, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 149, 0, 0, + 0, 0, 0, 91, 0, 0, 0, 151, 94, 0, + 0, 0, 0, 0, 101, 0, 140, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 101, 0, 95, 101, + 102, 0, 0, 147, 0, 0, 92, 0, 0, 101, + 145, 0, 96, 103, 0, 147, 144, 146, 0, 0, + 0, 145, 0, 97, 99, 143, 0, 0, 145, 98, + 0, 142, 147, 145, 141 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { - -1, 1, 2, 15, 24, 22, 323, 324, 56, 124, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 167, 246, 275, 276, 68, 277, 332, 391, 400, - 509, 405, 304, 529, 328, 482, 69, 309, 379, 453, - 439, 448, 552, 279, 341, 503, 70, 153, 176, 235, - 71, 155, 177, 238, 240, 16, 17, 86, 236, 72, - 135, 185, 207, 265, 294, 384, 73, 244, 23, 81, - 82, 125, 114, 115, 116, 126, 173, 127, 258, 320, - 19, 20, 21 + -1, 1, 2, 15, 24, 22, 327, 328, 57, 127, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 171, 250, 279, 280, 70, 281, 336, 395, + 404, 513, 409, 308, 533, 332, 486, 71, 313, 383, + 457, 443, 452, 556, 283, 345, 507, 72, 157, 180, + 239, 73, 159, 181, 242, 244, 16, 17, 88, 240, + 74, 138, 189, 211, 269, 298, 388, 75, 248, 23, + 83, 84, 128, 117, 118, 119, 129, 177, 130, 262, + 324, 19, 20, 21 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -487 +#define YYPACT_NINF -472 static const short yypact[] = { - -487, 6, 43, -487, -487, -487, -487, -487, -487, -487, - 30, 30, 30, 215, 30, -487, -487, -60, -487, -487, - 636, -487, 434, 675, 30, -487, -487, -487, -487, 623, - -487, 434, 30, 30, 30, 30, 30, 30, 30, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, -487, -487, 310, -62, -487, 131, -487, 563, 195, - 232, 213, 213, -487, -487, 675, 533, 533, 87, 87, - 675, 675, 533, 533, 675, 533, 533, 533, 87, 533, - 533, 30, 30, 30, -487, -487, -487, 30, -487, -48, - 136, -487, -487, -487, -487, 163, -487, -487, -487, -44, - -25, 199, 231, -487, -487, 410, -487, -487, -487, -3, - -487, -487, -487, -487, 5, -487, -487, 67, -487, 21, - 30, 30, -487, -487, -487, -487, 30, 30, 30, 30, - 30, 30, 30, -487, 30, 30, -487, 89, -487, -487, - -487, -487, 334, -19, 26, 32, 259, 284, 34, 38, - -487, -487, -487, -487, -487, -24, -487, -487, 57, -487, - 68, -487, -487, -487, 60, 30, 30, -4, 161, -487, - 3, 176, -487, 30, 30, 191, -487, -487, 308, 30, - 30, -487, -487, -487, -487, 356, 113, 116, -48, -487, - -70, 118, -487, 135, 140, 143, 144, -487, 145, 145, - -487, -487, 30, 30, 30, 168, 278, 30, -487, 30, - 173, 30, 30, -487, 47, 512, -487, -487, -487, 167, - 171, -487, 71, 71, 71, 71, 71, 71, 185, 200, - 210, 200, -487, 217, 220, -29, -487, 30, -487, -487, - -487, -487, -487, -487, -487, 243, -487, 354, 30, -487, - -487, -487, -487, -487, -487, -487, -487, 30, 30, 30, - 30, 251, -487, -487, -487, -487, 512, 164, 30, 293, - 318, 312, 312, -487, -487, -487, -487, -487, -487, 514, - 254, -487, 261, 200, -487, -487, 274, -487, -487, -487, - -487, 283, -487, -487, -487, -487, 30, 312, 294, 649, - 636, 294, 572, 164, 30, 293, 338, 312, 312, -487, - -487, -487, -487, -487, -487, 30, -487, 30, 262, 372, - 649, -487, 17, 312, 293, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 30, 30, 30, 293, 30, 375, - 375, 375, -487, -487, 289, -487, -487, 294, 294, 590, - -487, 292, 200, -487, 298, -487, -487, -487, -487, -48, - -48, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, 299, -487, -487, -48, -487, -487, -487, -487, -487, - 380, 293, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 30, 30, 30, 293, 30, 389, 389, 389, -487, - 30, 30, 30, 30, 30, 30, 307, -48, -48, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, 316, - -487, -487, -48, -487, -487, -487, -487, -487, -487, -487, - 317, 329, 332, 333, 30, 30, 30, 30, 30, 30, - 30, 30, 303, 342, 347, 349, 350, 361, 365, 366, - 367, -487, 368, -487, 30, 30, 30, 30, 303, 30, - 30, 30, 312, 378, 379, 381, 398, 399, 400, 401, - 402, -72, 30, -487, 30, 30, 30, 312, 30, -487, - 30, 30, 30, -487, 400, 404, 405, -16, 406, 408, - 412, 414, -487, 30, 30, 30, 30, 30, 312, -487, - 30, 420, 412, 421, 422, 412, 39, 424, 30, 167, - 30, 312, -487, 312, 30, 412, 344, 425, 112, 294, - 426, 167, -487, -487, 30, 312, 30, 344, 427, 294, - 433, -487, 30, 312, 25, 294, 312, -487, 121, 344, - -487 + -472, 17, 1, -472, -472, -472, -472, -472, -472, -472, + 86, 86, 86, 140, 86, -472, -472, -55, -472, -472, + 610, -472, 376, 649, 86, -472, -472, -472, -472, 597, + -472, 376, 86, 86, 86, 86, 86, 86, 86, -472, + -472, -472, -472, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, -472, -472, 268, 21, -472, 59, -472, + 480, 409, 327, -78, -78, -472, -472, 649, 395, 395, + 48, 48, 649, 649, 395, 395, 649, 395, 395, 395, + 395, 48, 395, 395, 86, 86, 86, -472, -472, -472, + 86, -472, 44, 67, -472, -472, -472, -472, 156, -472, + -472, -472, 55, 62, 240, 247, -472, -472, 413, -472, + -472, -472, -472, 71, -472, -472, -472, -472, 78, -472, + -472, 68, -472, 187, 86, 86, -472, -472, -472, -472, + 86, 86, 86, 86, 86, 86, 86, -472, 86, 86, + -472, 29, -472, -472, -472, -472, 183, -21, 82, 85, + 249, 262, 108, 114, -472, -472, -472, -472, -472, 12, + -472, -472, 128, -472, 137, -472, -472, -472, 195, 86, + 86, 3, 117, -472, 7, 236, -472, 86, 86, 243, + -472, -472, 278, 86, 86, -472, -472, -472, -472, 282, + 159, 160, 44, -472, -71, 168, -472, 174, 188, 203, + 191, -472, 220, 220, -472, -472, 86, 86, 86, 241, + 178, 86, -472, 86, 259, 86, 86, -472, -10, 472, + -472, -472, -472, 223, 182, -472, 364, 364, 364, 364, + 364, 364, 254, 264, 266, 264, -472, 270, 271, 15, + -472, 86, -472, -472, -472, -472, -472, -472, -472, 281, + -472, 292, 86, -472, -472, -472, -472, -472, -472, -472, + -472, 86, 86, 86, 86, 324, -472, -472, -472, -472, + 472, 211, 86, 179, 356, 228, 228, -472, -472, -472, + -472, -472, -472, 348, 381, -472, 285, 264, -472, -472, + 302, -472, -472, -472, -472, 310, -472, -472, -472, -472, + 86, 228, 300, 623, 610, 300, 550, 211, 86, 179, + 370, 228, 228, -472, -472, -472, -472, -472, -472, 86, + -472, 86, 42, 399, 623, -472, -15, 228, 179, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 86, 86, + 86, 179, 86, 400, 400, 400, -472, -472, 325, -472, + -472, 300, 300, 569, -472, 326, 264, -472, 332, -472, + -472, -472, -472, 44, 44, -472, -472, -472, -472, -472, + -472, -472, -472, -472, -472, 334, -472, -472, 44, -472, + -472, -472, -472, -472, 424, 179, 425, 425, 425, 425, + 425, 425, 425, 425, 425, 86, 86, 86, 179, 86, + 425, 425, 425, -472, 86, 86, 86, 86, 86, 86, + 347, 44, 44, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, 349, -472, -472, 44, -472, -472, -472, + -472, -472, -472, -472, 350, 360, 366, 371, 86, 86, + 86, 86, 86, 86, 86, 86, 290, 382, 383, 384, + 407, 408, 411, 417, 426, -472, 427, -472, 86, 86, + 86, 86, 290, 86, 86, 86, 228, 428, 430, 436, + 437, 439, 440, 441, 443, 125, 86, -472, 86, 86, + 86, 228, 86, -472, 86, 86, 86, -472, 440, 444, + 445, 129, 447, 449, 450, 451, -472, 86, 86, 86, + 86, 86, 228, -472, 86, 453, 450, 454, 456, 450, + 146, 458, 86, 223, 86, 228, -472, 228, 86, 450, + 357, 459, 154, 300, 460, 223, -472, -472, 86, 228, + 86, 357, 461, 300, 463, -472, 86, 228, 61, 300, + 228, -472, 161, 357, -472 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { - -487, -487, -487, -487, -487, 383, -278, -182, 374, -487, - -487, -487, -487, -487, -487, -487, -487, -487, -487, -487, - -487, -487, 182, -487, 100, -487, -487, -487, 304, -95, - -87, -487, 218, -431, -251, -15, -487, -487, -487, -487, - 263, 14, -486, -469, -487, -487, -487, 295, -487, -66, - -487, 291, -487, -487, -487, -487, -487, -487, -115, -487, - -487, -487, 268, -487, -487, -487, -487, -487, 591, -487, - -487, -20, -253, -249, -248, -354, -487, 595, -234, -2, - -294, 4, -12 + -472, -472, -472, -472, -472, 485, -258, -168, 528, -472, + -472, -472, -472, -472, -472, -472, -472, -472, -472, -472, + -472, -472, -472, 209, -472, 260, -472, -472, -472, 279, + 2, 43, -472, 280, -471, -282, 70, -472, -472, -472, + -472, 238, 35, -379, -348, -472, -472, -472, 333, -472, + -229, -472, 385, -472, -472, -472, -472, -472, -472, -115, + -472, -472, -472, 358, -472, -472, -472, -472, -472, 570, + -472, -472, -20, -205, -194, -186, -393, -472, 567, -241, + -2, -286, 4, -12 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -255 +#define YYTABLE_NINF -257 static const short yytable[] = { - 18, 28, 218, 83, 147, 260, 3, 329, 329, 221, - -156, 353, 205, 291, 25, 26, 27, 205, 29, 319, - 30, 512, 84, 146, 305, 168, 169, 170, 306, 307, - 171, 117, 350, 329, 5, 6, 88, 89, 90, 91, - 92, 93, 94, 329, 329, 146, 4, 5, 6, 150, - 7, 331, 292, 310, 312, 373, 342, 206, 194, 329, - 343, 344, 193, 8, 211, 212, 213, 353, 151, 214, - 546, 561, 219, 166, 146, 120, 352, 525, 567, 222, - 131, 132, 557, 570, 119, -217, 377, 378, -217, -217, - 164, 5, 6, 5, 6, 188, 129, 130, 165, 569, - 353, 539, 388, 234, 542, -217, 139, 9, 172, 142, - 143, 144, 387, 381, 551, 145, 10, 11, 566, 195, - 12, 13, 353, 266, 14, 196, 267, 203, 268, 10, - 11, 204, 543, 12, 13, 5, 6, 14, 74, 75, - 76, 77, 78, 79, 80, -156, -156, 215, 174, 175, - 209, -156, -156, 375, 178, 179, 180, 181, 182, 183, - 184, 210, 186, 187, 146, 190, 208, 220, 5, 6, - 189, 318, 389, 10, 11, 10, 11, 12, 13, 12, - 13, 14, 223, 14, 280, 404, 281, 282, 283, 284, - 285, 286, 553, 216, 217, 353, 111, 226, 329, 112, - 113, 224, 225, 553, 353, 555, 232, 228, 229, 233, - 553, 237, 118, 329, 278, 553, 148, 10, 11, 5, - 6, 12, 13, 111, 243, 14, 112, 113, 239, 437, - 248, 249, 250, 241, 329, 259, 242, 261, 245, 263, - 264, 501, 452, 149, 346, -156, -156, 329, 152, 329, - 10, 11, -156, 154, 12, 13, 517, 316, 14, 111, - 278, 329, 112, 113, 146, 295, 5, 6, 383, 329, - 402, 403, 329, 406, 432, 433, 308, 536, 287, 152, - 34, 35, 36, 37, 38, 311, 313, 314, 315, 435, - 548, 111, 549, -240, 112, 113, 321, 5, 6, 322, - 318, 37, 38, 288, 559, 330, 330, 5, 6, 481, - 289, 154, 565, 290, 351, 568, 5, 6, 35, 36, - 37, 38, 465, 466, 325, 252, 253, 254, -156, -156, - 330, 29, 374, 197, 198, -156, 296, 468, 191, 192, - 199, 330, 330, 380, 376, 382, 385, 345, 10, 11, - 255, 256, 12, 13, 347, 257, 14, 330, 200, 201, - 230, 231, 401, 401, 401, 202, 401, 348, 111, 297, - 111, 112, 113, 112, 113, 298, 349, 353, 386, 10, - 11, 390, 410, 12, 13, 430, 436, 14, 227, 10, - 11, 431, 434, 12, 13, 438, 317, 14, 10, 11, - 464, 31, 12, 326, -217, 87, 327, -217, -217, 467, - 469, 247, 299, 300, 111, 301, 302, 112, 113, 449, - 449, 449, 470, 449, -217, 471, 472, 522, 458, 459, - 460, 461, 462, 463, 303, 484, 450, 451, 39, 454, - 485, 40, 486, 487, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 488, 51, 52, 53, 489, 490, - 491, 492, 473, 474, 475, 476, 477, 478, 479, 480, - 483, 502, 504, 497, 505, 156, 157, 158, 159, 160, - 161, 162, 493, 494, 495, 496, 483, 498, 499, 500, - 163, 506, 507, 508, 510, 511, 330, 523, 524, 526, - 513, 527, 514, 515, 516, 528, 518, 530, 519, 520, - 521, 330, 54, 538, 540, 541, 55, 544, 554, 556, - 562, 531, 532, 533, 534, 535, 563, 340, 537, 333, - 251, 262, 330, 293, 0, 334, 545, 0, 547, 121, - 122, 123, 550, 0, 0, 330, 0, 330, 269, 0, - 0, 0, 558, 0, 560, 270, 271, 272, 273, 330, - 564, 0, 274, 0, 0, 0, 0, 330, 0, 0, - 330, 0, 335, 336, 111, 337, 338, 112, 113, 0, - 0, 0, 0, 0, 74, 75, 76, 77, 78, 79, - 80, 0, 0, 0, 339, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 0, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 33, 34, 35, - 36, 37, 38, 372, 0, 0, 0, 110, 0, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 0, 0, - 0, 429, 0, 407, 408, 409, 440, 441, 442, 443, - 444, 445, 446, 447, 0, 0, 0, 0, 0, 455, - 456, 457, 128, 0, 0, 0, 0, 133, 134, 0, - 136, 137, 138, 0, 140, 141, 32, 33, 34, 35, - 36, 37, 38, 0, 0, 0, 0, 0, 85, 32, - 33, 34, 35, 36, 37, 38, 74, 75, 76, 77, - 78, 79, 80, -254, -254, -254, -254, -254, -254 + 18, 28, 264, 85, 4, 5, 6, 151, 7, 222, + -158, 37, 38, 225, 25, 26, 27, 3, 29, 333, + 333, 8, 86, 150, 335, 284, 30, 285, 286, 287, + 288, 289, 290, 5, 6, 192, 90, 91, 92, 93, + 94, 95, 96, 323, 354, 333, 5, 6, 387, 356, + 314, 316, 5, 6, 209, 333, 333, 209, 295, 381, + 382, 197, 198, 5, 6, 543, 9, 270, 546, 357, + 271, 333, 272, 150, 170, 392, 309, 123, 555, 377, + 223, 391, 134, 135, 226, 350, 122, 310, 10, 11, + 5, 6, 12, 13, 210, 311, 14, 296, 132, 133, + 76, 77, 78, 79, 80, 81, 82, 238, 346, 143, + 385, 193, 146, 147, 148, 120, 10, 11, 149, 347, + 12, 13, -219, 224, 14, -219, -219, 348, 114, 10, + 11, 115, 116, 12, 13, 10, 11, 14, 150, 12, + 13, 121, -219, 14, 5, 6, 10, 11, 152, 154, + 12, 13, 178, 179, 14, 570, 155, 557, 182, 183, + 184, 185, 186, 187, 188, 168, 190, 191, 557, 194, + 212, 379, 169, 10, 11, 557, 199, 12, 13, 200, + 557, 14, 565, 5, 6, 326, 322, 195, 196, 571, + 393, 172, 173, 174, 574, 550, 175, 220, 221, 215, + 216, 217, 207, 408, 218, 228, 229, 561, 208, 357, + 333, 232, 233, 357, 505, 5, 6, 114, 322, 516, + 115, 116, 213, 529, 573, 333, 256, 257, 258, 521, + 357, 214, 5, 6, 252, 253, 254, 153, 357, 263, + 547, 265, 227, 267, 268, 357, 333, 441, 559, 230, + 540, 259, 260, 236, 237, 282, 261, -158, -158, 333, + 456, 333, 241, 552, -158, 553, 10, 11, 243, 299, + 12, 13, 247, 333, 14, 176, 150, 563, 436, 437, + 312, 333, 245, 219, 333, 569, 234, 235, 572, 315, + 317, 318, 319, 439, 5, 6, 485, 246, 10, 11, + 325, 114, 12, 13, 115, 116, 14, 301, 114, 334, + 334, 115, 116, 302, 249, 10, 11, 282, 355, 12, + 330, 156, 156, 331, 201, 202, 469, 470, 158, 114, + 320, 203, 115, 116, 334, 29, 378, 204, 205, 114, + 158, 472, 115, 116, 206, 334, 334, 384, 291, 386, + 389, 303, 304, 114, 305, 306, 115, 116, -242, 231, + 292, 334, 329, 337, 293, 294, 405, 405, 405, 338, + 405, 406, 407, 307, 410, 300, 380, 10, 11, 351, + 39, 12, 13, 40, 357, 14, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 352, 51, 52, 53, + 54, 124, 125, 126, 353, 390, 394, 339, 340, 114, + 341, 342, 115, 116, 35, 36, 37, 38, -219, 414, + 434, -219, -219, 453, 453, 453, 435, 453, 438, 343, + 440, 442, 462, 463, 464, 465, 466, 467, -219, -158, + -158, 468, 251, 471, 473, -158, -158, 76, 77, 78, + 79, 80, 81, 82, 474, 55, -158, -158, 150, 56, + 475, 454, 455, -158, 458, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 487, 349, 488, 489, 490, 160, + 161, 162, 163, 164, 165, 166, 497, 498, 499, 500, + 487, 502, 503, 504, 167, 34, 35, 36, 37, 38, + 334, 491, 492, 31, 517, 493, 518, 519, 520, 273, + 522, 494, 523, 524, 525, 334, 274, 275, 276, 277, + 495, 496, 506, 278, 508, 535, 536, 537, 538, 539, + 509, 510, 541, 511, 512, 514, 334, 515, 527, 528, + 549, 530, 551, 531, 532, 534, 554, 542, 544, 334, + 545, 334, 548, 558, 560, 566, 562, 567, 564, 89, + 321, 526, 501, 334, 568, 33, 34, 35, 36, 37, + 38, 334, 255, 358, 334, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 415, 344, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 297, 0, 266, + 0, 0, 376, 0, 0, 0, 0, 0, 113, 396, + 397, 398, 399, 400, 401, 402, 403, 0, 0, 0, + 0, 433, 411, 412, 413, 444, 445, 446, 447, 448, + 449, 450, 451, 0, 0, 0, 131, 0, 459, 460, + 461, 136, 137, 0, 139, 140, 141, 142, 0, 144, + 145, 32, 33, 34, 35, 36, 37, 38, 0, 0, + 0, 0, 0, 87, 32, 33, 34, 35, 36, 37, + 38, 76, 77, 78, 79, 80, 81, 82, -256, -256, + -256, -256, -256, -256 }; static const short yycheck[] = { - 2, 13, 6, 23, 119, 239, 0, 301, 302, 6, - 80, 83, 41, 42, 10, 11, 12, 41, 14, 297, - 80, 93, 24, 93, 277, 4, 5, 6, 277, 277, - 9, 93, 326, 327, 4, 5, 32, 33, 34, 35, - 36, 37, 38, 337, 338, 93, 3, 4, 5, 93, - 7, 302, 81, 287, 288, 333, 309, 81, 173, 353, - 309, 309, 81, 20, 4, 5, 6, 83, 93, 9, - 539, 557, 76, 6, 93, 95, 327, 93, 564, 76, - 100, 101, 551, 569, 86, 60, 337, 338, 63, 64, - 93, 4, 5, 4, 5, 6, 98, 99, 93, 568, - 83, 532, 353, 218, 535, 80, 108, 64, 87, 111, - 112, 113, 95, 347, 545, 117, 86, 87, 93, 93, - 90, 91, 83, 76, 94, 93, 79, 93, 81, 86, - 87, 93, 93, 90, 91, 4, 5, 94, 51, 52, - 53, 54, 55, 56, 57, 74, 75, 87, 150, 151, - 93, 80, 81, 335, 156, 157, 158, 159, 160, 161, - 162, 93, 164, 165, 93, 167, 186, 6, 4, 5, - 81, 7, 354, 86, 87, 86, 87, 90, 91, 90, - 91, 94, 6, 94, 250, 367, 252, 253, 254, 255, - 256, 257, 546, 195, 196, 83, 60, 6, 492, 63, - 64, 203, 204, 557, 83, 93, 93, 209, 210, 93, - 564, 93, 81, 507, 93, 569, 80, 86, 87, 4, - 5, 90, 91, 60, 80, 94, 63, 64, 93, 411, - 232, 233, 234, 93, 528, 237, 93, 239, 93, 241, - 242, 492, 424, 80, 310, 74, 75, 541, 80, 543, - 86, 87, 81, 80, 90, 91, 507, 6, 94, 60, - 93, 555, 63, 64, 93, 267, 4, 5, 6, 563, - 365, 366, 566, 368, 389, 390, 278, 528, 93, 80, - 85, 86, 87, 88, 89, 287, 288, 289, 290, 404, - 541, 60, 543, 93, 63, 64, 298, 4, 5, 6, - 7, 88, 89, 93, 555, 301, 302, 4, 5, 6, - 93, 80, 563, 93, 326, 566, 4, 5, 86, 87, - 88, 89, 437, 438, 6, 47, 48, 49, 74, 75, - 326, 327, 334, 74, 75, 81, 93, 452, 4, 5, - 81, 337, 338, 345, 6, 347, 348, 93, 86, 87, - 72, 73, 90, 91, 93, 77, 94, 353, 74, 75, - 4, 5, 364, 365, 366, 81, 368, 93, 60, 15, - 60, 63, 64, 63, 64, 21, 93, 83, 6, 86, - 87, 6, 93, 90, 91, 93, 6, 94, 80, 86, - 87, 93, 93, 90, 91, 6, 296, 94, 86, 87, - 93, 18, 90, 91, 60, 31, 94, 63, 64, 93, - 93, 229, 58, 59, 60, 61, 62, 63, 64, 421, - 422, 423, 93, 425, 80, 93, 93, 514, 430, 431, - 432, 433, 434, 435, 80, 93, 422, 423, 4, 425, - 93, 7, 93, 93, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 93, 21, 22, 23, 93, 93, - 93, 93, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 93, 93, 488, 93, 65, 66, 67, 68, 69, - 70, 71, 484, 485, 486, 487, 488, 489, 490, 491, - 80, 93, 93, 93, 93, 93, 492, 93, 93, 93, - 502, 93, 504, 505, 506, 93, 508, 93, 510, 511, - 512, 507, 78, 93, 93, 93, 82, 93, 93, 93, - 93, 523, 524, 525, 526, 527, 93, 309, 530, 15, - 235, 240, 528, 265, -1, 21, 538, -1, 540, 6, - 7, 8, 544, -1, -1, 541, -1, 543, 36, -1, - -1, -1, 554, -1, 556, 43, 44, 45, 46, 555, - 562, -1, 50, -1, -1, -1, -1, 563, -1, -1, - 566, -1, 58, 59, 60, 61, 62, 63, 64, -1, - -1, -1, -1, -1, 51, 52, 53, 54, 55, 56, - 57, -1, -1, -1, 80, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 23, 24, 25, 26, 27, 28, 29, + 2, 13, 243, 23, 3, 4, 5, 122, 7, 6, + 81, 89, 90, 6, 10, 11, 12, 0, 14, 305, + 306, 20, 24, 94, 306, 254, 81, 256, 257, 258, + 259, 260, 261, 4, 5, 6, 32, 33, 34, 35, + 36, 37, 38, 301, 330, 331, 4, 5, 6, 331, + 291, 292, 4, 5, 42, 341, 342, 42, 43, 341, + 342, 82, 177, 4, 5, 536, 65, 77, 539, 84, + 80, 357, 82, 94, 6, 357, 281, 97, 549, 337, + 77, 96, 102, 103, 77, 314, 88, 281, 87, 88, + 4, 5, 91, 92, 82, 281, 95, 82, 100, 101, + 52, 53, 54, 55, 56, 57, 58, 222, 313, 111, + 351, 82, 114, 115, 116, 94, 87, 88, 120, 313, + 91, 92, 61, 6, 95, 64, 65, 313, 61, 87, + 88, 64, 65, 91, 92, 87, 88, 95, 94, 91, + 92, 82, 81, 95, 4, 5, 87, 88, 81, 94, + 91, 92, 154, 155, 95, 94, 94, 550, 160, 161, + 162, 163, 164, 165, 166, 94, 168, 169, 561, 171, + 190, 339, 94, 87, 88, 568, 94, 91, 92, 94, + 573, 95, 561, 4, 5, 6, 7, 4, 5, 568, + 358, 4, 5, 6, 573, 543, 9, 199, 200, 4, + 5, 6, 94, 371, 9, 207, 208, 555, 94, 84, + 496, 213, 214, 84, 496, 4, 5, 61, 7, 94, + 64, 65, 94, 94, 572, 511, 48, 49, 50, 511, + 84, 94, 4, 5, 236, 237, 238, 81, 84, 241, + 94, 243, 6, 245, 246, 84, 532, 415, 94, 6, + 532, 73, 74, 94, 94, 94, 78, 75, 76, 545, + 428, 547, 94, 545, 82, 547, 87, 88, 94, 271, + 91, 92, 81, 559, 95, 88, 94, 559, 393, 394, + 282, 567, 94, 88, 570, 567, 4, 5, 570, 291, + 292, 293, 294, 408, 4, 5, 6, 94, 87, 88, + 302, 61, 91, 92, 64, 65, 95, 15, 61, 305, + 306, 64, 65, 21, 94, 87, 88, 94, 330, 91, + 92, 81, 81, 95, 75, 76, 441, 442, 81, 61, + 6, 82, 64, 65, 330, 331, 338, 75, 76, 61, + 81, 456, 64, 65, 82, 341, 342, 349, 94, 351, + 352, 59, 60, 61, 62, 63, 64, 65, 94, 81, + 94, 357, 6, 15, 94, 94, 368, 369, 370, 21, + 372, 369, 370, 81, 372, 94, 6, 87, 88, 94, + 4, 91, 92, 7, 84, 95, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 94, 21, 22, 23, + 24, 6, 7, 8, 94, 6, 6, 59, 60, 61, + 62, 63, 64, 65, 87, 88, 89, 90, 61, 94, + 94, 64, 65, 425, 426, 427, 94, 429, 94, 81, + 6, 6, 434, 435, 436, 437, 438, 439, 81, 75, + 76, 94, 233, 94, 94, 81, 82, 52, 53, 54, + 55, 56, 57, 58, 94, 79, 75, 76, 94, 83, + 94, 426, 427, 82, 429, 94, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 94, 94, 94, 94, 66, + 67, 68, 69, 70, 71, 72, 488, 489, 490, 491, + 492, 493, 494, 495, 81, 86, 87, 88, 89, 90, + 496, 94, 94, 18, 506, 94, 508, 509, 510, 37, + 512, 94, 514, 515, 516, 511, 44, 45, 46, 47, + 94, 94, 94, 51, 94, 527, 528, 529, 530, 531, + 94, 94, 534, 94, 94, 94, 532, 94, 94, 94, + 542, 94, 544, 94, 94, 94, 548, 94, 94, 545, + 94, 547, 94, 94, 94, 94, 558, 94, 560, 31, + 300, 518, 492, 559, 566, 85, 86, 87, 88, 89, + 90, 567, 239, 23, 570, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, -1, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 84, 85, 86, - 87, 88, 89, 81, -1, -1, -1, 66, -1, -1, - 356, 357, 358, 359, 360, 361, 362, 363, -1, -1, - -1, 81, -1, 369, 370, 371, 413, 414, 415, 416, - 417, 418, 419, 420, -1, -1, -1, -1, -1, 426, - 427, 428, 97, -1, -1, -1, -1, 102, 103, -1, - 105, 106, 107, -1, 109, 110, 83, 84, 85, 86, - 87, 88, 89, -1, -1, -1, -1, -1, 95, 83, - 84, 85, 86, 87, 88, 89, 51, 52, 53, 54, - 55, 56, 57, 84, 85, 86, 87, 88, 89 + 40, 41, 23, 313, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 269, -1, 244, + -1, -1, 82, -1, -1, -1, -1, -1, 68, 360, + 361, 362, 363, 364, 365, 366, 367, -1, -1, -1, + -1, 82, 373, 374, 375, 417, 418, 419, 420, 421, + 422, 423, 424, -1, -1, -1, 99, -1, 430, 431, + 432, 104, 105, -1, 107, 108, 109, 110, -1, 112, + 113, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, -1, 96, 84, 85, 86, 87, 88, 89, + 90, 52, 53, 54, 55, 56, 57, 58, 85, 86, + 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 97, 98, 0, 3, 4, 5, 7, 20, 64, - 86, 87, 90, 91, 94, 99, 151, 152, 175, 176, - 177, 178, 101, 164, 100, 177, 177, 177, 178, 177, - 80, 101, 83, 84, 85, 86, 87, 88, 89, 4, + 0, 98, 99, 0, 3, 4, 5, 7, 20, 65, + 87, 88, 91, 92, 95, 100, 153, 154, 177, 178, + 179, 180, 102, 166, 101, 179, 179, 179, 180, 179, + 81, 102, 84, 85, 86, 87, 88, 89, 90, 4, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 21, 22, 23, 78, 82, 104, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 121, 132, - 142, 146, 155, 162, 51, 52, 53, 54, 55, 56, - 57, 165, 166, 167, 175, 95, 153, 104, 177, 177, - 177, 177, 177, 177, 177, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 60, 63, 64, 168, 169, 170, 93, 81, 175, - 167, 6, 7, 8, 105, 167, 171, 173, 173, 175, - 175, 167, 167, 173, 173, 156, 173, 173, 173, 175, - 173, 173, 175, 175, 175, 175, 93, 154, 80, 80, - 93, 93, 80, 143, 80, 147, 65, 66, 67, 68, - 69, 70, 71, 80, 93, 93, 6, 117, 4, 5, - 6, 9, 87, 172, 175, 175, 144, 148, 175, 175, - 175, 175, 175, 175, 175, 157, 175, 175, 6, 81, - 175, 4, 5, 81, 154, 93, 93, 74, 75, 81, - 74, 75, 81, 93, 93, 41, 81, 158, 167, 93, - 93, 4, 5, 6, 9, 87, 175, 175, 6, 76, - 6, 6, 76, 6, 175, 175, 6, 80, 175, 175, - 4, 5, 93, 93, 154, 145, 154, 93, 149, 93, - 150, 93, 93, 80, 163, 93, 118, 118, 175, 175, - 175, 143, 47, 48, 49, 72, 73, 77, 174, 175, - 174, 175, 147, 175, 175, 159, 76, 79, 81, 36, - 43, 44, 45, 46, 50, 119, 120, 122, 93, 139, - 145, 145, 145, 145, 145, 145, 145, 93, 93, 93, - 93, 42, 81, 158, 160, 175, 93, 15, 21, 58, - 59, 61, 62, 80, 128, 168, 169, 170, 175, 133, - 174, 175, 174, 175, 175, 175, 6, 120, 7, 102, - 175, 175, 6, 102, 103, 6, 91, 94, 130, 176, - 177, 130, 123, 15, 21, 58, 59, 61, 62, 80, - 128, 140, 168, 169, 170, 93, 145, 93, 93, 93, - 176, 178, 130, 83, 23, 24, 25, 26, 27, 28, + 19, 21, 22, 23, 24, 79, 83, 105, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 123, 134, 144, 148, 157, 164, 52, 53, 54, 55, + 56, 57, 58, 167, 168, 169, 177, 96, 155, 105, + 179, 179, 179, 179, 179, 179, 179, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 61, 64, 65, 170, 171, 172, + 94, 82, 177, 169, 6, 7, 8, 106, 169, 173, + 175, 175, 177, 177, 169, 169, 175, 175, 158, 175, + 175, 175, 175, 177, 175, 175, 177, 177, 177, 177, + 94, 156, 81, 81, 94, 94, 81, 145, 81, 149, + 66, 67, 68, 69, 70, 71, 72, 81, 94, 94, + 6, 119, 4, 5, 6, 9, 88, 174, 177, 177, + 146, 150, 177, 177, 177, 177, 177, 177, 177, 159, + 177, 177, 6, 82, 177, 4, 5, 82, 156, 94, + 94, 75, 76, 82, 75, 76, 82, 94, 94, 42, + 82, 160, 169, 94, 94, 4, 5, 6, 9, 88, + 177, 177, 6, 77, 6, 6, 77, 6, 177, 177, + 6, 81, 177, 177, 4, 5, 94, 94, 156, 147, + 156, 94, 151, 94, 152, 94, 94, 81, 165, 94, + 120, 120, 177, 177, 177, 145, 48, 49, 50, 73, + 74, 78, 176, 177, 176, 177, 149, 177, 177, 161, + 77, 80, 82, 37, 44, 45, 46, 47, 51, 121, + 122, 124, 94, 141, 147, 147, 147, 147, 147, 147, + 147, 94, 94, 94, 94, 43, 82, 160, 162, 177, + 94, 15, 21, 59, 60, 62, 63, 81, 130, 170, + 171, 172, 177, 135, 176, 177, 176, 177, 177, 177, + 6, 122, 7, 103, 177, 177, 6, 103, 104, 6, + 92, 95, 132, 178, 179, 132, 125, 15, 21, 59, + 60, 62, 63, 81, 130, 142, 170, 171, 172, 94, + 147, 94, 94, 94, 178, 180, 132, 84, 23, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 82, 103, 177, 104, + 6, 132, 132, 136, 177, 176, 177, 6, 163, 177, + 6, 96, 132, 104, 6, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 127, 177, 127, 127, 104, 129, + 127, 126, 126, 126, 94, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 81, 102, 175, 103, 6, 130, 130, 134, - 175, 174, 175, 6, 161, 175, 6, 95, 130, 103, - 6, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 125, 175, 125, 125, 103, 127, 125, 124, 124, 124, - 93, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 81, - 93, 93, 154, 154, 93, 154, 6, 103, 6, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 137, 175, - 137, 137, 103, 135, 137, 136, 136, 136, 175, 175, - 175, 175, 175, 175, 93, 154, 154, 93, 154, 93, - 93, 93, 93, 175, 175, 175, 175, 175, 175, 175, - 175, 6, 131, 175, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 175, 175, 175, 175, 131, 175, 175, - 175, 130, 93, 141, 93, 93, 93, 93, 93, 126, - 93, 93, 93, 175, 175, 175, 175, 130, 175, 175, - 175, 175, 126, 93, 93, 93, 93, 93, 93, 129, - 93, 175, 175, 175, 175, 175, 130, 175, 93, 129, - 93, 93, 129, 93, 93, 175, 139, 175, 130, 130, - 175, 129, 138, 171, 93, 93, 93, 139, 175, 130, - 175, 138, 93, 93, 175, 130, 93, 138, 130, 139, - 138 + 39, 40, 41, 82, 94, 94, 156, 156, 94, 156, + 6, 104, 6, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 139, 177, 139, 139, 104, 137, 139, 138, + 138, 138, 177, 177, 177, 177, 177, 177, 94, 156, + 156, 94, 156, 94, 94, 94, 94, 177, 177, 177, + 177, 177, 177, 177, 177, 6, 133, 177, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 177, 177, 177, + 177, 133, 177, 177, 177, 132, 94, 143, 94, 94, + 94, 94, 94, 128, 94, 94, 94, 177, 177, 177, + 177, 132, 177, 177, 177, 177, 128, 94, 94, 94, + 94, 94, 94, 131, 94, 177, 177, 177, 177, 177, + 132, 177, 94, 131, 94, 94, 131, 94, 94, 177, + 141, 177, 132, 132, 177, 131, 140, 173, 94, 94, + 94, 141, 177, 132, 177, 140, 94, 94, 177, 132, + 94, 140, 132, 141, 140 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1980,7 +1981,7 @@ yyreduce: switch (yyn) { case 2: -#line 361 "parser.y" +#line 363 "./parser.y" { resource_t *rsc; /* First add stringtables to the resource-list */ @@ -2010,16 +2011,16 @@ yyreduce: yyvsp[0].res = rsc; /* Final statement before were done */ resource_top = get_resource_head(yyvsp[0].res); - ;} + } break; case 3: -#line 395 "parser.y" - { yyval.res = NULL; want_id = 1; ;} +#line 397 "./parser.y" + { yyval.res = NULL; want_id = 1; } break; case 4: -#line 396 "parser.y" +#line 398 "./parser.y" { if(yyvsp[0].res) { @@ -2064,11 +2065,11 @@ yyreduce: if(!dont_want_id) /* See comments in language parsing below */ want_id = 1; dont_want_id = 0; - ;} + } break; case 6: -#line 472 "parser.y" +#line 474 "./parser.y" { yyval.res = yyvsp[0].res; if(yyval.res) @@ -2080,11 +2081,11 @@ yyreduce: yyval.res->name->name.i_name = yyvsp[-2].num; chat("Got %s (%d)", get_typename(yyvsp[0].res), yyval.res->name->name.i_name); } - ;} + } break; case 7: -#line 484 "parser.y" +#line 486 "./parser.y" { yyval.res = yyvsp[0].res; if(yyval.res) @@ -2094,11 +2095,11 @@ yyreduce: yyval.res->name->name.s_name = yyvsp[-2].str; chat("Got %s (%s)", get_typename(yyvsp[0].res), yyval.res->name->name.s_name->str.cstr); } - ;} + } break; case 8: -#line 494 "parser.y" +#line 496 "./parser.y" { /* Don't do anything, stringtables are converted to * resource_t structures when we are finished parsing and @@ -2106,16 +2107,16 @@ yyreduce: */ yyval.res = NULL; chat("Got STRINGTABLE"); - ;} + } break; case 9: -#line 502 "parser.y" - {want_nl = 1; ;} +#line 504 "./parser.y" + {want_nl = 1; } break; case 10: -#line 502 "parser.y" +#line 504 "./parser.y" { /* We *NEED* the newline to delimit the expression. * Otherwise, we would not be able to set the next @@ -2153,60 +2154,60 @@ yyreduce: currentlanguage = new_language(yyvsp[-2].num, yyvsp[0].num); yyval.res = NULL; chat("Got LANGUAGE %d,%d (0x%04x)", yyvsp[-2].num, yyvsp[0].num, (yyvsp[0].num<<10) + yyvsp[-2].num); - ;} + } break; case 11: -#line 546 "parser.y" - { yychar = rsrcid_to_token(yychar); ;} +#line 548 "./parser.y" + { yychar = rsrcid_to_token(yychar); } break; case 12: -#line 552 "parser.y" +#line 554 "./parser.y" { if(yyvsp[0].num > 65535 || yyvsp[0].num < -32768) yyerror("Resource's ID out of range (%d)", yyvsp[0].num); yyval.nid = new_name_id(); yyval.nid->type = name_ord; yyval.nid->name.i_name = yyvsp[0].num; - ;} + } break; case 13: -#line 559 "parser.y" +#line 561 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; yyval.nid->name.s_name = yyvsp[0].str; - ;} + } break; case 14: -#line 569 "parser.y" - { yyval.nid = yyvsp[0].nid; ;} +#line 571 "./parser.y" + { yyval.nid = yyvsp[0].nid; } break; case 15: -#line 570 "parser.y" +#line 572 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; yyval.nid->name.s_name = yyvsp[0].str; - ;} + } break; case 16: -#line 579 "parser.y" - { yyval.res = new_resource(res_acc, yyvsp[0].acc, yyvsp[0].acc->memopt, yyvsp[0].acc->lvc.language); ;} +#line 581 "./parser.y" + { yyval.res = new_resource(res_acc, yyvsp[0].acc, yyvsp[0].acc->memopt, yyvsp[0].acc->lvc.language); } break; case 17: -#line 580 "parser.y" - { yyval.res = new_resource(res_bmp, yyvsp[0].bmp, yyvsp[0].bmp->memopt, yyvsp[0].bmp->data->lvc.language); ;} +#line 582 "./parser.y" + { yyval.res = new_resource(res_bmp, yyvsp[0].bmp, yyvsp[0].bmp->memopt, yyvsp[0].bmp->data->lvc.language); } break; case 18: -#line 581 "parser.y" +#line 583 "./parser.y" { resource_t *rsc; if(yyvsp[0].ani->type == res_anicur) @@ -2230,41 +2231,41 @@ yyreduce: else internal_error(__FILE__, __LINE__, "Invalid top-level type %d in cursor resource", yyvsp[0].ani->type); free(yyvsp[0].ani); - ;} + } break; case 19: -#line 605 "parser.y" - { yyval.res = new_resource(res_dlg, yyvsp[0].dlg, yyvsp[0].dlg->memopt, yyvsp[0].dlg->lvc.language); ;} +#line 607 "./parser.y" + { yyval.res = new_resource(res_dlg, yyvsp[0].dlg, yyvsp[0].dlg->memopt, yyvsp[0].dlg->lvc.language); } break; case 20: -#line 606 "parser.y" +#line 608 "./parser.y" { if(win32) yyval.res = new_resource(res_dlgex, yyvsp[0].dlgex, yyvsp[0].dlgex->memopt, yyvsp[0].dlgex->lvc.language); else yyval.res = NULL; - ;} + } break; case 21: -#line 612 "parser.y" - { yyval.res = new_resource(res_dlginit, yyvsp[0].dginit, yyvsp[0].dginit->memopt, yyvsp[0].dginit->data->lvc.language); ;} +#line 614 "./parser.y" + { yyval.res = new_resource(res_dlginit, yyvsp[0].dginit, yyvsp[0].dginit->memopt, yyvsp[0].dginit->data->lvc.language); } break; case 22: -#line 613 "parser.y" - { yyval.res = new_resource(res_fnt, yyvsp[0].fnt, yyvsp[0].fnt->memopt, yyvsp[0].fnt->data->lvc.language); ;} +#line 615 "./parser.y" + { yyval.res = new_resource(res_fnt, yyvsp[0].fnt, yyvsp[0].fnt->memopt, yyvsp[0].fnt->data->lvc.language); } break; case 23: -#line 614 "parser.y" - { yyval.res = new_resource(res_fntdir, yyvsp[0].fnd, yyvsp[0].fnd->memopt, yyvsp[0].fnd->data->lvc.language); ;} +#line 616 "./parser.y" + { yyval.res = new_resource(res_fntdir, yyvsp[0].fnd, yyvsp[0].fnd->memopt, yyvsp[0].fnd->data->lvc.language); } break; case 24: -#line 615 "parser.y" +#line 617 "./parser.y" { resource_t *rsc; if(yyvsp[0].ani->type == res_aniico) @@ -2288,71 +2289,76 @@ yyreduce: else internal_error(__FILE__, __LINE__, "Invalid top-level type %d in icon resource", yyvsp[0].ani->type); free(yyvsp[0].ani); - ;} + } break; case 25: -#line 639 "parser.y" - { yyval.res = new_resource(res_men, yyvsp[0].men, yyvsp[0].men->memopt, yyvsp[0].men->lvc.language); ;} +#line 641 "./parser.y" + { yyval.res = new_resource(res_men, yyvsp[0].men, yyvsp[0].men->memopt, yyvsp[0].men->lvc.language); } break; case 26: -#line 640 "parser.y" +#line 642 "./parser.y" { if(win32) yyval.res = new_resource(res_menex, yyvsp[0].menex, yyvsp[0].menex->memopt, yyvsp[0].menex->lvc.language); else yyval.res = NULL; - ;} + } break; case 27: -#line 646 "parser.y" - { yyval.res = new_resource(res_msg, yyvsp[0].msg, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].msg->data->lvc.language); ;} +#line 648 "./parser.y" + { yyval.res = new_resource(res_msg, yyvsp[0].msg, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].msg->data->lvc.language); } break; case 28: -#line 647 "parser.y" - { yyval.res = new_resource(res_rdt, yyvsp[0].rdt, yyvsp[0].rdt->memopt, yyvsp[0].rdt->data->lvc.language); ;} +#line 649 "./parser.y" + { yyval.res = new_resource(res_html, yyvsp[0].html, yyvsp[0].html->memopt, yyvsp[0].html->data->lvc.language); } break; case 29: -#line 648 "parser.y" - { yyval.res = new_resource(res_toolbar, yyvsp[0].tlbar, yyvsp[0].tlbar->memopt, yyvsp[0].tlbar->lvc.language); ;} +#line 650 "./parser.y" + { yyval.res = new_resource(res_rdt, yyvsp[0].rdt, yyvsp[0].rdt->memopt, yyvsp[0].rdt->data->lvc.language); } break; case 30: -#line 649 "parser.y" - { yyval.res = new_resource(res_usr, yyvsp[0].usr, yyvsp[0].usr->memopt, yyvsp[0].usr->data->lvc.language); ;} +#line 651 "./parser.y" + { yyval.res = new_resource(res_toolbar, yyvsp[0].tlbar, yyvsp[0].tlbar->memopt, yyvsp[0].tlbar->lvc.language); } break; case 31: -#line 650 "parser.y" - { yyval.res = new_resource(res_ver, yyvsp[0].veri, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].veri->lvc.language); ;} +#line 652 "./parser.y" + { yyval.res = new_resource(res_usr, yyvsp[0].usr, yyvsp[0].usr->memopt, yyvsp[0].usr->data->lvc.language); } break; case 32: -#line 654 "parser.y" - { yyval.str = make_filename(yyvsp[0].str); ;} +#line 653 "./parser.y" + { yyval.res = new_resource(res_ver, yyvsp[0].veri, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].veri->lvc.language); } break; case 33: -#line 655 "parser.y" - { yyval.str = make_filename(yyvsp[0].str); ;} +#line 657 "./parser.y" + { yyval.str = make_filename(yyvsp[0].str); } break; case 34: -#line 656 "parser.y" - { yyval.str = make_filename(yyvsp[0].str); ;} +#line 658 "./parser.y" + { yyval.str = make_filename(yyvsp[0].str); } break; case 35: -#line 660 "parser.y" - { yyval.bmp = new_bitmap(yyvsp[0].raw, yyvsp[-1].iptr); ;} +#line 659 "./parser.y" + { yyval.str = make_filename(yyvsp[0].str); } break; case 36: -#line 664 "parser.y" +#line 663 "./parser.y" + { yyval.bmp = new_bitmap(yyvsp[0].raw, yyvsp[-1].iptr); } + break; + + case 37: +#line 667 "./parser.y" { yyval.ani = new_ani_any(); if(yyvsp[0].raw->size > 4 && !memcmp(yyvsp[0].raw->data, riff, sizeof(riff))) @@ -2365,11 +2371,11 @@ yyreduce: yyval.ani->type = res_curg; yyval.ani->u.curg = new_cursor_group(yyvsp[0].raw, yyvsp[-1].iptr); } - ;} + } break; - case 37: -#line 680 "parser.y" + case 38: +#line 683 "./parser.y" { yyval.ani = new_ani_any(); if(yyvsp[0].raw->size > 4 && !memcmp(yyvsp[0].raw->data, riff, sizeof(riff))) @@ -2382,40 +2388,45 @@ yyreduce: yyval.ani->type = res_icog; yyval.ani->u.icog = new_icon_group(yyvsp[0].raw, yyvsp[-1].iptr); } - ;} - break; - - case 38: -#line 702 "parser.y" - { yyval.fnt = new_font(yyvsp[0].raw, yyvsp[-1].iptr); ;} + } break; case 39: -#line 712 "parser.y" - { yyval.fnd = new_fontdir(yyvsp[0].raw, yyvsp[-1].iptr); ;} +#line 705 "./parser.y" + { yyval.fnt = new_font(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 40: -#line 720 "parser.y" +#line 715 "./parser.y" + { yyval.fnd = new_fontdir(yyvsp[0].raw, yyvsp[-1].iptr); } + break; + + case 41: +#line 723 "./parser.y" { if(!win32) yywarning("MESSAGETABLE not supported in 16-bit mode"); yyval.msg = new_messagetable(yyvsp[0].raw, yyvsp[-1].iptr); - ;} - break; - - case 41: -#line 728 "parser.y" - { yyval.rdt = new_rcdata(yyvsp[0].raw, yyvsp[-1].iptr); ;} + } break; case 42: -#line 732 "parser.y" - { yyval.dginit = new_dlginit(yyvsp[0].raw, yyvsp[-1].iptr); ;} +#line 731 "./parser.y" + { yyval.html = new_html(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 43: -#line 736 "parser.y" +#line 735 "./parser.y" + { yyval.rdt = new_rcdata(yyvsp[0].raw, yyvsp[-1].iptr); } + break; + + case 44: +#line 739 "./parser.y" + { yyval.dginit = new_dlginit(yyvsp[0].raw, yyvsp[-1].iptr); } + break; + + case 45: +#line 743 "./parser.y" { #ifdef WORDS_BIGENDIAN if(pedantic && byteorder != WRC_BO_LITTLE) @@ -2424,29 +2435,29 @@ yyreduce: #endif yywarning("Byteordering is not little-endian and type cannot be interpreted"); yyval.usr = new_user(yyvsp[-2].nid, yyvsp[0].raw, yyvsp[-1].iptr); - ;} + } break; - case 44: -#line 747 "parser.y" + case 46: +#line 754 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_ord; yyval.nid->name.i_name = yyvsp[0].num; - ;} + } break; - case 45: -#line 752 "parser.y" + case 47: +#line 759 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; yyval.nid->name.s_name = yyvsp[0].str; - ;} + } break; - case 46: -#line 761 "parser.y" + case 48: +#line 768 "./parser.y" { yyval.acc = new_accelerator(); if(yyvsp[-4].iptr) @@ -2468,76 +2479,76 @@ yyreduce: } if(!yyval.acc->lvc.language) yyval.acc->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 47: -#line 785 "parser.y" - { yyval.event=NULL; ;} - break; - - case 48: -#line 786 "parser.y" - { yyval.event=add_string_event(yyvsp[-3].str, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); ;} + } break; case 49: -#line 787 "parser.y" - { yyval.event=add_event(yyvsp[-3].num, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); ;} +#line 792 "./parser.y" + { yyval.event=NULL; } break; case 50: -#line 796 "parser.y" - { yyval.num = 0; ;} +#line 793 "./parser.y" + { yyval.event=add_string_event(yyvsp[-3].str, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); } break; case 51: -#line 797 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 794 "./parser.y" + { yyval.event=add_event(yyvsp[-3].num, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); } break; case 52: -#line 800 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 803 "./parser.y" + { yyval.num = 0; } break; case 53: -#line 801 "parser.y" - { yyval.num = yyvsp[-2].num | yyvsp[0].num; ;} +#line 804 "./parser.y" + { yyval.num = yyvsp[0].num; } break; case 54: -#line 804 "parser.y" - { yyval.num = WRC_AF_NOINVERT; ;} +#line 807 "./parser.y" + { yyval.num = yyvsp[0].num; } break; case 55: -#line 805 "parser.y" - { yyval.num = WRC_AF_SHIFT; ;} +#line 808 "./parser.y" + { yyval.num = yyvsp[-2].num | yyvsp[0].num; } break; case 56: -#line 806 "parser.y" - { yyval.num = WRC_AF_CONTROL; ;} +#line 811 "./parser.y" + { yyval.num = WRC_AF_NOINVERT; } break; case 57: -#line 807 "parser.y" - { yyval.num = WRC_AF_ALT; ;} +#line 812 "./parser.y" + { yyval.num = WRC_AF_SHIFT; } break; case 58: -#line 808 "parser.y" - { yyval.num = WRC_AF_ASCII; ;} +#line 813 "./parser.y" + { yyval.num = WRC_AF_CONTROL; } break; case 59: -#line 809 "parser.y" - { yyval.num = WRC_AF_VIRTKEY; ;} +#line 814 "./parser.y" + { yyval.num = WRC_AF_ALT; } break; case 60: -#line 815 "parser.y" +#line 815 "./parser.y" + { yyval.num = WRC_AF_ASCII; } + break; + + case 61: +#line 816 "./parser.y" + { yyval.num = WRC_AF_VIRTKEY; } + break; + + case 62: +#line 822 "./parser.y" { if(yyvsp[-11].iptr) { @@ -2568,162 +2579,162 @@ yyreduce: if(!yyval.dlg->lvc.language) yyval.dlg->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 61: -#line 849 "parser.y" - { yyval.dlg=new_dialog(); ;} - break; - - case 62: -#line 850 "parser.y" - { yyval.dlg=dialog_style(yyvsp[0].style,yyvsp[-2].dlg); ;} + } break; case 63: -#line 851 "parser.y" - { yyval.dlg=dialog_exstyle(yyvsp[0].style,yyvsp[-2].dlg); ;} +#line 856 "./parser.y" + { yyval.dlg=new_dialog(); } break; case 64: -#line 852 "parser.y" - { yyval.dlg=dialog_caption(yyvsp[0].str,yyvsp[-2].dlg); ;} +#line 857 "./parser.y" + { yyval.dlg=dialog_style(yyvsp[0].style,yyvsp[-2].dlg); } break; case 65: -#line 853 "parser.y" - { yyval.dlg=dialog_font(yyvsp[0].fntid,yyvsp[-1].dlg); ;} +#line 858 "./parser.y" + { yyval.dlg=dialog_exstyle(yyvsp[0].style,yyvsp[-2].dlg); } break; case 66: -#line 854 "parser.y" - { yyval.dlg=dialog_class(yyvsp[0].nid,yyvsp[-2].dlg); ;} +#line 859 "./parser.y" + { yyval.dlg=dialog_caption(yyvsp[0].str,yyvsp[-2].dlg); } break; case 67: -#line 855 "parser.y" - { yyval.dlg=dialog_menu(yyvsp[0].nid,yyvsp[-2].dlg); ;} +#line 860 "./parser.y" + { yyval.dlg=dialog_font(yyvsp[0].fntid,yyvsp[-1].dlg); } break; case 68: -#line 856 "parser.y" - { yyval.dlg=dialog_language(yyvsp[0].lan,yyvsp[-1].dlg); ;} +#line 861 "./parser.y" + { yyval.dlg=dialog_class(yyvsp[0].nid,yyvsp[-2].dlg); } break; case 69: -#line 857 "parser.y" - { yyval.dlg=dialog_characteristics(yyvsp[0].chars,yyvsp[-1].dlg); ;} +#line 862 "./parser.y" + { yyval.dlg=dialog_menu(yyvsp[0].nid,yyvsp[-2].dlg); } break; case 70: -#line 858 "parser.y" - { yyval.dlg=dialog_version(yyvsp[0].ver,yyvsp[-1].dlg); ;} +#line 863 "./parser.y" + { yyval.dlg=dialog_language(yyvsp[0].lan,yyvsp[-1].dlg); } break; case 71: -#line 861 "parser.y" - { yyval.ctl = NULL; ;} +#line 864 "./parser.y" + { yyval.dlg=dialog_characteristics(yyvsp[0].chars,yyvsp[-1].dlg); } break; case 72: -#line 862 "parser.y" - { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 865 "./parser.y" + { yyval.dlg=dialog_version(yyvsp[0].ver,yyvsp[-1].dlg); } break; case 73: -#line 863 "parser.y" - { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 868 "./parser.y" + { yyval.ctl = NULL; } break; case 74: -#line 864 "parser.y" - { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 869 "./parser.y" + { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 75: -#line 865 "parser.y" - { yyval.ctl=ins_ctrl(CT_COMBOBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 870 "./parser.y" + { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 76: -#line 866 "parser.y" - { yyval.ctl=ins_ctrl(CT_SCROLLBAR, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 871 "./parser.y" + { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 77: -#line 867 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_CHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 872 "./parser.y" + { yyval.ctl=ins_ctrl(CT_COMBOBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 78: -#line 868 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 873 "./parser.y" + { yyval.ctl=ins_ctrl(CT_SCROLLBAR, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 79: -#line 869 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_GROUPBOX, yyvsp[0].ctl, yyvsp[-2].ctl);;} +#line 874 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_CHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 80: -#line 870 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 875 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 81: -#line 872 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 876 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_GROUPBOX, yyvsp[0].ctl, yyvsp[-2].ctl);} break; case 82: -#line 873 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 877 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 83: -#line 874 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 879 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 84: -#line 875 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 880 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 85: -#line 876 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 881 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 86: -#line 877 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_LEFT, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 882 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 87: -#line 878 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_CENTER, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 883 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 88: -#line 879 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_RIGHT, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 884 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_LEFT, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 89: -#line 881 "parser.y" +#line 885 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_CENTER, yyvsp[0].ctl, yyvsp[-2].ctl); } + break; + + case 90: +#line 886 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_RIGHT, yyvsp[0].ctl, yyvsp[-2].ctl); } + break; + + case 91: +#line 888 "./parser.y" { yyvsp[0].ctl->title = yyvsp[-7].nid; yyvsp[0].ctl->id = yyvsp[-5].num; yyvsp[0].ctl->x = yyvsp[-3].num; yyvsp[0].ctl->y = yyvsp[-1].num; yyval.ctl = ins_ctrl(CT_STATIC, SS_ICON, yyvsp[0].ctl, yyvsp[-9].ctl); - ;} + } break; - case 90: -#line 891 "parser.y" + case 92: +#line 898 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = new_name_id(); @@ -2745,11 +2756,11 @@ yyreduce: } free(yyvsp[0].styles); } - ;} + } break; - case 91: -#line 916 "parser.y" + case 93: +#line 923 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->id = yyvsp[-9].num; @@ -2768,36 +2779,36 @@ yyreduce: } free(yyvsp[0].styles); } - ;} + } break; - case 92: -#line 938 "parser.y" - { yyval.ctl = new_control(); ;} + case 94: +#line 945 "./parser.y" + { yyval.ctl = new_control(); } break; - case 93: -#line 940 "parser.y" + case 95: +#line 947 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-2].num; yyval.ctl->height = yyvsp[0].num; - ;} + } break; - case 94: -#line 945 "parser.y" + case 96: +#line 952 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-4].num; yyval.ctl->height = yyvsp[-2].num; yyval.ctl->style = yyvsp[0].style; yyval.ctl->gotstyle = TRUE; - ;} + } break; - case 95: -#line 952 "parser.y" + case 97: +#line 959 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-6].num; @@ -2806,11 +2817,11 @@ yyreduce: yyval.ctl->gotstyle = TRUE; yyval.ctl->exstyle = yyvsp[0].style; yyval.ctl->gotexstyle = TRUE; - ;} + } break; - case 96: -#line 963 "parser.y" + case 98: +#line 970 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-16].nid; @@ -2824,11 +2835,11 @@ yyreduce: yyval.ctl->height = yyvsp[-2].num; yyval.ctl->exstyle = yyvsp[0].style; yyval.ctl->gotexstyle = TRUE; - ;} + } break; - case 97: -#line 977 "parser.y" + case 99: +#line 984 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-14].nid; @@ -2840,69 +2851,69 @@ yyreduce: yyval.ctl->y = yyvsp[-4].num; yyval.ctl->width = yyvsp[-2].num; yyval.ctl->height = yyvsp[0].num; - ;} - break; - - case 98: -#line 992 "parser.y" - { yyval.fntid = new_font_id(yyvsp[-2].num, yyvsp[0].str, 0, 0); ;} - break; - - case 99: -#line 997 "parser.y" - { yyval.styles = NULL; ;} + } break; case 100: -#line 998 "parser.y" - { yyval.styles = new_style_pair(yyvsp[0].style, 0); ;} +#line 999 "./parser.y" + { yyval.fntid = new_font_id(yyvsp[-2].num, yyvsp[0].str, 0, 0); } break; case 101: -#line 999 "parser.y" - { yyval.styles = new_style_pair(yyvsp[-2].style, yyvsp[0].style); ;} +#line 1004 "./parser.y" + { yyval.styles = NULL; } break; case 102: -#line 1003 "parser.y" - { yyval.style = new_style(yyvsp[-2].style->or_mask | yyvsp[0].style->or_mask, yyvsp[-2].style->and_mask | yyvsp[0].style->and_mask); free(yyvsp[-2].style); free(yyvsp[0].style);;} +#line 1005 "./parser.y" + { yyval.styles = new_style_pair(yyvsp[0].style, 0); } break; case 103: -#line 1004 "parser.y" - { yyval.style = yyvsp[-1].style; ;} +#line 1006 "./parser.y" + { yyval.styles = new_style_pair(yyvsp[-2].style, yyvsp[0].style); } break; case 104: -#line 1005 "parser.y" - { yyval.style = new_style(yyvsp[0].num, 0); ;} +#line 1010 "./parser.y" + { yyval.style = new_style(yyvsp[-2].style->or_mask | yyvsp[0].style->or_mask, yyvsp[-2].style->and_mask | yyvsp[0].style->and_mask); free(yyvsp[-2].style); free(yyvsp[0].style);} break; case 105: -#line 1006 "parser.y" - { yyval.style = new_style(0, yyvsp[0].num); ;} +#line 1011 "./parser.y" + { yyval.style = yyvsp[-1].style; } break; case 106: -#line 1010 "parser.y" +#line 1012 "./parser.y" + { yyval.style = new_style(yyvsp[0].num, 0); } + break; + + case 107: +#line 1013 "./parser.y" + { yyval.style = new_style(0, yyvsp[0].num); } + break; + + case 108: +#line 1017 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_ord; yyval.nid->name.i_name = yyvsp[0].num; - ;} + } break; - case 107: -#line 1015 "parser.y" + case 109: +#line 1022 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; yyval.nid->name.s_name = yyvsp[0].str; - ;} + } break; - case 108: -#line 1024 "parser.y" + case 110: +#line 1031 "./parser.y" { if(!win32) yywarning("DIALOGEX not supported in 16-bit mode"); @@ -2942,167 +2953,167 @@ yyreduce: if(!yyval.dlgex->lvc.language) yyval.dlgex->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 109: -#line 1067 "parser.y" - { yyval.dlgex=new_dialogex(); ;} - break; - - case 110: -#line 1068 "parser.y" - { yyval.dlgex=dialogex_style(yyvsp[0].style,yyvsp[-2].dlgex); ;} + } break; case 111: -#line 1069 "parser.y" - { yyval.dlgex=dialogex_exstyle(yyvsp[0].style,yyvsp[-2].dlgex); ;} +#line 1074 "./parser.y" + { yyval.dlgex=new_dialogex(); } break; case 112: -#line 1070 "parser.y" - { yyval.dlgex=dialogex_caption(yyvsp[0].str,yyvsp[-2].dlgex); ;} +#line 1075 "./parser.y" + { yyval.dlgex=dialogex_style(yyvsp[0].style,yyvsp[-2].dlgex); } break; case 113: -#line 1071 "parser.y" - { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); ;} +#line 1076 "./parser.y" + { yyval.dlgex=dialogex_exstyle(yyvsp[0].style,yyvsp[-2].dlgex); } break; case 114: -#line 1072 "parser.y" - { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); ;} +#line 1077 "./parser.y" + { yyval.dlgex=dialogex_caption(yyvsp[0].str,yyvsp[-2].dlgex); } break; case 115: -#line 1073 "parser.y" - { yyval.dlgex=dialogex_class(yyvsp[0].nid,yyvsp[-2].dlgex); ;} +#line 1078 "./parser.y" + { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); } break; case 116: -#line 1074 "parser.y" - { yyval.dlgex=dialogex_menu(yyvsp[0].nid,yyvsp[-2].dlgex); ;} +#line 1079 "./parser.y" + { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); } break; case 117: -#line 1075 "parser.y" - { yyval.dlgex=dialogex_language(yyvsp[0].lan,yyvsp[-1].dlgex); ;} +#line 1080 "./parser.y" + { yyval.dlgex=dialogex_class(yyvsp[0].nid,yyvsp[-2].dlgex); } break; case 118: -#line 1076 "parser.y" - { yyval.dlgex=dialogex_characteristics(yyvsp[0].chars,yyvsp[-1].dlgex); ;} +#line 1081 "./parser.y" + { yyval.dlgex=dialogex_menu(yyvsp[0].nid,yyvsp[-2].dlgex); } break; case 119: -#line 1077 "parser.y" - { yyval.dlgex=dialogex_version(yyvsp[0].ver,yyvsp[-1].dlgex); ;} +#line 1082 "./parser.y" + { yyval.dlgex=dialogex_language(yyvsp[0].lan,yyvsp[-1].dlgex); } break; case 120: -#line 1080 "parser.y" - { yyval.ctl = NULL; ;} +#line 1083 "./parser.y" + { yyval.dlgex=dialogex_characteristics(yyvsp[0].chars,yyvsp[-1].dlgex); } break; case 121: -#line 1081 "parser.y" - { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1084 "./parser.y" + { yyval.dlgex=dialogex_version(yyvsp[0].ver,yyvsp[-1].dlgex); } break; case 122: -#line 1082 "parser.y" - { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1087 "./parser.y" + { yyval.ctl = NULL; } break; case 123: -#line 1083 "parser.y" - { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1088 "./parser.y" + { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 124: -#line 1084 "parser.y" - { yyval.ctl=ins_ctrl(CT_COMBOBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1089 "./parser.y" + { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 125: -#line 1085 "parser.y" - { yyval.ctl=ins_ctrl(CT_SCROLLBAR, 0, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1090 "./parser.y" + { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 126: -#line 1086 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_CHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1091 "./parser.y" + { yyval.ctl=ins_ctrl(CT_COMBOBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 127: -#line 1087 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1092 "./parser.y" + { yyval.ctl=ins_ctrl(CT_SCROLLBAR, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 128: -#line 1088 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_GROUPBOX, yyvsp[0].ctl, yyvsp[-2].ctl);;} +#line 1093 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_CHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 129: -#line 1089 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1094 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 130: -#line 1091 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1095 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_GROUPBOX, yyvsp[0].ctl, yyvsp[-2].ctl);} break; case 131: -#line 1092 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1096 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 132: -#line 1093 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1098 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 133: -#line 1094 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1099 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 134: -#line 1095 "parser.y" - { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1100 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 135: -#line 1096 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_LEFT, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1101 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 136: -#line 1097 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_CENTER, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1102 "./parser.y" + { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 137: -#line 1098 "parser.y" - { yyval.ctl=ins_ctrl(CT_STATIC, SS_RIGHT, yyvsp[0].ctl, yyvsp[-2].ctl); ;} +#line 1103 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_LEFT, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 138: -#line 1100 "parser.y" +#line 1104 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_CENTER, yyvsp[0].ctl, yyvsp[-2].ctl); } + break; + + case 139: +#line 1105 "./parser.y" + { yyval.ctl=ins_ctrl(CT_STATIC, SS_RIGHT, yyvsp[0].ctl, yyvsp[-2].ctl); } + break; + + case 140: +#line 1107 "./parser.y" { yyvsp[0].ctl->title = yyvsp[-7].nid; yyvsp[0].ctl->id = yyvsp[-5].num; yyvsp[0].ctl->x = yyvsp[-3].num; yyvsp[0].ctl->y = yyvsp[-1].num; yyval.ctl = ins_ctrl(CT_STATIC, SS_ICON, yyvsp[0].ctl, yyvsp[-9].ctl); - ;} + } break; - case 139: -#line 1111 "parser.y" + case 141: +#line 1118 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-18].nid; @@ -3126,11 +3137,11 @@ yyreduce: free(yyvsp[-1].iptr); } yyval.ctl->extra = yyvsp[0].raw; - ;} + } break; - case 140: -#line 1135 "parser.y" + case 142: +#line 1142 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-15].nid; @@ -3143,11 +3154,11 @@ yyreduce: yyval.ctl->width = yyvsp[-3].num; yyval.ctl->height = yyvsp[-1].num; yyval.ctl->extra = yyvsp[0].raw; - ;} + } break; - case 141: -#line 1151 "parser.y" + case 143: +#line 1158 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = new_name_id(); @@ -3172,11 +3183,11 @@ yyreduce: } yyval.ctl->extra = yyvsp[0].raw; - ;} + } break; - case 142: -#line 1179 "parser.y" + case 144: +#line 1186 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->id = yyvsp[-11].num; @@ -3197,46 +3208,46 @@ yyreduce: free(yyvsp[-2].styles); } yyval.ctl->extra = yyvsp[0].raw; - ;} - break; - - case 143: -#line 1202 "parser.y" - { yyval.raw = NULL; ;} - break; - - case 144: -#line 1203 "parser.y" - { yyval.raw = yyvsp[0].raw; ;} + } break; case 145: -#line 1206 "parser.y" - { yyval.iptr = NULL; ;} +#line 1209 "./parser.y" + { yyval.raw = NULL; } break; case 146: -#line 1207 "parser.y" - { yyval.iptr = new_int(yyvsp[0].num); ;} +#line 1210 "./parser.y" + { yyval.raw = yyvsp[0].raw; } break; case 147: -#line 1211 "parser.y" - { yyval.fntid = new_font_id(yyvsp[-7].num, yyvsp[-5].str, yyvsp[-3].num, yyvsp[-1].num); ;} +#line 1213 "./parser.y" + { yyval.iptr = NULL; } break; case 148: -#line 1218 "parser.y" - { yyval.fntid = NULL; ;} +#line 1214 "./parser.y" + { yyval.iptr = new_int(yyvsp[0].num); } break; case 149: -#line 1219 "parser.y" - { yyval.fntid = NULL; ;} +#line 1218 "./parser.y" + { yyval.fntid = new_font_id(yyvsp[-7].num, yyvsp[-5].str, yyvsp[-3].num, yyvsp[-1].num); } break; case 150: -#line 1223 "parser.y" +#line 1225 "./parser.y" + { yyval.fntid = NULL; } + break; + + case 151: +#line 1226 "./parser.y" + { yyval.fntid = NULL; } + break; + + case 152: +#line 1230 "./parser.y" { if(!yyvsp[0].menitm) yyerror("Menu must contain items"); @@ -3256,21 +3267,21 @@ yyreduce: } if(!yyval.men->lvc.language) yyval.men->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 151: -#line 1246 "parser.y" - { yyval.menitm = yyvsp[-1].menitm; ;} - break; - - case 152: -#line 1250 "parser.y" - {yyval.menitm = NULL;;} + } break; case 153: -#line 1251 "parser.y" +#line 1253 "./parser.y" + { yyval.menitm = yyvsp[-1].menitm; } + break; + + case 154: +#line 1257 "./parser.y" + {yyval.menitm = NULL;} + break; + + case 155: +#line 1258 "./parser.y" { yyval.menitm=new_menu_item(); yyval.menitm->prev = yyvsp[-5].menitm; @@ -3279,21 +3290,21 @@ yyreduce: yyval.menitm->id = yyvsp[-1].num; yyval.menitm->state = yyvsp[0].num; yyval.menitm->name = yyvsp[-3].str; - ;} + } break; - case 154: -#line 1260 "parser.y" + case 156: +#line 1267 "./parser.y" { yyval.menitm=new_menu_item(); yyval.menitm->prev = yyvsp[-2].menitm; if(yyvsp[-2].menitm) yyvsp[-2].menitm->next = yyval.menitm; - ;} + } break; - case 155: -#line 1266 "parser.y" + case 157: +#line 1273 "./parser.y" { yyval.menitm = new_menu_item(); yyval.menitm->prev = yyvsp[-4].menitm; @@ -3301,46 +3312,46 @@ yyreduce: yyvsp[-4].menitm->next = yyval.menitm; yyval.menitm->popup = get_item_head(yyvsp[0].menitm); yyval.menitm->name = yyvsp[-2].str; - ;} - break; - - case 156: -#line 1285 "parser.y" - { yyval.num = 0; ;} - break; - - case 157: -#line 1286 "parser.y" - { yyval.num = yyvsp[0].num | MF_CHECKED; ;} + } break; case 158: -#line 1287 "parser.y" - { yyval.num = yyvsp[0].num | MF_GRAYED; ;} +#line 1292 "./parser.y" + { yyval.num = 0; } break; case 159: -#line 1288 "parser.y" - { yyval.num = yyvsp[0].num | MF_HELP; ;} +#line 1293 "./parser.y" + { yyval.num = yyvsp[0].num | MF_CHECKED; } break; case 160: -#line 1289 "parser.y" - { yyval.num = yyvsp[0].num | MF_DISABLED; ;} +#line 1294 "./parser.y" + { yyval.num = yyvsp[0].num | MF_GRAYED; } break; case 161: -#line 1290 "parser.y" - { yyval.num = yyvsp[0].num | MF_MENUBARBREAK; ;} +#line 1295 "./parser.y" + { yyval.num = yyvsp[0].num | MF_HELP; } break; case 162: -#line 1291 "parser.y" - { yyval.num = yyvsp[0].num | MF_MENUBREAK; ;} +#line 1296 "./parser.y" + { yyval.num = yyvsp[0].num | MF_DISABLED; } break; case 163: -#line 1295 "parser.y" +#line 1297 "./parser.y" + { yyval.num = yyvsp[0].num | MF_MENUBARBREAK; } + break; + + case 164: +#line 1298 "./parser.y" + { yyval.num = yyvsp[0].num | MF_MENUBREAK; } + break; + + case 165: +#line 1302 "./parser.y" { if(!win32) yywarning("MENUEX not supported in 16-bit mode"); @@ -3362,21 +3373,21 @@ yyreduce: } if(!yyval.menex->lvc.language) yyval.menex->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 164: -#line 1320 "parser.y" - { yyval.menexitm = yyvsp[-1].menexitm; ;} - break; - - case 165: -#line 1324 "parser.y" - {yyval.menexitm = NULL; ;} + } break; case 166: -#line 1325 "parser.y" +#line 1327 "./parser.y" + { yyval.menexitm = yyvsp[-1].menexitm; } + break; + + case 167: +#line 1331 "./parser.y" + {yyval.menexitm = NULL; } + break; + + case 168: +#line 1332 "./parser.y" { yyval.menexitm = new_menuex_item(); yyval.menexitm->prev = yyvsp[-3].menexitm; @@ -3392,21 +3403,21 @@ yyreduce: yyval.menexitm->gotstate = yyvsp[0].exopt->gotstate; yyval.menexitm->gothelpid = yyvsp[0].exopt->gothelpid; free(yyvsp[0].exopt); - ;} + } break; - case 167: -#line 1341 "parser.y" + case 169: +#line 1348 "./parser.y" { yyval.menexitm = new_menuex_item(); yyval.menexitm->prev = yyvsp[-2].menexitm; if(yyvsp[-2].menexitm) yyvsp[-2].menexitm->next = yyval.menexitm; - ;} + } break; - case 168: -#line 1347 "parser.y" + case 170: +#line 1354 "./parser.y" { yyval.menexitm = new_menuex_item(); yyval.menexitm->prev = yyvsp[-4].menexitm; @@ -3423,24 +3434,24 @@ yyreduce: yyval.menexitm->gotstate = yyvsp[-1].exopt->gotstate; yyval.menexitm->gothelpid = yyvsp[-1].exopt->gothelpid; free(yyvsp[-1].exopt); - ;} - break; - - case 169: -#line 1367 "parser.y" - { yyval.exopt = new_itemex_opt(0, 0, 0, 0); ;} - break; - - case 170: -#line 1368 "parser.y" - { - yyval.exopt = new_itemex_opt(yyvsp[0].num, 0, 0, 0); - yyval.exopt->gotid = TRUE; - ;} + } break; case 171: -#line 1372 "parser.y" +#line 1374 "./parser.y" + { yyval.exopt = new_itemex_opt(0, 0, 0, 0); } + break; + + case 172: +#line 1375 "./parser.y" + { + yyval.exopt = new_itemex_opt(yyvsp[0].num, 0, 0, 0); + yyval.exopt->gotid = TRUE; + } + break; + + case 173: +#line 1379 "./parser.y" { yyval.exopt = new_itemex_opt(yyvsp[-3].iptr ? *(yyvsp[-3].iptr) : 0, yyvsp[-1].iptr ? *(yyvsp[-1].iptr) : 0, yyvsp[0].num, 0); yyval.exopt->gotid = TRUE; @@ -3448,11 +3459,11 @@ yyreduce: yyval.exopt->gotstate = TRUE; if(yyvsp[-3].iptr) free(yyvsp[-3].iptr); if(yyvsp[-1].iptr) free(yyvsp[-1].iptr); - ;} + } break; - case 172: -#line 1380 "parser.y" + case 174: +#line 1387 "./parser.y" { yyval.exopt = new_itemex_opt(yyvsp[-4].iptr ? *(yyvsp[-4].iptr) : 0, yyvsp[-2].iptr ? *(yyvsp[-2].iptr) : 0, yyvsp[0].num, 0); yyval.exopt->gotid = TRUE; @@ -3460,34 +3471,34 @@ yyreduce: yyval.exopt->gotstate = TRUE; if(yyvsp[-4].iptr) free(yyvsp[-4].iptr); if(yyvsp[-2].iptr) free(yyvsp[-2].iptr); - ;} - break; - - case 173: -#line 1391 "parser.y" - { yyval.exopt = new_itemex_opt(0, 0, 0, 0); ;} - break; - - case 174: -#line 1392 "parser.y" - { - yyval.exopt = new_itemex_opt(yyvsp[0].num, 0, 0, 0); - yyval.exopt->gotid = TRUE; - ;} + } break; case 175: -#line 1396 "parser.y" +#line 1398 "./parser.y" + { yyval.exopt = new_itemex_opt(0, 0, 0, 0); } + break; + + case 176: +#line 1399 "./parser.y" + { + yyval.exopt = new_itemex_opt(yyvsp[0].num, 0, 0, 0); + yyval.exopt->gotid = TRUE; + } + break; + + case 177: +#line 1403 "./parser.y" { yyval.exopt = new_itemex_opt(yyvsp[-2].iptr ? *(yyvsp[-2].iptr) : 0, yyvsp[0].num, 0, 0); if(yyvsp[-2].iptr) free(yyvsp[-2].iptr); yyval.exopt->gotid = TRUE; yyval.exopt->gottype = TRUE; - ;} + } break; - case 176: -#line 1402 "parser.y" + case 178: +#line 1409 "./parser.y" { yyval.exopt = new_itemex_opt(yyvsp[-4].iptr ? *(yyvsp[-4].iptr) : 0, yyvsp[-2].iptr ? *(yyvsp[-2].iptr) : 0, yyvsp[0].num, 0); if(yyvsp[-4].iptr) free(yyvsp[-4].iptr); @@ -3495,11 +3506,11 @@ yyreduce: yyval.exopt->gotid = TRUE; yyval.exopt->gottype = TRUE; yyval.exopt->gotstate = TRUE; - ;} + } break; - case 177: -#line 1410 "parser.y" + case 179: +#line 1417 "./parser.y" { yyval.exopt = new_itemex_opt(yyvsp[-6].iptr ? *(yyvsp[-6].iptr) : 0, yyvsp[-4].iptr ? *(yyvsp[-4].iptr) : 0, yyvsp[-2].iptr ? *(yyvsp[-2].iptr) : 0, yyvsp[0].num); if(yyvsp[-6].iptr) free(yyvsp[-6].iptr); @@ -3509,11 +3520,11 @@ yyreduce: yyval.exopt->gottype = TRUE; yyval.exopt->gotstate = TRUE; yyval.exopt->gothelpid = TRUE; - ;} + } break; - case 178: -#line 1430 "parser.y" + case 180: +#line 1437 "./parser.y" { if(!yyvsp[-1].stt) { @@ -3551,11 +3562,11 @@ yyreduce: } yyval.stt = tagstt; - ;} + } break; - case 179: -#line 1471 "parser.y" + case 181: +#line 1478 "./parser.y" { if((tagstt = find_stringtable(yyvsp[0].lvc)) == NULL) tagstt = new_stringtable(yyvsp[0].lvc); @@ -3564,16 +3575,16 @@ yyreduce: tagstt_characts = yyvsp[0].lvc->characts; if(yyvsp[0].lvc) free(yyvsp[0].lvc); - ;} + } break; - case 180: -#line 1482 "parser.y" - { yyval.stt = NULL; ;} + case 182: +#line 1489 "./parser.y" + { yyval.stt = NULL; } break; - case 181: -#line 1483 "parser.y" + case 183: +#line 1490 "./parser.y" { int i; assert(tagstt != NULL); @@ -3604,11 +3615,11 @@ yyreduce: if(win32 && yyvsp[0].str->size > 65534) /* Hmm..., does this happen? */ yyerror("Stringtable entry more than 65534 characters (probably something else that went wrong)"); yyval.stt = tagstt; - ;} + } break; - case 184: -#line 1523 "parser.y" + case 186: +#line 1530 "./parser.y" { yyval.veri = yyvsp[-3].veri; if(yyvsp[-4].iptr) @@ -3621,16 +3632,16 @@ yyreduce: yyval.veri->blocks = get_ver_block_head(yyvsp[-1].blk); /* Set language; there is no version or characteristics */ yyval.veri->lvc.language = dup_language(currentlanguage); - ;} + } break; - case 185: -#line 1539 "parser.y" - { yyval.veri = new_versioninfo(); ;} + case 187: +#line 1546 "./parser.y" + { yyval.veri = new_versioninfo(); } break; - case 186: -#line 1540 "parser.y" + case 188: +#line 1547 "./parser.y" { if(yyvsp[-8].veri->gotit.fv) yyerror("FILEVERSION already defined"); @@ -3640,11 +3651,11 @@ yyreduce: yyval.veri->filever_min1 = yyvsp[-2].num; yyval.veri->filever_min2 = yyvsp[0].num; yyval.veri->gotit.fv = 1; - ;} + } break; - case 187: -#line 1550 "parser.y" + case 189: +#line 1557 "./parser.y" { if(yyvsp[-8].veri->gotit.pv) yyerror("PRODUCTVERSION already defined"); @@ -3654,144 +3665,144 @@ yyreduce: yyval.veri->prodver_min1 = yyvsp[-2].num; yyval.veri->prodver_min2 = yyvsp[0].num; yyval.veri->gotit.pv = 1; - ;} + } break; - case 188: -#line 1560 "parser.y" + case 190: +#line 1567 "./parser.y" { if(yyvsp[-2].veri->gotit.ff) yyerror("FILEFLAGS already defined"); yyval.veri = yyvsp[-2].veri; yyval.veri->fileflags = yyvsp[0].num; yyval.veri->gotit.ff = 1; - ;} + } break; - case 189: -#line 1567 "parser.y" + case 191: +#line 1574 "./parser.y" { if(yyvsp[-2].veri->gotit.ffm) yyerror("FILEFLAGSMASK already defined"); yyval.veri = yyvsp[-2].veri; yyval.veri->fileflagsmask = yyvsp[0].num; yyval.veri->gotit.ffm = 1; - ;} + } break; - case 190: -#line 1574 "parser.y" + case 192: +#line 1581 "./parser.y" { if(yyvsp[-2].veri->gotit.fo) yyerror("FILEOS already defined"); yyval.veri = yyvsp[-2].veri; yyval.veri->fileos = yyvsp[0].num; yyval.veri->gotit.fo = 1; - ;} + } break; - case 191: -#line 1581 "parser.y" + case 193: +#line 1588 "./parser.y" { if(yyvsp[-2].veri->gotit.ft) yyerror("FILETYPE already defined"); yyval.veri = yyvsp[-2].veri; yyval.veri->filetype = yyvsp[0].num; yyval.veri->gotit.ft = 1; - ;} + } break; - case 192: -#line 1588 "parser.y" + case 194: +#line 1595 "./parser.y" { if(yyvsp[-2].veri->gotit.fst) yyerror("FILESUBTYPE already defined"); yyval.veri = yyvsp[-2].veri; yyval.veri->filesubtype = yyvsp[0].num; yyval.veri->gotit.fst = 1; - ;} + } break; - case 193: -#line 1598 "parser.y" - { yyval.blk = NULL; ;} + case 195: +#line 1605 "./parser.y" + { yyval.blk = NULL; } break; - case 194: -#line 1599 "parser.y" + case 196: +#line 1606 "./parser.y" { yyval.blk = yyvsp[0].blk; yyval.blk->prev = yyvsp[-1].blk; if(yyvsp[-1].blk) yyvsp[-1].blk->next = yyval.blk; - ;} + } break; - case 195: -#line 1608 "parser.y" + case 197: +#line 1615 "./parser.y" { yyval.blk = new_ver_block(); yyval.blk->name = yyvsp[-3].str; yyval.blk->values = get_ver_value_head(yyvsp[-1].val); - ;} + } break; - case 196: -#line 1616 "parser.y" - { yyval.val = NULL; ;} + case 198: +#line 1623 "./parser.y" + { yyval.val = NULL; } break; - case 197: -#line 1617 "parser.y" + case 199: +#line 1624 "./parser.y" { yyval.val = yyvsp[0].val; yyval.val->prev = yyvsp[-1].val; if(yyvsp[-1].val) yyvsp[-1].val->next = yyval.val; - ;} + } break; - case 198: -#line 1626 "parser.y" + case 200: +#line 1633 "./parser.y" { yyval.val = new_ver_value(); yyval.val->type = val_block; yyval.val->value.block = yyvsp[0].blk; - ;} + } break; - case 199: -#line 1631 "parser.y" + case 201: +#line 1638 "./parser.y" { yyval.val = new_ver_value(); yyval.val->type = val_str; yyval.val->key = yyvsp[-2].str; yyval.val->value.str = yyvsp[0].str; - ;} + } break; - case 200: -#line 1637 "parser.y" + case 202: +#line 1644 "./parser.y" { yyval.val = new_ver_value(); yyval.val->type = val_words; yyval.val->key = yyvsp[-2].str; yyval.val->value.words = yyvsp[0].verw; - ;} - break; - - case 201: -#line 1646 "parser.y" - { yyval.verw = new_ver_words(yyvsp[0].num); ;} - break; - - case 202: -#line 1647 "parser.y" - { yyval.verw = add_ver_words(yyvsp[-2].verw, yyvsp[0].num); ;} + } break; case 203: -#line 1651 "parser.y" +#line 1653 "./parser.y" + { yyval.verw = new_ver_words(yyvsp[0].num); } + break; + + case 204: +#line 1654 "./parser.y" + { yyval.verw = add_ver_words(yyvsp[-2].verw, yyvsp[0].num); } + break; + + case 205: +#line 1658 "./parser.y" { int nitems; toolbar_item_t *items = get_tlbr_buttons_head(yyvsp[-1].tlbarItems, &nitems); @@ -3814,39 +3825,39 @@ yyreduce: { yyval.tlbar->lvc.language = dup_language(currentlanguage); } - ;} + } break; - case 204: -#line 1677 "parser.y" - { yyval.tlbarItems = NULL; ;} + case 206: +#line 1684 "./parser.y" + { yyval.tlbarItems = NULL; } break; - case 205: -#line 1678 "parser.y" + case 207: +#line 1685 "./parser.y" { toolbar_item_t *idrec = new_toolbar_item(); idrec->id = yyvsp[0].num; yyval.tlbarItems = ins_tlbr_button(yyvsp[-2].tlbarItems, idrec); - ;} + } break; - case 206: -#line 1683 "parser.y" + case 208: +#line 1690 "./parser.y" { toolbar_item_t *idrec = new_toolbar_item(); idrec->id = 0; yyval.tlbarItems = ins_tlbr_button(yyvsp[-1].tlbarItems, idrec); - ;} + } break; - case 207: -#line 1692 "parser.y" - { yyval.iptr = NULL; ;} + case 209: +#line 1699 "./parser.y" + { yyval.iptr = NULL; } break; - case 208: -#line 1693 "parser.y" + case 210: +#line 1700 "./parser.y" { if(yyvsp[-1].iptr) { @@ -3856,11 +3867,11 @@ yyreduce: } else yyval.iptr = yyvsp[0].iptr; - ;} + } break; - case 209: -#line 1703 "parser.y" + case 211: +#line 1710 "./parser.y" { if(yyvsp[-1].iptr) { @@ -3873,51 +3884,51 @@ yyreduce: *yyvsp[0].iptr &= WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE | WRC_MO_PURE; yyval.iptr = yyvsp[0].iptr; } - ;} - break; - - case 210: -#line 1718 "parser.y" - { yyval.iptr = new_int(WRC_MO_PRELOAD); ;} - break; - - case 211: -#line 1719 "parser.y" - { yyval.iptr = new_int(WRC_MO_MOVEABLE); ;} + } break; case 212: -#line 1720 "parser.y" - { yyval.iptr = new_int(WRC_MO_DISCARDABLE); ;} +#line 1725 "./parser.y" + { yyval.iptr = new_int(WRC_MO_PRELOAD); } break; case 213: -#line 1721 "parser.y" - { yyval.iptr = new_int(WRC_MO_PURE); ;} +#line 1726 "./parser.y" + { yyval.iptr = new_int(WRC_MO_MOVEABLE); } break; case 214: -#line 1724 "parser.y" - { yyval.iptr = new_int(~WRC_MO_PRELOAD); ;} +#line 1727 "./parser.y" + { yyval.iptr = new_int(WRC_MO_DISCARDABLE); } break; case 215: -#line 1725 "parser.y" - { yyval.iptr = new_int(~WRC_MO_MOVEABLE); ;} +#line 1728 "./parser.y" + { yyval.iptr = new_int(WRC_MO_PURE); } break; case 216: -#line 1726 "parser.y" - { yyval.iptr = new_int(~WRC_MO_PURE); ;} +#line 1731 "./parser.y" + { yyval.iptr = new_int(~WRC_MO_PRELOAD); } break; case 217: -#line 1730 "parser.y" - { yyval.lvc = new_lvc(); ;} +#line 1732 "./parser.y" + { yyval.iptr = new_int(~WRC_MO_MOVEABLE); } break; case 218: -#line 1731 "parser.y" +#line 1733 "./parser.y" + { yyval.iptr = new_int(~WRC_MO_PURE); } + break; + + case 219: +#line 1737 "./parser.y" + { yyval.lvc = new_lvc(); } + break; + + case 220: +#line 1738 "./parser.y" { if(!win32) yywarning("LANGUAGE not supported in 16-bit mode"); @@ -3925,11 +3936,11 @@ yyreduce: yyerror("Language already defined"); yyval.lvc = yyvsp[-1].lvc; yyvsp[-1].lvc->language = yyvsp[0].lan; - ;} + } break; - case 219: -#line 1739 "parser.y" + case 221: +#line 1746 "./parser.y" { if(!win32) yywarning("CHARACTERISTICS not supported in 16-bit mode"); @@ -3937,11 +3948,11 @@ yyreduce: yyerror("Characteristics already defined"); yyval.lvc = yyvsp[-1].lvc; yyvsp[-1].lvc->characts = yyvsp[0].chars; - ;} + } break; - case 220: -#line 1747 "parser.y" + case 222: +#line 1754 "./parser.y" { if(!win32) yywarning("VERSION not supported in 16-bit mode"); @@ -3949,29 +3960,29 @@ yyreduce: yyerror("Version already defined"); yyval.lvc = yyvsp[-1].lvc; yyvsp[-1].lvc->version = yyvsp[0].ver; - ;} - break; - - case 221: -#line 1765 "parser.y" - { yyval.lan = new_language(yyvsp[-2].num, yyvsp[0].num); - if (get_language_codepage(yyvsp[-2].num, yyvsp[0].num) == -1) - yyerror( "Language %04x is not supported", (yyvsp[0].num<<10) + yyvsp[-2].num); - ;} - break; - - case 222: -#line 1772 "parser.y" - { yyval.chars = new_characts(yyvsp[0].num); ;} + } break; case 223: -#line 1776 "parser.y" - { yyval.ver = new_version(yyvsp[0].num); ;} +#line 1772 "./parser.y" + { yyval.lan = new_language(yyvsp[-2].num, yyvsp[0].num); + if (get_language_codepage(yyvsp[-2].num, yyvsp[0].num) == -1) + yyerror( "Language %04x is not supported", (yyvsp[0].num<<10) + yyvsp[-2].num); + } break; case 224: -#line 1780 "parser.y" +#line 1779 "./parser.y" + { yyval.chars = new_characts(yyvsp[0].num); } + break; + + case 225: +#line 1783 "./parser.y" + { yyval.ver = new_version(yyvsp[0].num); } + break; + + case 226: +#line 1787 "./parser.y" { if(yyvsp[-3].lvc) { @@ -3983,179 +3994,179 @@ yyreduce: yyvsp[-1].raw->lvc.language = dup_language(currentlanguage); yyval.raw = yyvsp[-1].raw; - ;} - break; - - case 225: -#line 1795 "parser.y" - { yyval.raw = yyvsp[0].raw; ;} - break; - - case 226: -#line 1796 "parser.y" - { yyval.raw = int2raw_data(yyvsp[0].num); ;} + } break; case 227: -#line 1797 "parser.y" - { yyval.raw = int2raw_data(-(yyvsp[0].num)); ;} +#line 1802 "./parser.y" + { yyval.raw = yyvsp[0].raw; } break; case 228: -#line 1798 "parser.y" - { yyval.raw = long2raw_data(yyvsp[0].num); ;} +#line 1803 "./parser.y" + { yyval.raw = int2raw_data(yyvsp[0].num); } break; case 229: -#line 1799 "parser.y" - { yyval.raw = long2raw_data(-(yyvsp[0].num)); ;} +#line 1804 "./parser.y" + { yyval.raw = int2raw_data(-(yyvsp[0].num)); } break; case 230: -#line 1800 "parser.y" - { yyval.raw = str2raw_data(yyvsp[0].str); ;} +#line 1805 "./parser.y" + { yyval.raw = long2raw_data(yyvsp[0].num); } break; case 231: -#line 1801 "parser.y" - { yyval.raw = merge_raw_data(yyvsp[-2].raw, yyvsp[0].raw); free(yyvsp[0].raw->data); free(yyvsp[0].raw); ;} +#line 1806 "./parser.y" + { yyval.raw = long2raw_data(-(yyvsp[0].num)); } break; case 232: -#line 1802 "parser.y" - { yyval.raw = merge_raw_data_int(yyvsp[-2].raw, yyvsp[0].num); ;} +#line 1807 "./parser.y" + { yyval.raw = str2raw_data(yyvsp[0].str); } break; case 233: -#line 1803 "parser.y" - { yyval.raw = merge_raw_data_int(yyvsp[-3].raw, -(yyvsp[0].num)); ;} +#line 1808 "./parser.y" + { yyval.raw = merge_raw_data(yyvsp[-2].raw, yyvsp[0].raw); free(yyvsp[0].raw->data); free(yyvsp[0].raw); } break; case 234: -#line 1804 "parser.y" - { yyval.raw = merge_raw_data_long(yyvsp[-2].raw, yyvsp[0].num); ;} +#line 1809 "./parser.y" + { yyval.raw = merge_raw_data_int(yyvsp[-2].raw, yyvsp[0].num); } break; case 235: -#line 1805 "parser.y" - { yyval.raw = merge_raw_data_long(yyvsp[-3].raw, -(yyvsp[0].num)); ;} +#line 1810 "./parser.y" + { yyval.raw = merge_raw_data_int(yyvsp[-3].raw, -(yyvsp[0].num)); } break; case 236: -#line 1806 "parser.y" - { yyval.raw = merge_raw_data_str(yyvsp[-2].raw, yyvsp[0].str); ;} +#line 1811 "./parser.y" + { yyval.raw = merge_raw_data_long(yyvsp[-2].raw, yyvsp[0].num); } break; case 237: -#line 1810 "parser.y" - { yyval.raw = load_file(yyvsp[0].str,dup_language(currentlanguage)); ;} +#line 1812 "./parser.y" + { yyval.raw = merge_raw_data_long(yyvsp[-3].raw, -(yyvsp[0].num)); } break; case 238: -#line 1811 "parser.y" - { yyval.raw = yyvsp[0].raw; ;} +#line 1813 "./parser.y" + { yyval.raw = merge_raw_data_str(yyvsp[-2].raw, yyvsp[0].str); } break; case 239: -#line 1818 "parser.y" - { yyval.iptr = 0; ;} +#line 1817 "./parser.y" + { yyval.raw = load_file(yyvsp[0].str,dup_language(currentlanguage)); } break; case 240: -#line 1819 "parser.y" - { yyval.iptr = new_int(yyvsp[0].num); ;} +#line 1818 "./parser.y" + { yyval.raw = yyvsp[0].raw; } break; case 241: -#line 1823 "parser.y" - { yyval.num = (yyvsp[0].num); ;} +#line 1825 "./parser.y" + { yyval.iptr = 0; } break; case 242: -#line 1826 "parser.y" - { yyval.num = (yyvsp[-2].num) + (yyvsp[0].num); ;} +#line 1826 "./parser.y" + { yyval.iptr = new_int(yyvsp[0].num); } break; case 243: -#line 1827 "parser.y" - { yyval.num = (yyvsp[-2].num) - (yyvsp[0].num); ;} +#line 1830 "./parser.y" + { yyval.num = (yyvsp[0].num); } break; case 244: -#line 1828 "parser.y" - { yyval.num = (yyvsp[-2].num) | (yyvsp[0].num); ;} +#line 1833 "./parser.y" + { yyval.num = (yyvsp[-2].num) + (yyvsp[0].num); } break; case 245: -#line 1829 "parser.y" - { yyval.num = (yyvsp[-2].num) & (yyvsp[0].num); ;} +#line 1834 "./parser.y" + { yyval.num = (yyvsp[-2].num) - (yyvsp[0].num); } break; case 246: -#line 1830 "parser.y" - { yyval.num = (yyvsp[-2].num) * (yyvsp[0].num); ;} +#line 1835 "./parser.y" + { yyval.num = (yyvsp[-2].num) | (yyvsp[0].num); } break; case 247: -#line 1831 "parser.y" - { yyval.num = (yyvsp[-2].num) / (yyvsp[0].num); ;} +#line 1836 "./parser.y" + { yyval.num = (yyvsp[-2].num) & (yyvsp[0].num); } break; case 248: -#line 1832 "parser.y" - { yyval.num = (yyvsp[-2].num) ^ (yyvsp[0].num); ;} +#line 1837 "./parser.y" + { yyval.num = (yyvsp[-2].num) * (yyvsp[0].num); } break; case 249: -#line 1833 "parser.y" - { yyval.num = ~(yyvsp[0].num); ;} +#line 1838 "./parser.y" + { yyval.num = (yyvsp[-2].num) / (yyvsp[0].num); } break; case 250: -#line 1834 "parser.y" - { yyval.num = -(yyvsp[0].num); ;} +#line 1839 "./parser.y" + { yyval.num = (yyvsp[-2].num) ^ (yyvsp[0].num); } break; case 251: -#line 1835 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 1840 "./parser.y" + { yyval.num = ~(yyvsp[0].num); } break; case 252: -#line 1836 "parser.y" - { yyval.num = yyvsp[-1].num; ;} +#line 1841 "./parser.y" + { yyval.num = -(yyvsp[0].num); } break; case 253: -#line 1837 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 1842 "./parser.y" + { yyval.num = yyvsp[0].num; } break; case 254: -#line 1841 "parser.y" - { yyval.num = (yyvsp[0].num); ;} +#line 1843 "./parser.y" + { yyval.num = yyvsp[-1].num; } break; case 255: -#line 1842 "parser.y" - { yyval.num = ~(yyvsp[0].num); ;} +#line 1844 "./parser.y" + { yyval.num = yyvsp[0].num; } break; case 256: -#line 1845 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 1848 "./parser.y" + { yyval.num = (yyvsp[0].num); } break; case 257: -#line 1846 "parser.y" - { yyval.num = yyvsp[0].num; ;} +#line 1849 "./parser.y" + { yyval.num = ~(yyvsp[0].num); } + break; + + case 258: +#line 1852 "./parser.y" + { yyval.num = yyvsp[0].num; } + break; + + case 259: +#line 1853 "./parser.y" + { yyval.num = yyvsp[0].num; } break; } /* Line 1000 of yacc.c. */ -#line 4159 "parser.tab.c" +#line 4170 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -4380,7 +4391,7 @@ yyreturn: } -#line 1849 "parser.y" +#line 1856 "./parser.y" /* Dialog specific functions */ static dialog_t *dialog_style(style_t * st, dialog_t *dlg) @@ -5552,6 +5563,10 @@ static int rsrcid_to_token(int lookahead) type = "TOOLBAR"; token = tTOOLBAR; break; + case WRC_RT_HTML: + type = "HTML"; + token = tHTML; + break; case WRC_RT_STRING: type = "STRINGTABLE"; @@ -5567,7 +5582,6 @@ static int rsrcid_to_token(int lookahead) case WRC_RT_DLGINCLUDE: case WRC_RT_PLUGPLAY: case WRC_RT_VXD: - case WRC_RT_HTML: yywarning("Usertype uses reserved type ID %d, which is not supported by wrc yet", yylval.num); default: return lookahead; diff --git a/reactos/tools/wrc/y.tab.h b/reactos/tools/wrc/y.tab.h index b7eb84eb695..973eea1d29e 100644 --- a/reactos/tools/wrc/y.tab.h +++ b/reactos/tools/wrc/y.tab.h @@ -50,67 +50,68 @@ tFONT = 276, tFONTDIR = 277, tICON = 278, - tAUTO3STATE = 279, - tAUTOCHECKBOX = 280, - tAUTORADIOBUTTON = 281, - tCHECKBOX = 282, - tDEFPUSHBUTTON = 283, - tPUSHBUTTON = 284, - tRADIOBUTTON = 285, - tSTATE3 = 286, - tGROUPBOX = 287, - tCOMBOBOX = 288, - tLISTBOX = 289, - tSCROLLBAR = 290, - tCONTROL = 291, - tEDITTEXT = 292, - tRTEXT = 293, - tCTEXT = 294, - tLTEXT = 295, - tBLOCK = 296, - tVALUE = 297, - tSHIFT = 298, - tALT = 299, - tASCII = 300, - tVIRTKEY = 301, - tGRAYED = 302, - tCHECKED = 303, - tINACTIVE = 304, - tNOINVERT = 305, - tPURE = 306, - tIMPURE = 307, - tDISCARDABLE = 308, - tLOADONCALL = 309, - tPRELOAD = 310, - tFIXED = 311, - tMOVEABLE = 312, - tCLASS = 313, - tCAPTION = 314, - tCHARACTERISTICS = 315, - tEXSTYLE = 316, - tSTYLE = 317, - tVERSION = 318, - tLANGUAGE = 319, - tFILEVERSION = 320, - tPRODUCTVERSION = 321, - tFILEFLAGSMASK = 322, - tFILEOS = 323, - tFILETYPE = 324, - tFILEFLAGS = 325, - tFILESUBTYPE = 326, - tMENUBARBREAK = 327, - tMENUBREAK = 328, - tMENUITEM = 329, - tPOPUP = 330, - tSEPARATOR = 331, - tHELP = 332, - tTOOLBAR = 333, - tBUTTON = 334, - tBEGIN = 335, - tEND = 336, - tDLGINIT = 337, - tNOT = 338, - pUPM = 339 + tHTML = 279, + tAUTO3STATE = 280, + tAUTOCHECKBOX = 281, + tAUTORADIOBUTTON = 282, + tCHECKBOX = 283, + tDEFPUSHBUTTON = 284, + tPUSHBUTTON = 285, + tRADIOBUTTON = 286, + tSTATE3 = 287, + tGROUPBOX = 288, + tCOMBOBOX = 289, + tLISTBOX = 290, + tSCROLLBAR = 291, + tCONTROL = 292, + tEDITTEXT = 293, + tRTEXT = 294, + tCTEXT = 295, + tLTEXT = 296, + tBLOCK = 297, + tVALUE = 298, + tSHIFT = 299, + tALT = 300, + tASCII = 301, + tVIRTKEY = 302, + tGRAYED = 303, + tCHECKED = 304, + tINACTIVE = 305, + tNOINVERT = 306, + tPURE = 307, + tIMPURE = 308, + tDISCARDABLE = 309, + tLOADONCALL = 310, + tPRELOAD = 311, + tFIXED = 312, + tMOVEABLE = 313, + tCLASS = 314, + tCAPTION = 315, + tCHARACTERISTICS = 316, + tEXSTYLE = 317, + tSTYLE = 318, + tVERSION = 319, + tLANGUAGE = 320, + tFILEVERSION = 321, + tPRODUCTVERSION = 322, + tFILEFLAGSMASK = 323, + tFILEOS = 324, + tFILETYPE = 325, + tFILEFLAGS = 326, + tFILESUBTYPE = 327, + tMENUBARBREAK = 328, + tMENUBREAK = 329, + tMENUITEM = 330, + tPOPUP = 331, + tSEPARATOR = 332, + tHELP = 333, + tTOOLBAR = 334, + tBUTTON = 335, + tBEGIN = 336, + tEND = 337, + tDLGINIT = 338, + tNOT = 339, + pUPM = 340 }; #endif #define tNL 258 @@ -134,73 +135,74 @@ #define tFONT 276 #define tFONTDIR 277 #define tICON 278 -#define tAUTO3STATE 279 -#define tAUTOCHECKBOX 280 -#define tAUTORADIOBUTTON 281 -#define tCHECKBOX 282 -#define tDEFPUSHBUTTON 283 -#define tPUSHBUTTON 284 -#define tRADIOBUTTON 285 -#define tSTATE3 286 -#define tGROUPBOX 287 -#define tCOMBOBOX 288 -#define tLISTBOX 289 -#define tSCROLLBAR 290 -#define tCONTROL 291 -#define tEDITTEXT 292 -#define tRTEXT 293 -#define tCTEXT 294 -#define tLTEXT 295 -#define tBLOCK 296 -#define tVALUE 297 -#define tSHIFT 298 -#define tALT 299 -#define tASCII 300 -#define tVIRTKEY 301 -#define tGRAYED 302 -#define tCHECKED 303 -#define tINACTIVE 304 -#define tNOINVERT 305 -#define tPURE 306 -#define tIMPURE 307 -#define tDISCARDABLE 308 -#define tLOADONCALL 309 -#define tPRELOAD 310 -#define tFIXED 311 -#define tMOVEABLE 312 -#define tCLASS 313 -#define tCAPTION 314 -#define tCHARACTERISTICS 315 -#define tEXSTYLE 316 -#define tSTYLE 317 -#define tVERSION 318 -#define tLANGUAGE 319 -#define tFILEVERSION 320 -#define tPRODUCTVERSION 321 -#define tFILEFLAGSMASK 322 -#define tFILEOS 323 -#define tFILETYPE 324 -#define tFILEFLAGS 325 -#define tFILESUBTYPE 326 -#define tMENUBARBREAK 327 -#define tMENUBREAK 328 -#define tMENUITEM 329 -#define tPOPUP 330 -#define tSEPARATOR 331 -#define tHELP 332 -#define tTOOLBAR 333 -#define tBUTTON 334 -#define tBEGIN 335 -#define tEND 336 -#define tDLGINIT 337 -#define tNOT 338 -#define pUPM 339 +#define tHTML 279 +#define tAUTO3STATE 280 +#define tAUTOCHECKBOX 281 +#define tAUTORADIOBUTTON 282 +#define tCHECKBOX 283 +#define tDEFPUSHBUTTON 284 +#define tPUSHBUTTON 285 +#define tRADIOBUTTON 286 +#define tSTATE3 287 +#define tGROUPBOX 288 +#define tCOMBOBOX 289 +#define tLISTBOX 290 +#define tSCROLLBAR 291 +#define tCONTROL 292 +#define tEDITTEXT 293 +#define tRTEXT 294 +#define tCTEXT 295 +#define tLTEXT 296 +#define tBLOCK 297 +#define tVALUE 298 +#define tSHIFT 299 +#define tALT 300 +#define tASCII 301 +#define tVIRTKEY 302 +#define tGRAYED 303 +#define tCHECKED 304 +#define tINACTIVE 305 +#define tNOINVERT 306 +#define tPURE 307 +#define tIMPURE 308 +#define tDISCARDABLE 309 +#define tLOADONCALL 310 +#define tPRELOAD 311 +#define tFIXED 312 +#define tMOVEABLE 313 +#define tCLASS 314 +#define tCAPTION 315 +#define tCHARACTERISTICS 316 +#define tEXSTYLE 317 +#define tSTYLE 318 +#define tVERSION 319 +#define tLANGUAGE 320 +#define tFILEVERSION 321 +#define tPRODUCTVERSION 322 +#define tFILEFLAGSMASK 323 +#define tFILEOS 324 +#define tFILETYPE 325 +#define tFILEFLAGS 326 +#define tFILESUBTYPE 327 +#define tMENUBARBREAK 328 +#define tMENUBREAK 329 +#define tMENUITEM 330 +#define tPOPUP 331 +#define tSEPARATOR 332 +#define tHELP 333 +#define tTOOLBAR 334 +#define tBUTTON 335 +#define tBEGIN 336 +#define tEND 337 +#define tDLGINIT 338 +#define tNOT 339 +#define pUPM 340 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 240 "parser.y" +#line 240 "./parser.y" typedef union YYSTYPE { string_t *str; int num; @@ -215,6 +217,7 @@ typedef union YYSTYPE { fontdir_t *fnd; menu_t *men; menuex_t *menex; + html_t *html; rcdata_t *rdt; stringtable_t *stt; stt_entry_t *stte; @@ -244,7 +247,7 @@ typedef union YYSTYPE { ani_any_t *ani; } YYSTYPE; /* Line 1275 of yacc.c. */ -#line 248 "parser.tab.h" +#line 251 "y.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1