Re: Is there a bug with --skeleton parameter?
Akim Demaille <[email protected]>
| Newsgroups | gmane.comp.parsers.bison.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hi Victor, > Le 4 mars 2020 à 03:59, Morales Cayuela, Victor (NSB - CN/Hangzhou) <[email protected]> a écrit : > > Hello! > > I believe there is something wrong with --skeleton or -S parameter, seems it is not taking effect when passed. > > I had to change the skeleton because the one available in my Mac has v3.4 and to compile the C push-parser I need the v3.5 one. This is what I have found: > > (1) I try to run my local version of bison ($HOME/Projects/bison, not the system one): > $ ./src/bison examples/c/pushcalc/calc.y > > (2) Surprisingly, my local bison reports an error coming from the skeleton in /usr/local/share, not the local one: That's not surprising, the binary hardcodes the (future) location of its files. To use a non-installed bison, use tests/bison, not src/bison. README-hacking should have told you, I'm sorry it didn't :( I'll fix that. > (3) I decided to add --skeleton to force it using the latest skeleton in our project, which I verified contains the missing error level ‘detailed’ (# %define parse.error "(custom|detailed|simple|verbose)"): > $ ./src/bison --skeleton=data/skeletons/bison.m4 examples/c/pushcalc/calc.y > But the same error showed up again. Because it used all the other files (in particular c.m4) from install bison. And please note that bison.m4 is not a skeleton in itself, it's used by the skeletons. Have a look at tests/bison to see how one tells a bison to use a different location for *all* its files. Cheers!