在 C# 中构建解析器以解析我自己的语言的最佳方法是什么?理想情况下,我想提供一种语法,并将抽象语法树作为输出。非常感谢,内斯特
问问题
7983 次
7 回答
19
11
我玩过Irony。它看起来简单而有用。
于 2009-10-01T19:43:50.483 回答
1
您可以研究Mono C# 编译器的源代码。
于 2009-10-01T19:30:32.517 回答
1
虽然它仍处于早期测试阶段,但来自 Microsoft 的Oslo建模语言和 MGrammar 工具已显示出一些前景。
于 2009-10-01T19:39:27.560 回答
1
这里有一篇关于在这里构建 LL(1) 解析器的简短论文,当然你也可以使用生成器。
于 2010-04-22T02:16:39.057 回答
0
Lex 和 yacc 仍然是我的最爱。如果您刚刚开始,那么就晦涩难懂,但是一旦您掌握了术语,就非常简单、快速和容易。
你可以让它做任何你想做的事;生成 C# 代码、构建其他语法、模拟指令等等。
它不漂亮,它是基于文本的格式和 LL1,所以你的语法必须适应它。
从好的方面来说,它无处不在。有很多关于它的 O'reilly 书籍、大量示例代码、大量预制语法和大量本地语言库。
于 2009-10-02T15:42:18.453 回答