我在寫解析器來解析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