|
lex and yacc are bundled with the HP aC++ product.
The following is a list of HP specific features of lex and yacc:
-
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.
Note: When using lex and yacc:
-
Programs generated by yacc or lex can have many unreachable break
statements, causing multiple aC++ warnings.
-
If you want your C++ program to call the yacc generated routines, yyerror,
yylex and yyparse, your program must include the yacc.h header file:
#include <yacc.h>
For more information on these tools, see the lex and yacc
manpages or the HP-UX Reference.
Also refer to lex & yacc by John R. Levine, Tony Mason,
and Doug Brown for more information.
|