ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: [Wireshark-dev] Should we require Flex with reentrant scanner support?

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Sun, 20 Sep 2015 20:20:23 -0700
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.