Currently, we require Flex, rather than Lex, but we don't require a version of Flex sufficiently new to support reentrant scanners.
That's not a major issue yet, but it could potentially be an issue if we make more use of threading and have two threads in the same process
1) both reading Lucent/Ascend ISDN device text output files;
2) both reading Tektronix K12 text files;
3) both importing text files as captures;
as those all involve Flex scanners. It *might* also come up if any of the other Flex-scanner code is run in more than one thread at once.
If we also require a version of Flex that supports --header-file=, it could also let us clean up or even eliminate the runlex.sh script, as those versions of Flex can generate a .h files that declares functions.
Flex 2.5.6 (from some time in 2002, I think) adds support for reentrant scanners. It also supports --header=, which was renamed to --header-file in Flex 2.5.19, released 2002-09-05.
We'd also want to require Bison or Berkeley YACC, to generate reentrant parsers, for the Lucent/Ascend ISDN device text file reader.