I suppose this is related to what I said to you on IRC, so I ought to chime in here.
I agree with Daniel and David - your patch is not appropriate. As long as we actually have the .l and .y files, the associated .c/.h files should not be checked in, and flex/bison should be required when building from a SVN checkout. To do otherwise risks that someone changes the .l/.y file and forgets to check in the updated .c/.h files, which produces an invalid state in the repository. (Yes, this is a problem with the autoconf-generated files as well, and we *have* had this problem with them in the past. I would actually support removing those generated files from SVN - but that is a separate discussion.) What I was trying to encourage you to do, on IRC, was *replace* gengtype-lex.l with hand-written code. I suggested the use of cpplib because it's existing code that should do the job, and besides, it knows how to do macro expansion, which gengtype badly needs - some terrible hacks could go away. However, it might be tricky to make it work; it's possible that an entirely new lexer would be a better choice. If you do the work, you get to make the call. :-) I do not think it is worth bothering to do anything about the use of flex and bison in treelang. If anything, that entire subdirectory could be dropped; my impression is that it is unmaintained and not particularly useful even as an example. It is already not built nor installed by default. zw