1
5
.NET的codedom命名空间提供 basic API for code language parsers ,它们没有实现。Visual Studio通过自己的语言服务来实现这一点。这些在可再发行框架中不可用。 你也可以…
可能有 something on CodePlex 或者类似的地点。
更新
|
2
2
如果你需要的话
不完整
代码,或者代码中有错误,那么我相信您基本上是自己的(也就是说,您将无法使用
有像resharper这样的工具可以进行自己的解析,但这很重要。你也许可以从Mono编译器开始,但根据我的经验,编写一个适用于不完整代码的解析器和编写一个只会在不完整代码上吐出错误的解析器是完全不同的。 如果您只需要类和方法的名称(基本上是元数据),那么您可能可以“手动”进行解析,但我想这取决于您需要结果的准确性。 |
3
2
Mono项目GMCS编译器包含一个非常可重用的C_4.0解析器。而且,编写适合您特定需求的解析器相对容易。例如,您可以重新使用: http://antlrcsharp.codeplex.com/ |
4
1
看看
性能将相当平均,因为每当发生变化时,您需要编译所有源代码。我不知道有什么方法可以让您增量地编译代码片段。 |
5
1
好吧,鉴于上面的内容不起作用(我刚刚测试过),下面的文章可能会感兴趣。我很久以前就给它加了书签,所以我相信它只支持C 2.0,但它可能仍然值得: |
6
1
对于盲目的人来说可能有点晚了,但我最近发布了一个C解析器,它非常适合这种情况,因为它设计用来处理代码片段并保留注释: C# Parser and CodeDOM 它处理C 4.0和新的“异步”功能。它是商业的,但只是其他商业编译器成本的一小部分。 我真的认为很少有人知道解析C有多困难,尤其是当您需要正确地解析符号引用时(这通常是必需的,除非您只是在格式化)。只是 尝试 阅读并完全理解500多页语言规范的类型推断部分。然后,思考一下这样一个事实:规范实际上并不完全正确(正如EricLippert自己所提到的)。 |
Ezz Deghedy · 如何获取数据和读取响应 1 年前 |
StuP · 响应式Vue组件在数据更改时不更新 2 年前 |
burr · 让jQuery选择器识别新添加的DOM元素[关闭] 2 年前 |
J. Hu · “表单提交已取消,因为表单未连接”[重复] 6 年前 |
pploypiti · 选择所有其他ID不是“this”的元素。id' 6 年前 |
xiaolingxiao · 导航到页面后运行javascript 6 年前 |