![]() |
1
17
这个 Roslyn 项目位于Visual Studio 2010中,通过它,您可以通过编程访问 Syntax Tree 以及其他事情。
|
![]() |
2
12
是的,在特殊情况下(使用新的 Expressions framework ):
这将为lambda创建表达式树,即一个函数
请注意,所有表达式都是不可变的,因此必须通过组合重新构建它们。在这种情况下,我已经准备了一个附加的1。 请注意,这些表达式树只适用于实际表达式,即C函数中的内容。您不能通过这种方式获得类等更高构造的语法树。使用codedom框架。 |
![]() |
3
6
退房.NET CodeDom 支持。有一篇关于 C# CodeDOM parser 但它不支持新的语言功能。 还应该在开发中支持根据此从C源代码生成codedom树 posting . |
![]() |
4
4
比R项目强大得多。 Nemerle . Peg: https://code.google.com/p/nemerle/source/browse/nemerle/trunk/snippets/peg-parser/ 它有C解析器,解析所有C代码并将其转换为AST! https://code.google.com/p/nemerle/source/browse/nemerle/trunk/snippets/csharp-parser/ 您可以在此处下载安装程序: https://code.google.com/p/nemerle/ |
![]() |
5
3
我个人会用 NRefactory 这是免费的,开源的,并获得普及。 |
![]() |
6
2
根据C 4之后的内容,看起来这类功能将包括在内。 Anders Hejlsberg's 'Future of C#' PDC video . |
![]() |
7
2
这个 ANTLR Parser Generator 有一个C 3.0的语法,它涵盖了除LINQ语法之外的所有内容。 |
![]() |
8
1
Antlr不是很有用。林肯不是你想要的。 试试塞西尔! http://www.mono-project.com/Cecil 它在许多项目中使用,包括ndepend! http://www.ndepend.com/ |
![]() |
9
1
我刚刚在StackOverflow的另一个线程上回答了一个解决方案,我在该解决方案中实现了一个API create and manipulate AST from C# Source Code |
![]() |
10
1
奇怪的是,没有人建议对现有的Mono C编译器进行黑客攻击。 |
![]() |
11
1
我们的 C# front end for DMS 分析完整的C 3.0,包括LINQ并生成AST。实际上,DMS是一个生态系统,用于使用ASTS为前端提供的语言分析/转换源代码。 编辑3/10/2010:…现在处理完整的C 4.0 编辑:2014年6月27日:处理C 5.0很久了。 编辑:2016年6月15日:处理C 6.0。见 https://stackoverflow.com/a/37847714/120163 对于一个样本AST。 |
![]() |
12
0
请参阅R项目(抱歉,文档是俄文的,但有一些代码示例)。它允许对C代码进行AST操作。 http://www.rsdn.ru/projects/rsharp/article/rsharp_mag.xml 项目的SVN是 here :(URL已更新,谢谢, derigel ) 另请参见 Nemerle 语言。它是一种.NET语言,支持元编程。 |
![]() |
George S. · 是否存在基于元组的控制流语句内部表示? 7 年前 |
![]() |
FlatAssembler · 在x86程序集中计算exp(x) 7 年前 |
![]() |
cib · 即时编译和动态编译有什么区别? 7 年前 |
![]() |
Artemis · 寄存器与指令之间的差异 7 年前 |
![]() |
Sam · 了解go工具编译和链接命令 7 年前 |