我在写解析器来解析CSS。如何测试CSS解析器?
我通过修改CSS reference grammar开始,使用我正在使用的3rd-party parser generator tool支持的任何语法和词法分析器语法。
我认为我已经完成了语法的编码:解析器生成器现在能够为我的语法生成状态转换表。
结果(解析器 - 生成器的输出)大约为116个“规则”,这对应于switch
语句中的116个个案。这些规则/ switch语句的实例是:
- 样式表开始于指定字符集
- 样式开始,而不指定字符集:
- 样式表是空的
- 样式表以空格开头
- ... etc ...
解析器生成器已经为我做了所有的事情,现在我开始写(用手)各种switch语句的例子,这将构建我认为人们称之为“抽象语法树”的东西。
我的问题是关于如何测试这个。我认为我想要的是一组运行各种组合和可能性的CSS文件:例如一个指定字符集的CSS文件;另一个不指定字符集的文件;等
有一般的方式自动生成该组输入数据,对于任意语法或一组规则?
或者,是否有一组专用 CSS文件,其目的是覆盖标准CSS语法所允许的组合和可能性?
如果我对这一切都错了,随意评论。
目前我不需要:
文件来测试非法输入的处理(即不符合语法的文件)
如何测试各种浏览器基于他们解析CSS渲染的
微软链接已经死亡 – Dannnno 2014-12-23 18:57:24