我在哪里可以找到 Webkit 的 CSS 语法文件?
Where can I find Webkit's CSS grammar files?
与 HTML 不同,CSS 是 context free grammar. Syntax grammar is usually described in BNF or EBNF 表示法。
根据 Tali Garsiel's articke How Browsers Work, WebKit uses Flex and Bison 解析器生成器从 CSS 语法文件自动创建解析器。
由于 Webkit 是一个开源项目,我希望这些语法文件可以在 its source code 的某个地方找到。不过,我没能找到它。有人可以帮我吗?
注1:
我不问how browsers parse/render CSS / how browsers read and interpret CSS!!
我已经知道了。事实上,在前面提到的文章 How Browsers Work 中已经很好地解释了它。所以不,这不是那个问题的重复。
我要找的是 Webkit 用于 parse/render CSS 的特定 CSS 语法文件,我在任何地方都找不到。
注2:
我也 不 要求任何人推荐或查找书籍、工具、软件库、教程或其他场外...。
我只是想问一下在哪里可以找到一些Webkit使用(或使用过)用于解析的文件CSS,因为我自己一直找不到它们。
注3:
我问这个是因为我正在寻找一种方便的方法来解析 CSS。我想将这种方法基于浏览器解析 CSS 的方式(更具体地说 = 通过分析 Webkit 浏览器如何解析它)。
所以是的,这个问题确实是一个编程问题,并且完全是 Stack Overflow 上的主题。
bison 文件(或至少是它的一个版本)在 css 目录中 CSSGrammar.y.in. That file is preprocessed and then run through bison
using a perl script。
显然 flex 扫描仪在 2011/12 年被重写了;看到这个 webkit bug. The handbuilt scanner is part of CSSParser.cpp.
通过回顾 git 历史,您可以找到旧版本。例如,在 safari-4-branch
中,我找到了以下 bison and flex 个文件。
与 HTML 不同,CSS 是 context free grammar. Syntax grammar is usually described in BNF or EBNF 表示法。
根据 Tali Garsiel's articke How Browsers Work, WebKit uses Flex and Bison 解析器生成器从 CSS 语法文件自动创建解析器。
由于 Webkit 是一个开源项目,我希望这些语法文件可以在 its source code 的某个地方找到。不过,我没能找到它。有人可以帮我吗?
注1:
我不问how browsers parse/render CSS / how browsers read and interpret CSS!!
我已经知道了。事实上,在前面提到的文章 How Browsers Work 中已经很好地解释了它。所以不,这不是那个问题的重复。
我要找的是 Webkit 用于 parse/render CSS 的特定 CSS 语法文件,我在任何地方都找不到。
注2:
我也 不 要求任何人推荐或查找书籍、工具、软件库、教程或其他场外...。
我只是想问一下在哪里可以找到一些Webkit使用(或使用过)用于解析的文件CSS,因为我自己一直找不到它们。
注3:
我问这个是因为我正在寻找一种方便的方法来解析 CSS。我想将这种方法基于浏览器解析 CSS 的方式(更具体地说 = 通过分析 Webkit 浏览器如何解析它)。
所以是的,这个问题确实是一个编程问题,并且完全是 Stack Overflow 上的主题。
bison 文件(或至少是它的一个版本)在 css 目录中 CSSGrammar.y.in. That file is preprocessed and then run through bison
using a perl script。
显然 flex 扫描仪在 2011/12 年被重写了;看到这个 webkit bug. The handbuilt scanner is part of CSSParser.cpp.
通过回顾 git 历史,您可以找到旧版本。例如,在 safari-4-branch
中,我找到了以下 bison and flex 个文件。