Quex is a cross-platform, freely distributed and open source software project that has been designed from the offset to act as a tool to generate lexical analyzers. It is described by its developer as an extremely fast and universal lexical analyzer generator utility.
Features at a glance
Key features include support for generating direct coded lexical analyzers, instead of table-based engines, support for include stacks, support for a wide range of international character encodings, including Unicode, including single token and queue, support for custom token classes, as well as support for creating trigger actions based on event handlers.
Additionally, the application comes with indentation events, various analysis-related events, a vast amount of examples so you can easily get started with the software, practical buffer management capabilities and lexical analyzer modes, which allow users to do mode transitions and mode inheritance. It handles inherent tokens and incorporates a buffer and input management.
Supports numerous character encodings
As mentioned above, the software supports numerous character encodings, including UTF-8, UTF-16, ASCII and RUSCII. Another interesting feature is the ability to specify regular expressions directly in the flex and lex styles.
It can compress templates and paths to reduce code size
It is also very important to mention here that the program is capable of compressing templates and paths in order to reduce the code size. In addition, allows the user to adjust the column number counting and implicit lines, create indentation-based lexical analyzers, including NODENT, INDENT and DEDENT.
Supported operating systems
Quex is a command-line application written entirely in the C and C++ programming languages. It has been designed from the ground up as a multiplatform software that runs under any GNU/Linux distribution. The Solaris, Mac OS X and Microsoft Windows operating systems are also supported at this time. It is distributed as pre-built DEB and RPM packages for 32-bit Linux OSes.