Gumbo:Google推出純C編寫的HTML5解析器

黃利民發表於2013-08-15

Gumbo是一個 HTML5 解析演算法實現,只用 C99 標準庫編碼實現,沒有其他外部依賴。其設計目標是為其他工具和庫的開發提供支援,這些工具和庫包括 linters(JS檢查器)、驗證器、模板語言以及重構和分析工具。

 

Gumbo 的目標和特性:

  • 完全符合 HTML5 規範
  • 對錯誤輸入有健壯性和彈性
  • 簡單的API,易於其他語言封裝
  • 支援對原始檔定位
  • 相對輕量級,無外部依賴
  • 通過所有 html5lib-0.95 測試
  • 在超過25億的谷歌索引頁面上測試過

 

非目標:

  • 執行速度。因為Gumbo是純C編寫,所以速度上有優勢。雖然如此,但這並不是在擬定用途下的重要考量,也不是主要設計因素。
  • 支援 UTF-8 以外的編碼。在大多數情況下,處理客戶端程式碼之前,可以用另外的庫將輸入流轉換為UTF-8的文字。
  • 支援 C89 標準。目前大多數主要的編譯器都支援C99,主要的特例( Microsoft Visual Studio)應該能夠在C++模式下編譯,需要細微調整。 (歡迎報告錯誤)。

 

未來可能加入的一些特性:

  • 支援近期HTML5規範變動從而支援模板標籤
  • 支援分段分析
  • 全功能錯誤報告機制
  • 與其他語言繫結

 

如何安裝Gumbo 及其用例,請檢視 Gumbo的 Github 主頁:https://github.com/google/gumbo-parser

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

任選一種支付方式

Gumbo:Google推出純C編寫的HTML5解析器 Gumbo:Google推出純C編寫的HTML5解析器

相關文章