webkit项目中cssyyparse函数的代码在哪里?

逆向工程 C++ 职能
2021-07-11 00:33:51


最近,我查看了 webkit 源代码,发现有一个函数 'cssyyparse',我找不到 c++ 正文代码。只有 cssyyparse 函数的声明。

// CSSParser.cpp
外部 int cssyyparse(WebCore::CSSParser*);
...
cssyyparse(this);

但是,我无法在整个 WebKit 源代码中找到代码体。
如何找到 cssyyparse 函数代码?我有什么问题吗?

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

谢谢。

1个回答

WebKit 使用Bison进行解析。您可以在此处找到语法文件:

默认的 Bison 解析函数名称是yyparse. WebKit 使用用 Perl 编写的预处理器来自动化一些事情,包括将函数前缀更改为cssyy. 预处理器位于/Source/WebCore/css/makegrammar.pl 中