Hi. I would like to hear your opinion on the following problem:
The l10n tools uses flex, which is quite nice, however I have found two problems with flex: - the .l sources defines YYLMAX, but the generated .c source declares yytext[YYLMAX] BEFORE the definition code it sucked in. I have verified this with the flex sources, nothing to do about it. the flex generated c sources start with flex things (including yytext[YYLMAX]) and then the first part of the .l file is included. The manual states to use YYLMAX to change the yytext buffer size, but with the current flex sources it does not work. - the .l sources defines a '%option prefix="genXrm_"`which according to the manual should replace all yy in the generated code, however it does not work for yytext and yytext_ptr, because the are instanciated before the code is included. The leads to two problems: - YYLMAX not being used, it a performance degradation on all platforms (but no real problem). - yytext not being changed, is in Ubuntu (linux) not a problem, but in windows I had to use a new swich (/forcemultiple), and I have no clue about mac. I see different solutions: 1) I edit the generated .c file, and make a thick note, that if the .l file is translated, that has to be changed. 2) I create a sed that takes the output of flex and does the trix, this requires changing the details of the make files. 3) I report the bug to the flex people with a patch, and we wait until a new version is ready. I am for version 1), but I would like to hear opinions ? thanks in advance. Jan I.