> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Can we move the keywords out into another file and somehow pull them
> > into gram.y with the proper attributes so they get into all the places
> > they need to be with little fiddling?
>
> Thinking about that, it seems like it might be nice to have a master
> keyword file that contains just keywords and classifications:
>
> AS Hard-reserved
> CASE ColLabel
> ABSOLUTE TypeFuncId
> BIT ColId
>
> and make some scripts that generate both keyword.c and the list
> productions in gram.y automatically. (Among other things, we could stop
> trusting manual sorting of the keyword.c entries ...) Peter's
> documentation generator would no doubt be a lot happier too --- we
> could add indications of SQL92 and SQL99 reserved status to this
> master file, for example.
>
> However, right offhand I don't see any equivalent of #include in the
> Bison manual, so I'm not sure how the autogenerated list productions
> could be included into the hand-maintained part of gram.y. Thoughts?
Yes, this is what I was suggesting; a central file that can be pulled
in to generate the others.
Doesn't bison deal with #include? I guess not. The only other way is
to make a gram.y.pre, and have Makefile do the inclusions in the proper
spot, and run that new gram.y through bison. The fact is, you have to
process the central file anyway so may as well just do the gram.y
replacements manually too.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026