[PATCH:libXaw3d] Use -p instead of %parser to make laygram.y compatible with older bison & yacc

Matthieu Herrb matthieu.herrb at laas.fr
Sun Sep 4 01:18:21 PDT 2011


On Sat, Sep 03, 2011 at 10:09:57PM -0400, Gaetan Nadon wrote:
> On Sat, 2011-09-03 at 17:13 -0700, Alan Coopersmith wrote:
> 
> > The %name-prefix "prefix" syntax was introduced in bison 2.3b and
> > is not supported in older bison and yacc parsers.
> > 
> > Without this fix, bison 2.3 (older than 2.3b) gives the cryptic error:
> > .../src/laygram.y:1.14-20: syntax error, unexpected string, expecting =
> > 
> > Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> > ---
> > 
> > Changed to -p as suggested by Matthieu for compatibility with traditional
> > yacc as well as older bison.
> > 
> >  src/Makefile.am |    3 ++-
> >  src/laygram.y   |    1 -
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/Makefile.am b/src/Makefile.am
> > index e912004..aa644f8 100644
> > --- a/src/Makefile.am
> > +++ b/src/Makefile.am
> > @@ -1,6 +1,7 @@
> >  lib_LTLIBRARIES = libXaw3d.la
> >  
> > -AM_YFLAGS = -d
> > +AM_YFLAGS = -d -p LayYY
> > +
> >  AM_CFLAGS =		\
> >  	$(CWARNFLAGS)	\
> >  	$(X11_CFLAGS)	\
> > diff --git a/src/laygram.y b/src/laygram.y
> > index 3644dd4..6c79b16 100644
> > --- a/src/laygram.y
> > +++ b/src/laygram.y
> > @@ -1,4 +1,3 @@
> > -%name-prefix "LayYY"
> >  %defines
> >  %{
> >  #include    <X11/Xlib.h>
> 
> 
> Build tested on Linux Bison 2.4.1
> Tested-by: Gaetan Nadon <memsize at videotron.ca>

Hmm another patch is needed for yacc on OpenBSD. I'll send it
shortly. But this part is ok.
 
> How about %option prefix="LayYY" in laylex.l? 

Could be changed to -P there, but afaik all BSD use flex, since it has
a BSD license, and even the older versions support %option prefix=. 
(recent flex versions require bison, but that's another story...)

The other question is a namespace question. May be LayYY could be
changed to Xaw3dYY or something similar to keep it a bit coherent.

-- 
Matthieu Herrb


More information about the xorg-devel mailing list