[webkit-dev] Regarding lex( ) function in WebKit
Mark Rowe
bdash at webkit.org
Mon Sep 3 06:04:16 PDT 2007
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
More information about the webkit-dev
mailing list