Recently, I have viewed webkit source code and there is a function 'cssyyparse' which I cannot find c++ body code. Ther is only declaration of function cssyyparse.

// CSSParser.cpp
extern int cssyyparse(WebCore::CSSParser*);

But, I can't find body of code in whole of WebKit source code.
How can I find cssyyparse function code? Is there something wrong with me?

source:: http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSParser.cpp?format=txt


  • This isn't really a reverse engineering question, so you might get better results on stack overflow. However, yyparse is a function name normally generated by the yacc/bison parsers. You might want to look for a grammar definition in a *.y file. Aug 26, 2015 at 7:52

1 Answer 1


WebKit uses Bison for parsing. You can find the grammar files here:

The default Bison parsing function name is yyparse. WebKit uses a preprocessor written in Perl to automate a few things, including changing the function prefix to cssyy. The preprocessor is in /Source/WebCore/css/makegrammar.pl.


Not the answer you're looking for? Browse other questions tagged or ask your own question.