flexc++
Flex-style scanner generator for C++
Install
- All systems
-
curl cmd.cat/flexc++.sh
- Debian
-
apt-get install flexc++
- Ubuntu
-
apt-get install flexc++
- Kali Linux
-
apt-get install flexc++
- Windows (WSL2)
-
sudo apt-get update
sudo apt-get install flexc++
- Raspbian
-
apt-get install flexc++
- Dockerfile
- dockerfile.run/flexc++
flexc++
Flex-style scanner generator for C++
Flexc++ was designed after `flex'. Flexc++ offers as compared to flex's C++ option a cleaner class-design. Flexc++ generates a scanner class that is ready for use, as well as a member function producing the lexical scanner tokens (lex()). The class can easily be provided with additional members without the need for polymorphic functions. Consequently, classes generated by flexc++ have no virtual members and actually have but one public member: lex(), replacing the old-style flex and flex++ yylex() function. Flexc++ offers many options, among which an option to define classes generated by flexc++ in a separate namespace. This allows developers to define additional symbols, even outside of the class generated by flexc++, without encountering name-collision problems. With flexc++, artificial means to prevent name-collisions, like the yy-conventions used by flex and flex++ are no longer required. Flexc++ generates C++ code. If C code is required, flex should be used. Flexc++'s grammar requirements are highly compatible with flex's requirements, so converting a flex grammar into a flexc++ grammar should be fairly simple. In addition to the flexc++ scanner generator itself and several skeleton files, the package contains an extensive man-page, as well as a full manual rewritten after the original flex manual, and several examples.