質問
るパーサをご用意解析にはC#のコードについて教えてください。
私C#のパーサを使用できるクライアントまで、フルのC#とくにアクセス回線とファイル情報の各人工物の解析コードです。
解決
作品のソースコード:
- CSParser:C#1.0 2.0オープンソース
- Metaspec C#のパーサ:C#1.0-3.0の商品(約5000$)
- #認識!:C#1.0-3.0の商品(約900ユーロ)(答えによる SharpRecognize)
- SharpDevelopパーサ (答えによる Akselsson)
- NRefactory:C#1.0-4.0(+async),オープンソースのパーサを使用SharpDevelop.含意味解析.
- C#のパーサおよびCodeDOM:完全にC#4.0パーサは、すでに支援のC#5.0非特徴です。商品(49るときは、$299$)(答えによる 健ベケット)
- Microsoft Roslyn CTP:コンパイラとしてのサービスです。
作品のアセンブリ:
- システム。反射
- Microsoft共通のコンパイラのインフラ:C#1.0-3.0、Microsoft公開ライセンスです。使用する Fxcop や スペック#
- 用いただけます:standardとexpress。Cecil:C#1.0-3.0オープンソース
の問題を組み立て"解析"としてとりまとめを行いラインおよびファイルの情報です。pdbファイル、Pdbを含むライン情報のみのための手法)
I personnalyをお勧めし 用いただけます:standardとexpress。Cecil や NRefactory.
他のヒント
モノ (オープンソース)を含むC#コンパイラ(スパーサ)
っている場合コンパイルC#v3.5ます。netアセンブリ:
var cp = new Microsoft.CSharp.CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx
場合はおなじみのAOETOOLSを使用でき Aoetools C#の文法.
私は行っているか(AST解析のC#コード)の OWASP O2ム プロジェクトを使用SharpDevelop ASTのApiを用意しています。
においやすくするため、消費に書いたク用APIを公開番号のキーのソースコード要素を用い諸表の種類、方法、物性、分野のコメントが可能に書き換えのC#コードC#とVBNET.
見ることができるAPIアのこO2XRuleスクリプトファイル: ascx_View_SourceCode_AST.cs.o2 .
例えば、こうしたさまざまな、C#ソースコードのテキストおよび移植のTreeViews&TextBoxes:
public void updateView(string sourceCode)
{
var ast = new Ast_CSharp(sourceCode);
ast_TreeView.show_Ast(ast);
types_TreeView.show_List(ast.astDetails.Types, "Text");
usingDeclarations_TreeView.show_List(ast.astDetails.UsingDeclarations,"Text");
methods_TreeView.show_List(ast.astDetails.Methods,"Text");
fields_TreeView.show_List(ast.astDetails.Fields,"Text");
properties_TreeView.show_List(ast.astDetails.Properties,"Text");
comments_TreeView.show_List(ast.astDetails.Comments,"Text");
rewritenCSharpCode_SourceCodeEditor.setDocumentContents(ast.astDetails.CSharpCode, ".cs");
rewritenVBNet_SourceCodeEditor.setDocumentContents(ast.astDetails.VBNetCode, ".vb");
}
の例 ascx_View_SourceCode_AST.cs.o2 もうすでに収集した情報から、ASTを選択し、ソースコードは、型、メソッド、コメント等。
参考にこちらのAPIのコードを書き出してしまっていたことに注意することは私の最初のパスを利用SharpDevelop C#ASTパーサーというものがありました自分の頭の方で作品):
い最近発表され、C#のパーサを取り扱うすべてC#4.0機能プラスの新しい非同期の特徴: C#のパーサおよびCodeDOM
このライブラリを生成する意味オブジェクトモデルを保持するコメントやフォーマットの情報および変更が可能で、保存されます。またのご利用にも対応しLINQクエリーを解析ソースコード。
SharpDevelop, オープンソースのIDE、お客様にベースのソースコードのパーサを作った。で独立に用いることができるためのIDEです。
検討用の反射を内蔵バイナリの代わりに構文解析のC#コードです。反射のAPIは本当に使いやすいかもしれませんすることができる情報は必要ですか?
してい 金のパーサ.思わず惹き付けられてしまう直感的なIUをまとめて見ることができる双方向テストの文法をC#コードです。あたっぷりの例をご用意では完全に無料です。
かきしてもいいのですが、皮肉にirony.codeplex.com.
この非常に高速およびc#の文法は既に存在しています。
文法そのものは直接クライアントまで、フルのc#、BNFのような方を遂げた一部の事業者が過負荷)
最高のもとでの"文法"にASTます。
あの勢いを得つつ、非常に適したジョブは Nemerle
きしていませんのでご注意くださかの問題を解決し、これらの映像からNDC:
ないクライアントまで、フルのC#で完全にC#2名-3名-4名のパーサがビルドフASTsは当社の DMSソフトウェア-リエンジニアリングツールキット.
DMSの提供、広大なインフラの解析には、ツリービル、建設のシンボルテーブルフロー分析、ソース-ソース間の変換、再生ソースコードからの(変更)ASTs.(でも取り扱っています他の多くの言語だけではC#.)
編集(月)2013年この答えていない更新されています。DMSは取り扱いはC#5.0
GPPG が、ご利用希望をお書き独自のパーサがけています。