lex and
yacclex and yacc are bundled with the HP aC++ product.
The following is a list of HP specific features of
lex and yacc. For more
information on these tools, see the lex and yacc man
pages or the HP-UX Reference. Another general source of
information
is lex and yacc by John R. Levine, Tony Mason, and Doug Brown.
LC_CTYPE and LC_MESSAGES environment variable
support in lex - Determines the size of the characters and
language in which messages are displayed while you use lex.
-m command line option for lex - Specifies that
multibyte characters may be used anywhere single byte characters are allowed.
You can intermix both 8-bit and 16-bit multibyte characters in regular
expressions if you enable the -m command line option.
-w command line option for lex - Includes all
features in -m and returns data in the form of the
wchar_t data type.
%l <locale> directive for lex - Specifies
the locale at the beginning of the definitions section. Any valid locale
recognized by the setlocale function can be used. This directive
is similar to using the LC_CTYPE environment variable. To receive
wchar_t support with %l, use the -w
command line option.
LC_CTYPE environment variable support in yacc -
Determines the native language set used by yacc and enables
multibyte character sets. Multibyte characters can appear in token names, on
terminal symbols, strings, comments, or anywhere ASCII characters can appear,
except as separators or special characters.
lex and
yaccWhen using lex and yacc, please note the following:
yacc or lex can have many
unreachable break statements, causing multiple aC++ warnings.