It is flex and bison renaming the generated symbols, mainly I was wondering about how if one has foo.y and foo.l in the same directory for sources, one will end up with foo.c which will contain only one of the generated files, and this occurs without a printed message. However, thank you for your assistance.
Incidentally according to man 1posix yacc it seems that in posix 2003 there are command line options for changing file prefix or symbol prefix. Christian Csar Erik de Castro Lopo wrote: > Christian Csar wrote: > >> Is there anyway to control the behavior of ylwrap? The project I am >> converting has its parsers use files like foo.l and foo.y for the lex >> and yacc files as they go together, and automake then converts both of >> these to foo.c, overwriting the first seemingly silently. Admittedly I >> solved this by changing foo.l to foo-lex.l, but it seems rather >> inelegant. If there is a to notice the existence of foo.l and foo.y in >> the same directory, it might be worth printing out a message as it is >> not an immediately obvious problem (except for refusing to build). > > Is these old school lex/yacc or are you actually using flex/bison? > > The reason I ask is that flex/bison allow renaming all the generated > symbols and I'm not sure if lex/yacc support this. > > For flex, you add something like this at the top of the file: > > %option prefix = "my_" > > and for bison you add this: > > %name-prefix = "my_" > > after the first '%{' .... '%}' block. > > HTH, > Erik