Next: Diagnostics, Previous: Memory Management, Up: flex [Contents][Index]
A flex
scanner has the ability to save the DFA tables to a file, and
load them at runtime when needed. The motivation for this feature is to reduce
the runtime memory footprint. Traditionally, these tables have been compiled into
the scanner as C arrays, and are sometimes quite large. Since the tables are
compiled into the scanner, the memory used by the tables can never be freed.
This is a waste of memory, especially if an application uses several scanners,
but none of them at the same time.
The serialization feature allows the tables to be loaded at runtime, before scanning begins. The tables may be discarded when scanning is finished.