> On 22 May 2018, at 08:16, Akim Demaille <[email protected]> wrote: > >> Le 20 mai 2018 à 13:06, Hans Åberg <[email protected]> a écrit : >> >> >>> On 20 May 2018, at 10:44, Akim Demaille <[email protected]> wrote: >> >>> I think Bison 3.0.5 is ready. However, before making it widely >>> available it would be nice if people could give it a try on their >>> projects. >> >> On MacOS 10.13.4, all tests passed with clang and gcc 7.3.0 (MacPorts), >> skipping Java, Doxygen, and on gcc, syncline. >> >> When I take down maint [1], the lexer files named bison/src/*-c.c remain. So >> it will not compile without fixing the real ones somehow, cf. [2]. >> >> 1. git clone -b maint https://git.savannah.gnu.org/git/bison.git >> 2. https://lists.gnu.org/archive/html/help-bison/2018-01/msg00001.html > > These files are expected, all is ok here. > > Your problem is probably that flex was rejected by configure. > Try to reconfigure.
It worked now, using flex 2.5.37. I have a MacPorts flex 2.6.4, but I do not know if that was the culprit. -Yes, Flex has been updated, and there are other problems with it. I was able to use your locations implementaion without the driver in the calc++ example. It even works with the flex 2.5.37 C++ header. However, in flex 2.6.4, the same named header has changed the istream pointer to an object, meaning that if one gets hold of the wrong one, the code will fail, and also any .ll code involving lexing istream stacks. Therefore, I looked on alternatives: I wrote some DFA/NFA code, and incidentally found the most efficient method make action matches via a reverse NFA lookup, cf. [1-3]. 1. https://gcc.gnu.org/ml/libstdc++/2018-04/msg00032.html 2. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85472 3. https://gcc.gnu.org/ml/libstdc++/2018-05/msg00015.html
