我打算用C#编写一个C#3.0编译器。我在哪里可以获得解析器生成的语法?
最好不使用ANTLR v3进行修改。
答案 0 :(得分:12)
看看C# Language Specification。在 B章节中。语法你会找到语法。
答案 1 :(得分:7)
我遇到了ANTLR C# Grammar on CodePlex。这是一个相对较新的项目,使用的是ANTLR 3.2。它表示它支持C#4.0,并根据Eclipse Public License(EPL)获得许可。
我玩了一点。它有一堆包含表达式的测试文件。它支持lambdas,不安全的上下文......正如你自然期望的那样。它解析一个C#文件并向您提供一个抽象语法树。你可以用它做任何你想做的事。
答案 2 :(得分:3)
另请参阅C# ANLTR grammar问题。
答案 3 :(得分:3)