Regarding lex( ) function in WebKit
Hi All, In the file WebKit/WebCore/css/CSSParser.cpp, there is a function with following signature. int CSSParser::lex(void* yylav) Inside this function there is call to function lex like this, int token = lex(); This lex() function is declared in header file CSSParser.h Header file has declaration for both the lex functions as follows. int lex(void* yylval); int lex(); But in CSSParser.cpp, i am not finding any definition for the second function lex(). If i try to build WebKit with Gdk support, i am getting undefined symbols error that says, ld:Undefined symbols __ZN7WebCore9CSSParser3lexEv Can anyone please give me more insight into this missing function definition. Thanks, Shriram
On 03/09/2007, at 19:47, Shriram Bhat wrote:
Hi All,
In the file WebKit/WebCore/css/CSSParser.cpp, there is a function with following signature. int CSSParser::lex(void* yylav)
Inside this function there is call to function lex like this, int token = lex(); This lex() function is declared in header file CSSParser.h Header file has declaration for both the lex functions as follows.
int lex(void* yylval); int lex();
But in CSSParser.cpp, i am not finding any definition for the second function lex().
If i try to build WebKit with Gdk support, i am getting undefined symbols error that says, ld:Undefined symbols __ZN7WebCore9CSSParser3lexEv
Can anyone please give me more insight into this missing function definition.
The function is generated from tokenizer.flex and ends up in tokenizer.cpp, which CSSParser.cpp #include's. On the Mac build this file is generated to WebKitBuild/Debug/DerivedSources/WebCore/ tokenizer.cpp. I'm not sure precisely where it would end up with the Gdk build. If you're seeing a link error with this function missing it would suggest that the file is not being generated correctly due to an error in either flex or the WebCore/css/maketokenizer script which post-processes the flex output. Kind regards, Mark Rowe
participants (2)
-
Mark Rowe
-
Shriram Bhat