Hi, As I wrote on comp.emulators.ms-windows.wine, I have the same problem (on 2 machines, a third one works well). What caused the problem is the last patch on wrc (I got the previous version of wrc files and it works). A preprocessed version of what do you want ? Bye Gael On Fri, 15 Jun 2001, Bang Jun-Young wrote:
Hi,
I got the following error when I tried to compile the latest CVS source:
gmake[2]: Entering directory `/home/bjy/wine/dlls/user' LD_LIBRARY_PATH="../../unicode:$LD_LIBRARY_PATH" ../../tools/wrc/wrc -I. -I. -I../../include -I../../include -o resources/user32.res -r resources/user32.rc resources/user32_Ca.rc:2:1: Error: syntax error gmake[2]: *** [resources/user32.res] Error 1
I did a cvs update five minutes ago and it compiled just fine. cvs diff shows no difference in te tools/wrc area either. Can you send me a preprocessed version? -- -- _______________________________________________ Gael de Chalendar LIMSI/CNRS, BP 133, 91 403 Orsay Cedex (France) Tel : 01 69 85 80 04, Fax : 01 69 85 80 88 E-mail : mailto:Gael.de.Chalendar(a)limsi.fr Web : http://www.limsi.fr/Individu/gael/
On Fri, 15 Jun 2001, Gaël de Chalendar wrote:
Hi,
As I wrote on comp.emulators.ms-windows.wine, I have the same problem (on 2 machines, a third one works well). What caused the problem is the last patch on wrc (I got the previous version of wrc files and it works).
A preprocessed version of what do you want ?
I wanted a preprocessed version of the user32.rc file. But Bang Jun-Young sent me the files generated by flex/bison which allowed me to reproduce the problem. I have not yet found a fix but the problem is in the y.tab.c file. Bang Jun-Young is using byacc while I'm using bison so the files are quite different and about impossible to compare. When I compile parser.y I get: bison -y -d -t ./parser.y conflicts: 2 shift/reduce Maybe that's the source of the problem: byacc resolves the conflicts differently from bison which causes tehe parse to fail. -- Francois Gouget fgouget(a)free.fr http://fgouget.free.fr/ Linux, WinNT, MS-DOS - also known as the Good, the Bad and the Ugly.
On Fri, Jun 15, 2001 at 08:09:54AM -0700, Francois Gouget wrote:
I wanted a preprocessed version of the user32.rc file. But Bang Jun-Young sent me the files generated by flex/bison which allowed me to reproduce the problem. I have not yet found a fix but the problem is in the y.tab.c file.
Bang Jun-Young is using byacc while I'm using bison so the files are quite different and about impossible to compare. When I compile parser.y I get:
bison -y -d -t ./parser.y conflicts: 2 shift/reduce
I get the same warning with byacc.
Maybe that's the source of the problem: byacc resolves the conflicts differently from bison which causes tehe parse to fail.
Now I think I have found the reason. It was due to a bug in byacc. From parser.y of revision 1.25: | tNL /* * This newline rule will never get reduced because we never * get the tNL token, unless we explicitely set the 'want_nl' * flag, which we don't. * The *ONLY* reason for this to be here is because Berkeley * yacc (byacc), at least version 1.9, has a bug. * (identified in the generated parser on the second * line with: * static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; * ) * This extra rule fixes it. * The problem is that the expression handling rule "expr: xpr" * is not reduced on non-terminal tokens, defined above in the * %token declarations. Token tNL is the only non-terminal that * can occur. The error becomes visible in the language parsing * rule below, which looks at the look-ahead token and tests it * for tNL. However, byacc already generates an error upon reading * the token instead of keeping it as a lookahead. The reason * lies in the lack of a $default transition in the "expr : xpr . " * state (currently state 25). It is probably ommitted because tNL * is a non-terminal and the state contains 2 s/r conflicts. The * state enumerates all possible transitions instead of using a * $default transition. * All in all, it is a bug in byacc. (period) */ I added a line to parser.y (r1.26) as follows: --- parser.y 2001/06/06 21:04:08 1.26 +++ parser.y 2001/06/23 04:28:52 @@ -423,6 +423,7 @@ want_id = 1; dont_want_id = 0; } + | resources tNL ; After doing that, I could build Wine successfully again. I'll send a complete patch including above comment to wine-patches soon. Jun-Young -- Bang Jun-Young <bjy(a)mogua.org>
On Sat, 23 Jun 2001, Bang Jun-Young wrote: [...]
I added a line to parser.y (r1.26) as follows:
--- parser.y 2001/06/06 21:04:08 1.26 +++ parser.y 2001/06/23 04:28:52 @@ -423,6 +423,7 @@ want_id = 1; dont_want_id = 0; } + | resources tNL ;
After doing that, I could build Wine successfully again. I'll send a complete patch including above comment to wine-patches soon.
Great. I must admit I did not have time to look into this. I tested your patch on my machine and Wine still compiles fine with bison, so you can probably post it to wine-patches. -- Francois Gouget fgouget(a)free.fr http://fgouget.free.fr/ Linux: Because rebooting is for adding new hardware
participants (3)
-
Bang Jun-Young -
Francois Gouget -
Gaël de Chalendar