Still fixing things for correct compilation of TeX and al. under Plan9, I stumbled upon this one.
Traditional lex(1) uses: char yytext[]; The code (main code for translation between Pascal and C), was declaring in the external units: char *yytext; The result is no problem at compilation/linkage, but a suicide at first yytext external access. And I wandered with acid(1) and sam(1) to try to understand what was going on. Of course, I suspected UTF/Rune and the like, before suspecting a problem on the linkage. So APE is a very good POSIX environment for verification, since, until now, when Plan9 was not agreeing, it was right. So for Plan9 lex(1), yytext is an array. And you can specify "%array" in the first definition of your *.l for flex(1) so that it handles an array too. A side note. gcc(1) is very verbose (well: I always set -Wall). ken-cc is---surprise---more laconic; but when he was saying: no! he was right, for things that were going silently under NetBSD. And I like sam(1) too... Regexp and the mouse, that's it! -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C