Rename yylex to glcpp_parser_lex and give it a glcpp_parser_t* argument.
Much cleaner this way, (and now our custom lex function has access to
all the parser state which it will need).
diff --git a/glcpp-parse.y b/glcpp-parse.y
index 6ef1cae..04bac00 100644
--- a/glcpp-parse.y
+++ b/glcpp-parse.y
@@ -82,8 +82,10 @@
string_list_t *
_argument_list_member_at (argument_list_t *list, int index);
+#define yylex glcpp_parser_lex
+
static int
-yylex (yyscan_t scanner);
+glcpp_parser_lex (glcpp_parser_t *parser);
%}
@@ -94,7 +96,7 @@
}
%parse-param {glcpp_parser_t *parser}
-%lex-param {void *scanner}
+%lex-param {glcpp_parser_t *parser}
%token DEFINE FUNC_MACRO IDENTIFIER NEWLINE OBJ_MACRO REPLACEMENT TOKEN UNDEF
%type <str> argument_word FUNC_MACRO IDENTIFIER OBJ_MACRO REPLACEMENT TOKEN
@@ -647,7 +649,7 @@
}
static int
-yylex (yyscan_t scanner)
+glcpp_parser_lex (glcpp_parser_t *parser)
{
- return glcpp_lex (scanner);
+ return glcpp_lex (parser->scanner);
}