Use #define to handle the %name-prefix.

* data/glr.c, data/yacc.c: Comment changes.
* data/lalr1.cc (yylex): Use #define to select the name of yylex,
so that one can refer to yylex in the parser file, and have it
renamed, as is the case with other skeletons.
This commit is contained in:
Akim Demaille
2004-12-16 09:06:08 +00:00
parent 617a8f1227
commit c5b95ccf6b
4 changed files with 20 additions and 8 deletions

View File

@@ -373,8 +373,13 @@ namespace yy
@output @output_parser_name@
b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
[2002, 2003, 2004])
m4_if(b4_defines_flag, 0, [], [#include @output_header_name@])[
m4_if(b4_prefix[], [yy], [],
[
// Take the name prefix into account.
#define yylex b4_prefix[]lex])
m4_if(b4_defines_flag, 0, [],
[
#include @output_header_name@])[
/* A pseudo ostream that takes yydebug_ into account. */
# define YYCDEBUG \
@@ -786,9 +791,9 @@ yy::]b4_parser_class_name[::yylex_ ()
{
YYCDEBUG << "Reading a token: ";
#if YYLSP_NEEDED
yylooka_ = ]m4_default(b4_prefix, [yy])[lex (&value, &location);
yylooka_ = yylex (&value, &location);
#else
yylooka_ = ]m4_default(b4_prefix, [yy])[lex (&value);
yylooka_ = yylex (&value);
#endif
}