誰でも私には、与えられた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. ウェブページの作成に役立つ言語を知りたい
- 2. SQLのようなカスタムクエリ言語を作成するのに役立つライブラリがJavaにありますか?
- 3. SonarQube - 新しい言語プラグインを作成するのに役立ちます
- 4. 新しい言語(C言語)を学ぶのに役立つ新しいブログが必要です
- 5. 略語を解読するのに役立つC
- 6. テキストのランダムな配置を作成するのに役立つ
- 7. は、svgでタブを作成するのに役立つ
- 8. C言語で有効なjsonチェック
- 9. インタフェースはTypescript(アーキテクチャ上の発言)に役立つのですか?
- 10. xCode/iOS - コアデータ検索の述語を作成するのに役立つヘルプ
- 11. .netクラスまたはシステムバックアップイメージファイルの作成に役立つ有用なもの
- 12. VB.Netで動的にスレッドを作成するのに役立つ
- 13. PrintDocumentの作成に役立つツールはありますか?
- 14. 解析でアプリケーションを作成するのに役立つ
- 15. C#.NET Regex:除外付きグループ式の作成に役立つ
- 16. 最初のスクリプトを作成するのに役立つ
- 17. スケジュールジェネレータを作成するのに役立つ
- 18. node.jsサイレントドアベルを作成するのに役立つ
- 19. 正規表現を作成するのに役立つ
- 20. AmCharts - トレンドバーを作成するのに役立つ
- 21. ゾンビはObjective-C++に役立つのですか?
- 22. DXL(ドアの広範な言語)で小さなプログラムを作成するには?
- 23. C++で大きなデータをキャッシュするのに役立つ一時ファイルを作成するにはどうすればよいですか?
- 24. GLibのHashTablesはどのように役立つのですか?
- 25. C#プログラムで作成されたボタン - プログラムで作成されたテキストボックスを有効にします
- 26. 多言語レポートを作成するにはどうすればよいですか?
- 27. 1つのプログラムを作成するために2つの異なる言語を使用するにはどうすればよいですか?
- 28. 定期的なタスクスケジューラの作成に役立つ
- 29. 2つの異なる言語(C#、Java)でプログラムを実行
- 30. ストアドプロシージャからgridviewを作成するのに役立ちます