RE/Flex & Bison
The RE/Flex and Bison tools are modern tools but have antecedents,
- RE/Flex is based on Lex:
The original paper on Lex:
- Lesk, M. E. and E. Schmidt .
Lex: A Lexical Analyzer Generator. Computing Science Technical Report No. 39, Bell Laboratories, Murray Hill, New Jersey.
- Bison is based on Yacc, here is the original Yacc paper:
- Johnson, Stephen C. .
Yacc: Yet Another Compiler Compiler. Computing Science Technical Report No. 32, Bell Laboratories, Murray hill, New Jersey.
- Bison documentation:
The Bison documentation,
RE/Flex is a C++ library that serves as a replacement for the popular Flex lexer generator.
It provides similar functionality as Flex, with the added benefits of being written in C++, which results in improved performance and advanced features.
- Key features:
Generation of deterministic and non-deterministic finite automata
Support for Unicode, wide characters, and multiple character sets
- Compatibility with Flex:
RE-FLEX is compatible with the input and output formats used by Flex, allowing for easy migration of existing Flex-based projects to RE-FLEX.
RE-FLEX offers a more powerful and flexible alternative to Flex, while still maintaining compatibility with its input and output formats.
This allows developers to take advantage of RE-FLEX’s improved performance and advanced features, while still being able to work with familiar formats and tools.
- Reflex documentation:
RE/Flex documentation are available for browsing.
- How to start with Lex and Yacc:
These introductory guides can help beginners:
- Thomas Niemann.
A Compact Guide to Lex & Yacc. An introduction to Lex and Yacc.
- Collective Work
Programming with GNU Software. Contains information about Autoconf, Automake, Gperf, Flex, Bison, and GCC.