.net 任何具有测试功能的BNF IDE
我正在研究一种新的语言,在写语法的同时,我希望能够测试语法的完整性、冲突性和相似性。我并不真正关心底层语法分析器生成器(但对于.NET来说更可取) 因此,简而言之,功能列表是:.net 任何具有测试功能的BNF IDE,.net,language-design,bnf,parser-generator,.net,Language Design,Bnf,Parser Generator,我正在研究一种新的语言,在写语法的同时,我希望能够测试语法的完整性、冲突性和相似性。我并不真正关心底层语法分析器生成器(但对于.NET来说更可取) 因此,简而言之,功能列表是: 文本编辑器构建功能 语法/语义错误报告 冲突报告 语法测试功能(即 使用预期语法编写代码 验证 语法定义) 一个名为Irony的CodePlex项目确实有一些类似于我所要求的东西,但不支持将语法编写为所需的BNF。我建议将其作为解析器生成器。它的功能非常完整,支持C#以及许多其他目标语言 对于IDE,有一个Eclip
- 文本编辑器构建功能
- 语法/语义错误报告
- 冲突报告
- 语法测试功能(即 使用预期语法编写代码 验证 语法定义)
我们是商业的,并且还提供了一个GLR解析器,它已经被用于实现一些30个+完整的语言,包括C、C++、COBOL等多种方言,以及更多现代语言,如Python、Ruby、PHP、…p>
DMS和Bison之间的区别在于,DMS设计用于支持全语言分析器/转换器构造的所有方面(Unicode词法分析、GLR解析和错误报告与恢复、自动树构造、符号表构造、控制和数据流分析、转换、预打印等)。如果你想认真评估你的“新语言”,你最终需要做所有这些事情,而野牛只是这条道路上的一小步。DMS将为您提供整个路径。 < P>查看BNFC,它可以从标记BNF生成工作代码和Mag文件,用于多个目标语言,如Haskell、OCaml、C、C++和java。您可以得到一台漂亮的打印机、抽象语法检查器/打印机、自己的编译器或解释器的框架代码以及PostScript语言文档 也许你会发现这个工具很有用:
不幸的是,它仅适用于windows。相关:一个非常有用的答案,谢谢。我的最终目标是开发一个特定的解析器生成器(fsyacc)。我自己设定的任务的一部分是学习F#,由于我必须编写一个编译器,我认为这将是学习函数式语言的完美项目(尽管严格说来F#是多范式而不仅仅是函数式的),所以我真的很期待做DMS提供的东西。fsyacc ius LALR(1)因此ANTLRworks最终帮助不大,但自动完成等仍然使其比简单的文本编辑器更快