是否有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