我在哪里可以找到Webkit的CSS语法文件?

时间:2015-07-30 10:28:24

标签: css parsing browser webkit grammar

与HTML不同,CSS是context free grammar。语法语法通常用BNFEBNF表示法描述。

根据Tali Garsiel的articke How Browsers Work,WebKit使用Flex and Bison解析器生成器自动从CSS语法文件创建解析器。

由于Webkit是一个开源项目,我希望这些语法文件可以在its source code的某处找到。但是,我无法找到它。任何人都可以帮助我吗?

注1:

how browsers parse/render CSS / how browsers read and interpret CSS !!

我已经知道了。事实上,在前面提到的文章How Browsers Work中已经很好地解释了它。所以不,这不是这个问题的重复。

我正在寻找的是Webkit用于解析/渲染CSS的特定CSS语法文件,我无法在任何地方找到它。

注2:

我也要求任何人推荐或找到书籍,工具,软件库,教程或其他异地......

我只是想知道在哪里找到Webkit使用(或使用)解析CSS的一些文件,因为我自己无法找到它们。

注3:

我问这个是因为我正在寻找一种方便的方法来解析CSS。我希望这种方法基于浏览器解析CSS的方式(更具体地说=通过分析Webkit浏览器如何解析它)。

所以是的,这个问题确实是一个编程问题,完全是关于Stack Overflow的主题。

1 个答案:

答案 0 :(得分:2)

bison文件(或至少是它的一个版本)在css目录中为CSSGrammar.y.in。该文件已经过预处理,然后使用a perl script运行#main-content

显然,灵活扫描仪于2011/12年重写;见webkit bug。手持式扫描仪是CSSParser.cpp的一部分。

通过回顾git历史记录,您可以找到旧版本。例如,在#main-content{width: calc(100% - 820px)} 中,我找到了以下bisonflex个文件。