2008-09-17 7 views
2

誰でも私には、与えられたCプログラムを分析し、情報を含むtxtレポートまたはhtmlレポートを生成するツールを作成するのに役立つプログラミング言語与えられたプログラム(関数リスト、変数リストなど)。 私が構築しようとしているプログラムはdoxygenに似ていますが、私は個人的に使いたいと思っています。有効なCプログラムのレポートを作成するのに役立つ言語はどれですか?

答えて

3

PythonとPerlの両方に優れた文字列処理機能があります。

私はプログラムを解析するためにctagsのようなものを使い、ctagsファイルを読み込んでtxt/htmlで出力するスクリプトを作成することをお勧めします。

ctagsで使用されるファイル形式は、他のプログラムが読むことができるように明確に定義されています。 ctags自体とそれが使用するファイルの詳細については、http://ctags.sourceforge.netを参照してください。

1

スクリプト言語を調べます。私はPythonまたはPerlをお勧めしたいと思います。

4

ctagsおそらく?

のctagsは、これらの項目を迅速かつ簡単に、テキストエディタまたは他のユーティリティによって配置することを可能にするソースファイルで見つかった言語オブジェクトのインデックス(またはタグ)ファイルを生成します。タグは、索引項目が使用可能な言語オブジェクト(または、そのオブジェクトに対して作成された索引項目)を示します。

0

プログラミング言語の場合は、文字列処理能力が知られているので、perlを意味します。

しかし、あなたが必要とする作業は、言語を知る必要があるので複雑になる可能性があります。そのため、コンパイラと同じ手順を実行する必要があります。 )その文字列の意味を本当に「知る」ために。

おそらく最良の出発点は、doxygenのを見て、HaskellはCコードの解析を可能にする比較的最近の言語-Cプロジェクトhttp://www.sivity.net/projects/language.cを持っている可能

1

としてそこに行われた作業の多くを再利用しようとすることです。

あなたがハスケルに精通しているなら、一見価値があるかもしれません。あなたがいなくても、行くことは面白いかもしれません。あなたは些細な超えて何の話をしている場合は、ワームの大きな缶を開けている

2

が、これは、

が答えに移るあなたの時間の有効活用、何とか何とか何とか、などではありません分析が必要で、正確さが必要な場合は、Cのソースコードを解析する必要があります。あなたはどの言語でもそれを行うことができますが、高水準の文法からパーサを生成したいと思うでしょう。そのためのツールはいくつでもあります。現代的でパワフルなパーサジェネレータは ANTLRです。 C言語用のANTLR文法がいくつかあります。これには、扱いやすいサブセットが含まれます。

0

Lex/yaccはパーサーを構築するのに適しています。

0

pycparserは、純粋なPythonで書かれたANSI C89/C90の完全なパーサーです。さまざまなニーズのためにCソースコードを分析するために広く使用されています。これには、ファイル内のすべての関数定義をリストするなど、いくつかのサンプルコードが付属しています。

関連する問題