From: <no...@so...> - 2002-12-11 17:47:46
|
Bugs item #651667, was opened at 2002-12-10 14:20 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104664&aid=651667&group_id=4664 Category: None Group: None Status: Closed Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Hans-Bernhard Broeker (broeker) Summary: recent version of Bison fails on egrep.y Initial Comment: Tried to compile cscope source (release 15.4) under cygwin(setup release 2.249.2.5). It fails quickly with the following messages: command being run by make: bison -y egrep.y && mv y.tab.c egrep.c errors: egrep.y:106.3: parse error, unexpected "=", expecting ";" or "|" same error shows up at lines 111.3, 120.3 124.3 134.3 another error: egrep.y:113.4-26: invalid $ value same error shows up at 115.4-26 too. Version levels of different modules in cygwin: bash-2.05b-8 binutils-20021117-1 bison-1.75-1 byacc-1.9-1 cmake-1.4.6-1 ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-12-11 09:47 Message: Logged In: NO Yes, without any reading the man yacc/bison pages, I changed the egrep.y to conform to the new syntax as suggested, and the compilation went well. And the cscope binary is working fine too. I have also used ctags with this cscope all under cygwin/x86. So, I guess, those lines in egrep.y with "={...}" can be safely changed in the source base to use "{...}". There are only 4 or 5 such cases between lines 105 and 130. Thanks. ---------------------------------------------------------------------- Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-12-11 09:28 Message: Logged In: YES user_id=27517 Egrep.y *is* fixed already, but obviously only in the CVS version only, for now. Go figure. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-12-11 09:25 Message: Logged In: NO Since this is part of cscope project, I wonder if egrep.y is being fixed and what the fix is, to avoid using the depricated interfaces in yacc/bison. Honestly, I am not yacc/bison expert, but a user of cscope in daily life. So, I can read a bit of man bison man page, and try fixing it myself for now, and if it works, let the community know. ---------------------------------------------------------------------- Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-12-11 06:49 Message: Logged In: YES user_id=27517 After some further digging, I found this ={...} syntax is documented as a deprecated alternative to plain {...}, and has been so for an amazing 24 years now, according to one of the Bison guys. Fixed by converting to correct syntax. ---------------------------------------------------------------------- Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-12-11 04:03 Message: Logged In: YES user_id=27517 Hmm.. this is a bit of a puzzle. I've looked into the man pages of both Unix yacc and GNU bison, but couldn't find any mention of the "={" syntax found in those lines of the file. For the moment, I take it this means that the version of bison you have (1.75) cannot be used with this rather old parser source code any more. Or, to put it another way round, the newer Bison seems to have broken backward compatibility to YACC in some way. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104664&aid=651667&group_id=4664 |