誰でも私には、与えられたCプログラムを分析し、情報を含むtxtレポートまたはhtmlレポートを生成するツールを作成するのに役立つプログラミング言語与えられたプログラム(関数リスト、変数リストなど)。 私が構築しようとしているプログラムはdoxygenに似ていますが、私は個人的に使いたいと思っています。有効なCプログラムのレポートを作成するのに役立つ言語はどれですか?
答えて
PythonとPerlの両方に優れた文字列処理機能があります。
私はプログラムを解析するためにctagsのようなものを使い、ctagsファイルを読み込んでtxt/htmlで出力するスクリプトを作成することをお勧めします。
ctagsで使用されるファイル形式は、他のプログラムが読むことができるように明確に定義されています。 ctags自体とそれが使用するファイルの詳細については、http://ctags.sourceforge.netを参照してください。
スクリプト言語を調べます。私はPythonまたはPerlをお勧めしたいと思います。
ctagsおそらく?
のctagsは、これらの項目を迅速かつ簡単に、テキストエディタまたは他のユーティリティによって配置することを可能にするソースファイルで見つかった言語オブジェクトのインデックス(またはタグ)ファイルを生成します。タグは、索引項目が使用可能な言語オブジェクト(または、そのオブジェクトに対して作成された索引項目)を示します。
プログラミング言語の場合は、文字列処理能力が知られているので、perlを意味します。
しかし、あなたが必要とする作業は、言語を知る必要があるので複雑になる可能性があります。そのため、コンパイラと同じ手順を実行する必要があります。 )その文字列の意味を本当に「知る」ために。
おそらく最良の出発点は、doxygenのを見て、HaskellはCコードの解析を可能にする比較的最近の言語-Cプロジェクトhttp://www.sivity.net/projects/language.cを持っている可能
としてそこに行われた作業の多くを再利用しようとすることです。
あなたがハスケルに精通しているなら、一見価値があるかもしれません。あなたがいなくても、行くことは面白いかもしれません。あなたは些細な超えて何の話をしている場合は、ワームの大きな缶を開けている
が、これは、
が答えに移るあなたの時間の有効活用、何とか何とか何とか、などではありません分析が必要で、正確さが必要な場合は、Cのソースコードを解析する必要があります。あなたはどの言語でもそれを行うことができますが、高水準の文法からパーサを生成したいと思うでしょう。そのためのツールはいくつでもあります。現代的でパワフルなパーサジェネレータは ANTLRです。 C言語用のANTLR文法がいくつかあります。これには、扱いやすいサブセットが含まれます。Lex/yaccはパーサーを構築するのに適しています。
pycparserは、純粋なPythonで書かれたANSI C89/C90の完全なパーサーです。さまざまなニーズのためにCソースコードを分析するために広く使用されています。これには、ファイル内のすべての関数定義をリストするなど、いくつかのサンプルコードが付属しています。
- 1. SonarQube - 新しい言語プラグインを作成するのに役立ちます
- 2. 新しい言語(C言語)を学ぶのに役立つ新しいブログが必要です
- 3. テキストのランダムな配置を作成するのに役立つ
- 4. 略語を解読するのに役立つC
- 5. xCode/iOS - コアデータ検索の述語を作成するのに役立つヘルプ
- 6. .netクラスまたはシステムバックアップイメージファイルの作成に役立つ有用なもの
- 7. 解析でアプリケーションを作成するのに役立つ
- 8. PrintDocumentの作成に役立つツールはありますか?
- 9. C#.NET Regex:除外付きグループ式の作成に役立つ
- 10. 最初のスクリプトを作成するのに役立つ
- 11. 正規表現を作成するのに役立つ
- 12. スケジュールジェネレータを作成するのに役立つ
- 13. ゾンビはObjective-C++に役立つのですか?
- 14. C++で大きなデータをキャッシュするのに役立つ一時ファイルを作成するにはどうすればよいですか?
- 15. 定期的なタスクスケジューラの作成に役立つ
- 16. 多言語レポートを作成するにはどうすればよいですか?
- 17. 障害発見に役立つ機能を作成する
- 18. ストアドプロシージャからgridviewを作成するのに役立ちます
- 19. 絵や図形をアセンブリ言語で簡単に描くのに役立つソフトウェアはありますか?
- 20. C言語でJPGとAlphaChannelを持つPNGを作成する
- 21. Cで書かれた大きなレガシーアプリケーションを理解するのに役立つオープンソースのツールは何ですか?
- 22. C++でPCREを使用するのに役立つ
- 23. CでGNU Readlineを実装するのに役立つ
- 24. Android:SQLをインジェクトする際にプログレスバーを作成するのに役立つ
- 25. buffer [100] = {0、}を使用した初期化はどのようにC言語で動作しますか? C言語で書かれたプログラムのロードデータ部に
- 26. 有効なCプログラム
- 27. セキュリティ、ハッキングなどに役立つリソースはありますか?
- 28. ドメイン固有のクエリ言語を作成するにはどうすればよいですか?
- 29. node.js - クライアントとサーバー側の両方で有効なテンプレートエンジンを選択するのに役立つ
- 30. XMLサイトマップは、フラッシュページのインデックス作成に役立ちますか?