是否有JavaScript框架允許使用JavaScript語法定義解析語法,類似於Irony對C#的方式嗎?有沒有一個在JavaScript中定義解析器的框架?
回答
我對Irony的工作方式不太瞭解,但是Chris Double有一個庫,可以讓您在JavaScript中定義文法:http://www.bluishcoder.co.nz/2007/10/javascript-parser-combinators.html。代碼是available on GitHub。
這是一個「解析器組合器」庫,它意味着將語法中每個生產的解析器組合成一個解析整個事物的更大的解析器。每個「子語法」只是一個通過調用庫函數創建的函數。
這不完全是你需要的,但this article通過在javascript中爲javascript本身製作遞歸下降解析器。
這實際上是自頂向下的運算符優先級。我認爲它也出現在本書的一章中,「美麗的代碼」。 – Nosredna 2009-06-24 02:00:37
我建立了一個JavaScript解析DSL叫Chevrotain。
來源:https://github.com/SAP/chevrotain
在線遊樂場:http://sap.github.io/chevrotain/playground/
這是不一個解析器組合像諷刺,但它是非常相似 ,因爲它可以讓你「定義解析使用JavaScript語法的語法「 沒有任何代碼生成階段。
使用它類似於「牽手樓」遞歸體面的分析器, 只是沒有最頭痛如:
- 先行創建函數(決定採取哪一種選擇)
- 自動錯誤恢復。
- 左遞歸檢測
- 歧義檢測。
- 位置信息。
- ...
爲鼷鹿科自動處理。
PEG.js可能是一個解決方案。
PEG.js是一個簡單的JavaScript解析器生成器,可生成具有出色錯誤報告的快速解析器。您可以使用它來處理複雜的數據或計算機語言,並輕鬆構建變換器,解釋器,編譯器和其他工具。
特點
簡單和表達語法句法 集成了詞彙和句法分析 分析器具有優良的錯誤報告開箱 基於解析表達式語法形式主義 - 比傳統的LL(k)的功能更強大, LR(k)解析器 可從您的瀏覽器,命令行或通過JavaScript API使用
- 1. $沒有在JavaScript中定義
- 2. 內置瀏覽器DOM解析器VS. Javascript框架解析器
- 3. 有沒有網站分析框架?
- 4. 解析自定義PFSignUpViewController沒有響應
- 5. JavaScript函數沒有在FireFox中定義 - really_clk沒有定義
- 6. 有沒有一個框架只允許我定義一次模型?
- 7. Web SQL(javascript)有沒有ORM框架?
- 8. 有沒有zend框架的框架?
- 9. 解析沒有解析器工具
- 10. JavaScript解析器如何解析? (閉包模式沒有括號)
- 11. 在沒有明確定義CGRect的情況下縮小一個框架80%
- 12. ReferenceError:沒有定義書架
- 13. Wireshark有沒有好的Redis解析器?
- 14. scrollreveal的JavaScript沒有定義
- 15. 沒有一個定義
- 16. .NET 3.5 - 框架中是否有SOAP解析器
- 17. 有沒有Java解析器,可以解析這樣的地址
- 18. Materializecss框架有沒有步進器?
- 19. 是否有一個可以生成沒有gem依賴關係的解析器的ruby解析器生成器?
- 20. 是否有解析/自動完成域特定語言的JavaScript框架?
- 21. Scrapy解析函數中沒有定義的響應
- 22. 在javascript中沒有解決
- 23. C++有沒有Open XML解析器?
- 24. Javascript:調用一個變量中定義的函數沒有eval
- 25. 在Java中有沒有好的開源EDIFACT解析器?
- 26. 是否有一個類似於藍圖的CSS框架,但沒有在CSS命名中定義佈局?
- 27. 是否有一個flex - 野牛解析器的JavaScript?
- 28. 有沒有在JavaScript框架之間轉換的指導?
- 29. 有沒有Qt特定的分析器?
- 30. 在沒有JavaScript的情況下在PHP中檢測框架?
謝謝,這似乎是我一直在尋找的東西,我會仔細看看。 – 2009-06-24 05:53:46