bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filenaming with .yxx extensions


From: Akim Demaille
Subject: Re: filenaming with .yxx extensions
Date: 27 Feb 2002 09:36:23 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

| On Mon, 2002-02-25 at 20:44, Akim Demaille wrote:
| > >>>>> "Ken" == Ken Foskey <address@hidden> writes:
| > 
| > Ken> OpenOffice.org having some problems with the newer releases of
| > Ken> bison and OpenOffice.  OpenOffice uses the -d option with .yxx
| > Ken> files and it does not react the same way as 1.28 bison.
| > 
| > I believe 1.33 fixed your problem, right?
| 
| Debian Woody (latest) reports version 1.33 bison.
| 
| Command line:
| bison -d -o ../../unxlngi3.pro/inc/../../unxlngi3.pro/inc/rscyacc.yxx
| rscyac.y
| 
| Reports:
| rscyac.y contains 2 shift/reduce coflicts.
| 
| 
| Later I get the following:
| gcc .......
| rscibas.cxx:92: rscyacc.yxx.h: No such file or directory
| 
| 
| Basically the answer is no,  1.33 does not fix this problem.  1.28
| produced a rscyacc.yxx and rscyacc.yxx.h file with the -d option,  1.33
| does not.

What would you say the right answer is?  (I'm asking the question to
Paul too, so let's make a summary first).

When running `bison -o foo.c -d foo.y', bison extrapolates `foo.h'
from `foo.c'.

So we have:

        bison foo.y -d -o foo.c    => foo.c, foo.h
        bison foo.y -d -o foo.cc   => foo.cc, foo.hh
        bison foo.y -d -o foo.c++  => foo.c++, foo.h++

Now, the question is:

        bison foo.y -d -o foo.x
           => error (my preferred)
           => foo.x.c, foo.x.h
           => foo.c, foo.x.h

I think that what did 1.28 is stupid.  In addition to being
incoherent, it cases real problems for 8+3 machines.  I would like to
promote the error, as it is probably a problem we would be able to
resolve in all the cases in the future (the C++ skeletons already
produces 4 files).

Finally, I would like to draw your attention, Ken, that:

/tmp/ken % printf "%%%%\nexp: 'e'" > foo.y                        nostromo 9:35
/tmp/ken % /usr/bin/bison --define=foo.z -o foo.x foo.y           nostromo 9:35
/tmp/ken % ls -ltr                                                nostromo 9:36
total 31
-rw-r--r--    1 akim     lrde           11 fév 27 09:35 foo.y
-rw-r--r--    1 akim     lrde          144 fév 27 09:36 foo.z
-rw-r--r--    1 akim     lrde        28343 fév 27 09:36 foo.x



reply via email to

[Prev in Thread] Current Thread [Next in Thread]