//------------------------------------------------------------- // EPTREE(エケセテネPON TREE)プログラム変更履歴 //------------------------------------------------------------- #define VERSION "Version 1.20 2012/06/06" // ---- バグ修正 ---- // @関数の引数でstructが使われている場合、構造体登録モードになっていた // のを修正。(enumについても同様) // ---- その他修正 ---- // @VC2008ではコンパイルが通らないのでいろいろ修正。 // Aロケール設定をしていないとファイルが読み込めないので追加。 // B関数名や変数名はなるべく英語を使うように修正。 #define VERSION "Version 1.19a 2009/04/28" // ---- 機能追加 ---- // @[C/C++]割り込みキーワードを複数設定できるように修正。 // Avb.net用に処理を追加。 // ・解析対象ファイルの拡張子に "vb" を追加。 // ・#Region は #if 1 then と同じ意味として扱うように修正。 // ・vb部分はクラスに対応していなかったのを修正。 #define VERSION "Version 1.19 2008/05/26" // ---- 仕様変更 ---- // @[C++/Java]クラス名が不明の場合、不明なオブジェクト名を表示するよ // うにした。 // ---- バグ修正 ---- // @[C++]構造体orクラスに含まれるオブジェクトの簡易検索で、クラス名が // 不明の場合その時点で処理を打ち切っていたためクラス名が正確でなかっ // たのを修正。また構造体やクラスに対するオブジェクトの検索機能を強化。 // A[C++]オーバーロードされた配列[]を子関数として認識できるように修正。 // B[C++/Java]this.obj.func(); というようなソースで、class定義が全て揃 // っている状態でも不明なオブジェクトとなっていたのを修正。 #define VERSION "Version 1.18e 2008/05/19" // ---- バグ修正 ---- // @[C++/Java]クラス内でのメソッドの場合の引数の保存処理が一部間違って // いたのを修正。 // A[C++]オブジェクト変数がポインタや参照の場合、コンストラクタやデス // トラクタをツリーに組み込まないように修正。 // B[C++]クラス所有のオブジェクトのデストラクタが、クラスのコンストラ // クタに接続されていたのを修正。 // C[C/C++]#errorに続く文字はテキストとして扱わなければならないのにソ // ースとして扱っていたためコメント処理で不具合をだしていたのを修正。 // D[C++]ネームスペース使用中の関数の初期化処理に誤りがあり、正常に初 // 期化できなかったのを修正。 // ネームスペース使用中のクラス内のメソッドも同様 #define VERSION "Version 1.18d 2008/04/22" // ---- バグ修正 ---- // @[C/C++]関数ポインタのツリー組み込みを強化。 // 解析中の名称が変数でなく、関数として登録されていればツリーに組み // 込むようにした。 // A[C/C++]ヘッダーファイルの読み込みで、ヘッダーからヘッダーを読み込 // む時のパスが間違っていたのを修正。 // → ヘッダーファイルが持っているパスを基準としてファイルを開くよう // に修正。(ソースファイルのパス固定になっていた) // B[C/C++]Ver1.16以降、「ツリー出力をタグ形式」をOFFにするとファイル // ツリーがまったく作成されなくなっていたのを修正。 #define VERSION "Version 1.18c 2008/04/18" // ---- バグ修正 ---- // @[C++]オブジェクトが関数の戻り値の場合に対応。 // WorkBooks.Get_Workbook().GetWorksheets(); // 但し複雑なものは不可。 // A[C/C++]typedefされた無名構造体のタグ処理で構造体のサイズが取得で // きない場合があったのを修正。 // typedef {} stData1, stData2; // stData2のサイズが0になっていた。 // またポインタの場合、ポインタサイズになっていなかったのを修正。 #define VERSION "Version 1.18b 2008/04/11" // ---- バグ修正 ---- // @[Delphi]オブジェクトからクラス名を取得する処理を修正。 // A[C++]名前空間の無い.hを使う古いC++のクラスを使った場合、クラス名 // が不明となっていたのを修正。 // Ver1.14にてVB,Delphi版を統合した際のバグ。 #define VERSION "Version 1.18a 2008/04/03" // ---- バグ修正 ---- // @[Delphi]Ver1.16〜1.18のバージョンで、with文の処理中に不正な処理 // 発生していたのを修正。 // A[Delphi]Version 1.17にて内部処理を簡略化した際に、誤ってクラスの // 初期化処理を削除してしまったためメンバ関数を認識できなくなってい // たのを修正。 // B[Delphi]関数のtypeの箇所で構造体を宣言してあると、親関数名が初期 // 化されていたのを修正。 #define VERSION "Version 1.18 2008/04/01" // ---- 機能追加 ---- // @[C++]Eptree設定.datの中にATLのクラスを追加。 // またATL関連のヘッダーを読み込んだ場合、using namespace ATL; を // 行ったことにするよう修正。 // A[C++]関数詳細の参照変数にメンバ変数も入れるようにした。 // B[C++]クラスメンバの場合のみ演算子を関数として認識するようにした。 // ※「変数詳細情報を表示」をONにしないと、関数ツリーには組み込ま // れません。 // ※性能が悪いためツリーに組み込まれないことが多々あります。 // C変数詳細情報に宣言されていた行数を追加。 // ---- バグ修正 ---- // @[C/C++]関数内で#includeを行うと、ローカル変数が初期化されてしま // ったのを修正。 // A[C/C++]関数ポインタの宣言後の別関数を子関数として認識してしまう // ことがあったのを修正。 // B[VB/Delphi]Ep関数詳細情報.txtの子関数の箇所に仮登録した関数を表 // 示していたのを修正。 // C[共通]Eptree設定.datで定義したコンパイルオプションの#define定義 // が無効になっていたのを修正。(Ver1.16、Ver1.17のみ) // D[C++]関数の型がクラスだった場合、Ep関数詳細情報.txtの関数の型に // 何もセットされなかったのを修正。 // E[C++]関数内でデストラクタを直接呼ぶことを考慮していなかったため、 // コンストラクタを呼び出したと誤認識していたのを修正。 // F[C]関数の型が保存されなくなっていたのを修正。 // (Ver1.16、Ver1.17のみ) // G[C/C++]ヘッダーファイルで関数を定義している場合、ソースコードが // 不明になることがあったのを修正。 // H[C/C++/Java]変数の登録タイミングが";"の位置で行われ、変数の使用 // チェックが即時に行われていたため、同名のグローバル変数があると // グローバル変数を使用したと認識していたのを修正。 // [VB] DIMで変数宣言していない場合、バグは残ります。 // [Delphi] バグ修正できませんでした。 // I[C/C++]関数内でexternした変数をスタックに入れていたのを修正。 // Jその他いろいろ修正。 #define VERSION "Version 1.17 2008/03/14" // ■内部処理を抜本的に修正。 // @今までスタックとヒープに格納された変数を渾然と処理していたが、 // ちゃんと分けて処理するように修正。 // ---- 機能追加 ---- // @[C++]テンプレートクラスなどの場合、型も含めるようにした。 // (例)std::vector a; // 上記例の場合、以前は""の部分が表示されなかった。 // ---- バグ修正 ---- // @[C++]MFCの場合、BEGIN_MESSAGE_MAP、END_MESSAGE_MAPがマクロ定義 // してあり、その定義の中に"{"、"}"を含んでいるため、直後の関数を // 子関数として認識してしまっていた。このため特殊処理を追加。 // A[C++]DECLARE_MESSAGE_MAPは{}を含めて定義しているため、出現後に // 変数情報が取得できなくなっていた。このため特殊処理を追加。 // B[C++]pulbic、private、friend直後の変数を取得できていなかったの // を修正。 // C[C/C++]#define内容解析にて無限ループに陥ったと間違って判定して // いたのを修正。(Ver1.16のみ) // D[共通]構造体の中にオブジェクトがあるとそのオブジェクトのクラス // が不明になっていたのを修正。 // E[C++]参照"&"を使用した場合でも変数分のサイズとして計算されてい // たのを修正。 使用スタックサイズはポインタ"*"と同じにした。 // F[VB/Delphi]Ver1.16の修正により変数登録が正常に行えなくなっていた // のを修正。 // ---- その他 ---- // @Eptree設定.datの中のMFCのクラスを強化。 #define VERSION "Version 1.16 2008/02/27" // ■内部処理を抜本的に修正。 // @独自文字列クラス、コンテナクラスをやめてSTLを使うように修正。 // ---- バグ修正 ---- // @関数プロトタイプ宣言の引数をグローバル変数として認識してしまう // ことがあったのを修正。 // Aクラス内のメソッドの引数の最後をメンバ変数として認識してしまう // ことがあったのを修正。 // B関数詳細を出力時、引数がexternで宣言したものが採用される場合が // あったのを修正。 // Cエクセル2007の場合、SaveAs関数でエラーになっていたのを修正。 // 内部バージョンが12以上の場合はxlExcel8形式で保存するように修正。 #define VERSION "Version 1.15e 2007/05/10" // ---- バグ修正 ---- // @1.09aにて #if defined AAA というようなAAAが括弧で括られて // いないケースに対応したが、修正ミスがあり#if defined(AAA) // が全く機能しなくなってしまっていたのを修正。 // 鈴木様ご指摘 m(_ _)m ペコリ #define VERSION "Version 1.15d 2006/04/25" // ---- バグ修正 ---- // @エクセル形式で出力時、関数詳細シートの関数ヘッダーに余分な // 改行が含まれていたのを削除。 // A「重複した子関数を表示」オプションを追加。 豊福様ご要望。 #define VERSION "Version 1.15c 2006/03/07" // ---- バグ修正 ---- // @追加した拡張子では、Eptree設定.datの読み込みが出来ていなかっ // たのを修正。(予約語、型、クラスなどが取得できていなかった) // A拡張子を追加した場合、次回起動後にファイル名を取得する際に不 // 正な処理が発生していたのを修正。 // 文字列保存用のメモリエリアの領域が少なかったため。 // BJSPファイルにある程度対応。(拡張子jsp、言語をJavaで追加) #define VERSION "Version 1.15b 2006/03/04" // ---- 機能追加 ---- // @エクセル出力時、項目に色を追加、行のタイトルを設定。 // A割り込み関数を明示するように変更。 // デフォルトでは#pragma interrupt になっています。 // キーワードを変更する場合は、Eptree設定.dat を編集して下さい。 // ---- バグ修正 ---- // @Ep一覧Obj.txtの表示項目、[ファイル名]と改行が無くなっていた // のを修正。Version 1.15 でソースを間違って削除したため。 #define VERSION "Version 1.15a 2006/02/09" // ---- バグ修正 ---- // @拡張子の追加設定に誤りがあり、画面上はjavaなどに設定されて // いても内部的にはC言語のままだったのを修正。 // (ユーザーが新規に追加したもののみ) // Adefine内容の出力は10メガバイト以上の場合、ファイルを分割する // ように修正。(txt, csv, html) // Bdefine内容をxls形式を設定し、出力結果が65536行を超える場合、 // 別シートに出力するように修正。 // Cdefine出力の際、html形式を設定してあるとVB/Delphiの場合、 // タグが書き込まれなかったのを修正。 #define VERSION "Version 1.15 2005/06/18" // ---- 機能追加 ---- // @グローバル変数がどの関数でアクセスされているかをファイル出 // 力できるように変更。"Ep変数詳細情報.txt" // AEp関数詳細情報に参照したグローバル変数を出力するように変更。 // ※変数詳細情報の出力チェックが付いている場合のみ #define VERSION "Version 1.14b 2005/06/15" // ---- バグ修正 ---- // @Ep関数詳細情報.htmlを出力する際の関数ヘッダの内容はテキスト // 形式でそのまま出力するように修正。 // A[Java]Ep関数詳細情報を出力した際に関数の型が表示されなかった // のを修正。 // B[Delphi] TMyClass = class; という形式で宣言してあるとbegin/end // の数が合わなくなっていたのを修正。(marchin様ご指摘) #define VERSION "Version 1.14a 2005/04/28" // ---- バグ修正 ---- // @[Java] クラス名.メソッド名 という使い方をしたときにクラス名が // 不明というエラーが発生していたのを修正。 // A[Java]オブジェクトを宣言するとデストラクタ関数がツリーに組み // 込まれていたのを修正。 // B[Java]変数の型にfinalが入っていると変数として認識しなくなって // いたのを修正。 #define VERSION "Version 1.14 2005/04/22" // VB版とDelphi版を機能統合 // ---- 仕様変更 ---- // @関数ツリー図、全ファイルのステップ数を別ウインドウで表示させ // ていたがその機能を廃止。 // ---- バグ修正 ---- // @html形式を選択したときは EpFileTree をhtml形式で出力するよう // に修正。 // A型のサイズを使用言語により換えられなかったのを修正。 // 型サイズを保存する場所が1つしかなかったのでJavaを指定しても // charのサイズが2バイトとなっていた。 //----------------------------------------------------------------------------- // EPTREE for Delphi (エケセテネPON TREE)プログラム変更履歴 //----------------------------------------------------------------------------- //#define VERSION "Version 1.02 2005/03/23" // ---- 機能追加 ---- // @delphiにはコンパイル制御がないと思い込み#if、#else、#endifなどの処 // 理を完全削除したが、存在するようなので復活。 // {$ifdef old} ← C/C++/JAVA/VB と比べて異色な気が。。。。 // {$endif} (ノ_-;)ハア… // Aクラス一覧の出力機能を復活。Ep一覧class.txt // ---- バグ修正 ---- // @クラス参照に対応していなかったため Begin/End (括弧の数)が不整合に // なっていたのを修正。classキーワードを見つけた時点でBegin++としてい // たため。 Cは階層を{}で表しているので一目瞭然だけど、Delphiは階層判 // 定が難しい。 (´ヘ`;) VB版は階層チェックすらしてないけど。。。 // A拡張クラスに対応。 // MyClassEx = class(MyClass); // Bclass function に対応。。。 @内容+下記内容 // スタティックなメンバ関数が使われていた場合、MyClass.MyMessodという // ように表示されていたのを MyClass::MyMessod となるように修正。 // C一つのファイルでクラスが2つ以上宣言されていると最後に宣言したクラス // が関数の親クラスになっていたのを修正。 // Dwithによる型省略に対応。 // E子関数が存在しないのに↑と表示していたのを修正。 // Fインターフェース定義部で、typeよりさきにconst、varを定義されると型 // 定義が行えなくなっていたのを修正。 //#define VERSION "Version 1.01 2005/03/18" // ---- 機能追加 ---- // @設定ダイアログに「型情報の確認」チェックボックスが機能していなかっ // たのを修正。Ep一覧type.txtを出力させるようにした。 // ---- バグ修正 ---- // @クラス所有の変数が Ep一覧Obj.txt に出力されなかったのを修正。 // A変数を複数宣言していても最後の変数しか認識でなかったのを修正。 // a,b,c,d : Integer; // B構造体のサイズを取得できなかったのを修正。 // Cstring型は宣言方法によりサイズが変わるようなのでそれに対応。。。。 // mystr : string[100]; // 1+100バイト 配列の形式が違う。。。。 // mystr : string; // 4+?バイト // D変数保存の処理に誤りがあり同一変数名の場合、変数の登録数を増加させ // ていなかったのを修正。 // Eサイズ取得の際に16進数に対応していなかったのを修正。 //#define VERSION "Version 1.00 2005/03/13" // ---- 機能追加 ---- // @ヘルプファイルを作成。 // ---- バグ修正 ---- // @asmキーワードが来たら括弧の数を増やすように修正。 // A配列に対応していなかったのを修正。 // それにしても配列の宣言が他の言語と比べて随分違う気が。。。 // C/C++/JAVA int IntHiretu[100]; // VB Dim IntHiretu(99) as Integer // Delphi MyIntHiretu : Array [ 1..100 ] of Integer; // B丸括弧内の引数も変数として認識するように修正。 // C関数の行数情報が正常にセットされていなかったのを修正。 //#define VERSION "Version 0.01 2005/03/12" // とりあえず動作するようになったのでリリース。 //#define VERSION "Version 0.00 2005/03/11" // C/C++/JAVA対応版、VB対応版と作成したので、Delphi版の開発を思い立つ。 // (目標:3日で作成) // Delphiを使ったことも無いが、Pascalの勉強をしつつ開発スタート。 // Delphiは大文字と小文字の区別がないのと、#include指定もなさそうなので // VB版のeptreeを流用。 //----------------------------------------------------------------------------- // EPTREE for vb (エケセテネPON TREE)プログラム変更履歴 //----------------------------------------------------------------------------- //#define VERSION "Version 1.01 2005/03/18" // ---- 機能追加 ---- // @設定ダイアログに「型情報の確認」チェックボックスが機能していなかっ // たのを修正。Ep一覧type.txtを出力させるようにした。 // ---- バグ修正 ---- // @変数保存の処理に誤りがあり同一変数名の場合、変数の登録数を増加させ // ていなかったのを修正。 // A配列を宣言したときにToが使われているとサイズの計測でエラーが発生し // ていたのを修正。 // Dim MyInt( 1 To 8 ) as Integer // Bサイズ計測で8,16進数に対応していなかったのを修正。 //#define VERSION "Version 1.00a 2005/03/07" // ---- 仕様変更 ---- // @メソッドのクラス名が不明な時は「オブジェクト名.関数名」と表示するよ // うに修正。 // Aファイルを解析する際、basファイルから解析を開始するように修正。 // ---- バグ修正 ---- // @下記のようなメソッドの呼び出しをツリーに組み込めなかったのを修正。 // Dim MyRecordset As ADODB.Recordset // MyRecordset.Open …… // Arem行をコメントにしていなかったのを修正。 // B変数が二次元以上の形式の配列だった場合、認識できなかったのを修正。 // int MyIntA[1][2][3]; // dim MyIntA(1,2,3) as long // CとVBでは形式が違う。 // CVBの場合、配列を宣言するとその値までが有効なので変数のサイズ計算が // 間違っていたのを修正。 // Dim MyIntA(2) as long // 0-2が有効 //#define VERSION "Version 1.00 2005/02/28" // ---- 機能追加 ---- // @エクセル形式での出力を復活。(エクセル97以降) // Aメソッドの場合、クラス名::メソッド名となるように修正。 //#define VERSION "Version 0.05 2005/02/25" (HPのみの公開) // ---- 機能追加 ---- // @#define定義の保存処理を名前を変えて復活。 // ・Ep一覧const.txt Const定数の一覧を出力 // Aヘルプファイルを作成。 // ---- バグ修正 ---- // @構造体変数のサイズを計測できなかったのを修正。 //#define VERSION "Version 0.04 2005/02/24" (HPのみの公開) // ---- バグ修正 ---- // @配列形式の変数を認識できなかったのを修正。 // Public MylongData(7) As Long // A配列を関数として認識しないように修正。 // B関数名が重複していた場合、一つにまとめていたのを修正。 // 但し別フォームの関数を呼び出す場合、関数の定義場所が不明となる。 // Call MyForm.MyFunc() //#define VERSION "Version 0.03 2005/02/23" (HPのみの公開) // ---- 仕様変更 ---- // @関数ツリー図、全ファイルのステップ数を別ウインドウで表示させていたが // その機能を廃止。 // ---- バグ修正 ---- // @Ep一覧Obj.txtでグローバル変数のサイズを表示できなかったのを修正。 // 構造体についてはまだバグあり。 // Aグローバル変数をdimで宣言しないと認識しなかったのを修正。 //#define VERSION "Version 0.02 2005/02/22" (HPのみの公開) // ---- 機能追加 ---- // @以下の機能を復活。但しバグあり // ・EpStepLog.txt ソースファイルのステップ数を出力。 // ・Ep一覧Func.txt 関数一覧を出力。 // ・Ep一覧Obj.txt グローバル変数、構造体変数の一覧を出力。 // ・Ep関数分布.csv ステップ数ごとに関数の数をまとめた情報を出力。 // ---- バグ修正 ---- // @sub関数を関数ツリーに組み込めなかったのを修正。 //#define VERSION "Version 0.01 2005/02/21" (HPのみの公開) // とりあえず関数ツリー機能のみ作成。 // 但し、以下の不具合あり // @sub関数はツリーに組み込めない。 // A配列を関数として認識してしまう。 //#define VERSION "Version 0.00 2005/02/17" // この日より開発スタート // C,C++,JAVA用のeptreeを流用して開発開始。 //=============================================================== #define VERSION "Version 1.13c 2005/03/27" // ---- バグ修正 ---- // @関数詳細情報ファイルを出力をONにし、かつ名前空間内で関数を // 宣言している場合、名前空間あり関数となしの関数の2つが作成さ // れていたのを修正。 // Aエクセル形式で出力した際、関数詳細情報シートに何も表示され // ないことがあったのを修正。 // 関数のヘッダ部の先頭が'-'や'='の場合、エクセルが数式エラー // 貼り付けさせてくれなかったため。 // B名前空間一覧がエクセル形式を選択してもcvs形式でしか出力して // いなかったのを修正。 #define VERSION "Version 1.13b 2005/03/26" // ---- 機能追加 ---- // @Ep関数詳細情報の出力形式がtxtしか対応していなかったのを修正。 #define VERSION "Version 1.13a 2005/03/25" // ---- 機能追加 ---- // @関数の型、引数などを取得するように修正。 // ---- バグ修正 ---- // @「Ep関数詳細情報.txt」を出力するかどうかを設定画面から行え // るように修正。 // A関数ヘッダ部の抽出で、#ifdefなどにより無効化されたコメント // も抽出していたのを修正。 // またグローバル状態で改行が2つ以上あった場合、そこまでのコメ // ントは関数ヘッダとして認めないように修正。 #define VERSION "Version 1.13 2005/03/24" // ---- 機能追加 ---- // @関数のヘッダ部に記述してあるコメントを関数情報として出力す // るようにした。 // Eptree.iniファイルを以下のように変更すると「Ep関数詳細情報. // txt」というファイルを出力するようになります。 // [ファイル出力設定] // 関数詳細情報の表示=ON // ※現在の所、txt形式での出力しかしません。 #define VERSION "Version 1.12f 2005/03/18" // ---- バグ修正 ---- // @変数保存の処理に誤りがあり同一変数名の場合、変数の登録数を // 増加させていなかったのを修正。 #define VERSION "Version 1.12e 2005/03/07" // ---- バグ修正 ---- // @コンストラクタの引数の変数を登録していなかったのを修正。 #define VERSION "Version 1.12d 2005/02/28" // ---- バグ修正 ---- // @関数名の初期化漏れからクラスが所有するオブジェクトが登録でき // なくなっていたのを修正。 // このことにより基本クラスの取得が出来なくなっていた。 // 1.08e以降の不具合。 // Aコンストラクタ及びデストラクタの登録で、基本クラスのコンスト // ラクタやデストラクタをツリーに組み込むことが出来なくなってい // たのを修正。Ver1.11gの時の修正ミス。 // Bエクセル97だとファイルが作成されなかったのを修正。 // エクセル95は不可。 #define VERSION "Version 1.12c 2005/02/21" // ---- バグ修正 ---- // @クラス内でコンストラクタやデストラクタ関数を定義している場合 // 継承しているクラスを関数として認識していたのを修正。 // A::MyFunc といったスコープ指定に対応していなかったのを修正。 // B名前空間内でメソッド関数を定義した後にグローバルで変数を宣言 // すると変数の所有者がクラスになっていたのを修正。 #define VERSION "Version 1.12b 2005/01/20" // ---- バグ修正 ---- // @xls形式で出力の際、行を一行しか選択していない場合でも内側水 // 平線を引いていた為、例外が発生していたのを修正。 // Axls形式で出力をさせるのにiniファイルを直接修正するのは面倒な // のでレジストリにエクセルが登録されていればファイル出力の形式 // にxlsが表示されるようにした。 // BEptree設定.datで設定されている組み込みクラスの読み込み処理に // 間違いがあり所属クラスが正常に登録されていなかったのを修正。 // C型が存在するかどうかをチェックする個所で使用言語チェックが無 // 効な状態で呼び出されていたのを修正。 // D名前空間内で宣言されたグローバル変数が Ep一覧Obj.txt に表示 // されなかったのを修正。 #define VERSION "Version 1.12a 2005/01/11" // ---- バグ修正 ---- // @クラス内で関数を定義してある場合、関数の終了の'}'を見つけた // 段階でグローバル状態と認識してしまっていたのを修正。 // Aver1.11gにて名前空間を使用したときのデストラクタの表示を修正 // したがコンストラクタの修正を行っていなかったのを修正。 // std::string::std::string → std::string::string #define VERSION "Version 1.12 2004/12/18" // ---- バグ修正 ---- // @Ep一覧type.txtを出力の型のサイズの位置がずれることがあったのを // 修正。 // Ahtml形式で出力した際にEpStepLog.htmlファイルが正常に記述されて // いなかったのを修正。タグが抜けていた。 // Bjavaソース場合、Ep一覧Obj.txtにオブジェクトが表示されていなか // ったのを修正。 // Cメソッドでオブジェクト名からの検索の際にクラスが所有者だと、 // 関数不一致(なし、あり)で取得できなかったのを修正。 // DEp一覧classをcsv形式で出力したときの改行位置が間違っていたのを // 修正。 // ---- 機能追加 ---- // @エクセル形式の出力に対応。 // Eptree.iniファイルの以下の個所を変更するとxls形式で出力します。 // ファイル出力形式=xls // (注)他の形式に比べると非常に遅いです。 #define VERSION "Version 1.11g 2004/10/30" // ---- バグ修正 ---- // @名前空間を使用したときのデストラクタの表示がおかしくなっていた // のを修正。std::string::~std::string → std::string::~string // Aヘッダーファイルで定義された関数のステップ数及びスタックサイズ // が「Ep一覧Func.txt」に反映されていなかったのを修正。 ##define VERSION "Version 1.11f 2004/10/28" // ---- バグ修正 ---- // @1.11eで修正したソースファイルの存在する場所の特定処理が間違っ // いたのを修正。またオブジェクトが宣言された場合、そのファイルが // 関数の存在する場所になっていたのを修正。 // A1.11eのMyClass MyObj(1);を関数として認識しないようにした修正に // より、オブジェクトを返す関数が認識できなくなっていたのを修正。 // Bヘッダーでusing指定された名前空間がソースに反映されていなかっ // たのを修正。 #define VERSION "Version 1.11e 2004/10/27" // ---- バグ修正 ---- // @名前空間の保存クラスに初期化漏れがあり初期化されなかった変数 // のメモリ領域が他で使用しているのに初期化されていたのを修正。 // AMyClass MyObj(1);というようにオブジェクトを宣言したときに、 // MyObj(1)を関数として認識していたのを修正。 // B型の初期化が行われないことがあったため、オブジェクトの保存が // 行えない場合があったのを修正。 // C1.11cの修正ミスによりヘッダーで関数宣言した関数の存在するソー // スファイルが#includeしたソースファイルとなっていたのを修正。 #define VERSION "Version 1.11d 2004/10/22" // ---- バグ修正 ---- // @using namespaceを使用してもグローバルオブジェクトを取得できな // かったのを修正。 // ASTLに仮対応 #define VERSION "Version 1.11c 2004/08/27" // ---- バグ修正 ---- // @クラス内でオブジェクトを所有していてもコンストラクタやデスト // ラクタが組み込まれなかったのを修正。 // Aクラスのポインタを宣言しただけでコンストラクタやデストラクタ // がツリーに組み込まれていたのを修正。 // Bnew演算子によりオブジェクトを宣言した場合、コンストラクタや // デストラクタがツリーに組み込まれなかったのを修正。 // Cヘッダーで定義されたクラスのinline関数がツリーに組み込まれて // いなかったのを修正。 #define VERSION "Version 1.11b 2004/08/10" // ---- バグ修正 ---- // @#define定義内容で"#"が使われた場合、定義保存ステータスが解除 // されてしまうため括弧{}が正しく取得できなくなっていたのを修正。 // (高倉様よりの指摘) #define VERSION "Version 1.11a 2004/08/09" // ---- バグ修正 ---- // @html形式で出力の際、Ep一覧Func.htmlの表が崩れていたのを修正。 // (Ver1.10を修正したときのバグ) #define VERSION "Version 1.11 2004/08/03" // ---- バグ修正 ---- // @typedefされた型のサイズが正常に取得できていなかったのを修正。 // typedef short int sint; の場合、4バイトとなっていたのを修正。 // Aツリー出力時に一番上の階層だけ関数ポインタであることが表記 // されていなかったのを修正。 // Btypedefされた関数ポインタに対応。 // typedef void (*FuncPtr)(void); // FuncPtr func[3] = { MyFunc1, MyFunc2, MyFunc3 }; #define VERSION "Version 1.10f 2004/06/22" // ---- バグ修正 ---- // @基本クラス検索にて不正な処理が発生することがあったのを修正。 // Aクラス継承の処理に間違いがあったのを修正。 // Bクラス名が#defineされているだけの場合に対応 // #define FAR // class FAR MyClass{...}; // C関数の引数で参照が使われていた場合、型名やスタックサイズを // 取得できていなかったのを修正。 #define VERSION "Version 1.10e 2004/05/27" // ---- 機能追加 ---- // @オプション設定の出力ファイルに「Ep一覧namae」を追加。 // A「Ep関数分布.csv」のチェック項目を追加。 #define VERSION "Version 1.10d 2004/05/11" // ---- バグ修正 ---- // @クラステンプレートに対応していなかったのを修正。 #define VERSION "Version 1.10c 2004/05/07" // ---- バグ修正 ---- // @using namespace に対応。以下の形式に対応 // using namespace std; // using namespace std::cout; #define VERSION "Version 1.10b 2004/03/28" // ---- その他 ---- // @ソフトウェア使用条件を修正 // 企業(団体等)での使用が問題ないことを明記。 // ---- バグ修正 ---- // @無名の名前空間が定義されていた場合、"{"の後の単語が名前 // 空間名として設定されていたのを修正。 #define VERSION "Version 1.10a 2004/02/29" // ---- バグ修正 ---- // @namespaceに部分的に対応。 // Namae::MyClass Obj; という形式のみ。 // Along longというような型のサイズがオブジェクトのサイズを // 取得するときに反映されていなかったのを修正。 // BVer1.10にてhtmlファイルのゴミが作成されるようになってい // たのを修正。 #define VERSION "Version 1.10 2004/02/08" // ---- 機能追加 ---- // @ツールバーの非表示機能を追加。 // ---- バグ修正 ---- // @解析対象リストバーのウインドウが移動可能だったのを修正。 // Aコメント行数のカウントに誤りがあり、コメントの終わりが // "*/"のみだと最後の行がカウントできなかった。 // Bブロック読み出しの最後が0x0dの場合、0x0dを弾く処理が正常に // 動作していなかったのを修正 // C予約語を読み出す処理がCPPの場合うまくいっていなかったのを // 修正 // Dlong longというような型に対応していなかったのを修正。 // Eコンストラクタやデストラクタから呼び出される最後の関数が // コンストラクタ関数の定義として認識されていたのを修正 // MyClass::MyClass():MySub(){ } #define VERSION "Version 1.09d 2003/07/28" // ---- バグ修正 ---- // @関数で使用しているスタックサイズ計測で、直前のプロトタイプ // 宣言の引数までスタックサイズに含めていたのを修正。 // Aスタックサイズ計測で配列の決定部分までは計算するように変更。 // int MyData[][4]; (この場合16バイト) // Bソースがunicodeだった場合、#define定義された日本語のコメン // ト部分が表示されなかったのを修正。 #define VERSION "Version 1.09c 2003/07/24" // ---- バグ修正 ---- // @オプション設定ダイアログにて更新ボタン押下後にOKボタンを // 押下するとパス設定が消えてしまったのを修正。 #define VERSION "Version 1.09b 2003/07/24" // ---- 機能追加 ---- // @加藤様ご要望によりインクルードディレクトリの指定を複数 // 設定できるように修正。 // ---- バグ修正 ---- // @typedefされたenumのタグを型として登録できなかったのを修正。 // typedef enum{true, false}bool; // A型情報の出力ファイル『Ep一覧type』は使用した型情報のみ出力 // するように変更。 // B追加した拡張子を削除するケースで最後に登録した拡張子以外 // を削除すると動作がおかしくなっていたのを修正。 // C拡張子を追加した後、キャンセルボタンを押下しても拡張子の // 追加が有効となっていたのを修正。 #define VERSION "Version 1.09a 2003/06/20" // ---- 機能追加 ---- // @unicodeに仮対応。 // (2バイトコードをShift-JISに変換できない) // ---- バグ修正 ---- // @#if defined AAA というようにAAAが括弧で括られていない // 場合、エラーとなっていたのを修正。 // Aマクロを関数として認めないオプションを付け、かつ関数名が // #define定義で置き換えられていた場合、マクロとして認識して // いたため親関数が不明となっていたのを修正。 // #define libmain main // 名前だけを置き換え // Bテキスト形式のファイル出力の際、項目の内容が // オーバーした時に次の項目がずれていたのを修正。 // ・Ep一覧Func.txt、・EpStepLog.txt // ・Ep一覧Obj.txt、 ・Ep一覧Obj.txt // CEp一覧define.htmlで定義内容に "<"や">"が使用されると // 表示が正常に行えなかったのを修正。 #define VERSION "Version 1.09 2003/03/25" // ---- 機能追加 ---- // @インクルードファイルのツリーを作成するように変更。 // EpFileTree.txt // ---- バグ修正 ---- // @EpMathの計算式で10Lのように数値の最後にLが付くとエラー // となっていたのを修正。(EpMath0.09→EpMath0.10) #define VERSION "Version 1.08f 2003/01/14" // ---- バグ修正 ---- // @Ver1.08d以降、コンストラクタ関数が親関数として登録出来 // なくなっていたのを修正。(Ver1.08dにて型を関数として登録 // できないようにチェック処理を追加したため) // A"Ep一覧type.txt"で構造体変数のサイズの計測が完全か不完全 // かを見分けられるように修正。 // B"Ep一覧Func.txt"でスタックサイズの計測が完全か不完全かを // 見分けられるように修正。(関数や構造体に対応) // CJavaソースの場合、"Ep一覧Func.txt"のスタックサイズ計測が // 行えなかったのを修正。 #define VERSION "Version 1.08e 2003/01/11" // ---- バグ修正 ---- // @コンソールから解析を行った時にディレクトリ名やファイル // 名に半角空白が入るとソース名が取得できなかったのを修正。 // (逢坂様ご指摘) // A関数ポインタが使用された場合は、ツリー出力や関数一覧の // 際に関数ポインタと表記するように修正。 // BJavaソースの解析がVer1.07以降、正常に動作していなかった // のを修正。 #define VERSION "Version 1.08d 2002/12/25" // @EpStepLog.csvで全ファイル合計の箇所が項目ズレしていた // のを修正。 // AEp一覧define.csvで改行の入れ忘れと、","を使用していた // 場合に項目ズレを起していたのを修正。 // Bクラスの表示チェックが効かなくなっていたのを修正。 // Cuchar (*MyFunc)(); というような関数ポインタを宣言していた // 場合、ucharを関数として認識していたのを修正。 // ※ucharを#define定義していない場合、MyFuncを関数ポインタ // として認識できません。 #define VERSION "Version 1.08c 2002/12/07" // @解析結果のcsvファイル出力化に対応。(PAOH様ご要望) // A変数データ切り取りの際に空白復活の処理がなかった為、 // 解析エラーとなっていたのを修正。(マスター様ご指摘) // char a[sizeof(unsigned char)]; の場合 // char a[sizeof(unsignedchar)]; となる為エラー #define VERSION "Version 1.08b 2002/10/01" // @関数の行数分布にcsv出力機能を追加。 // A"Ep一覧define.txt"の出力結果で#define定義内容が文字列 // の場合定義内容が何も表示されなかったのを修正。 // Bextern のみで宣言されていない変数も "Ep一覧Obj.txt"に // 出力するように修正。(マスター様ご指摘) // C解析結果の出力フォルダ&ユーザーインクルードディレクトリの場所が保存 // されていなかったのを修正。 #define VERSION "Version 1.08a 2002/09/29" // ---- バグ修正 ---- // @eptreeの多重起動を禁止しました。 // (ショートカットに何度もソースをドラッグしたときに困る為) // Atypedefが構造体にしか対応していなかったのを修正。 // (マスター様ご指摘) // B解析結果の出力フォルダ指定&ユーザーインクルードディレクトリ指定の機能を // ダイアログに追加。(機能公開) #define VERSION "Version 1.08 2002/09/11" // ---- 機能追加 ---- // @関数ポインタに仮対応。 // 関数ポインタの宣言と同時の初期化の場合のみ対応。 // int (*MyFunc)() = Func1; // int (*MyFunc[5])() = {Func1, Func2, Func3, Func4, Func5}; // ---- バグ修正 ---- // @MyFunc[]()といった関数が登録できなかったのを修正。 // A(*MyObj).MyMessod()の場合のオブジェクト検索処理が間違っていた // のを修正。 #define VERSION "Version 1.07g 2002/09/01" // ---- 機能追加 ---- // @解析結果のhtmlファイル出力化に対応。 // A解析処理の高速化。 #define VERSION "Version 1.07f 2002/08/24" // ---- バグ修正 ---- // @"Ep一覧Obj.txt"でファイル毎にデータを出力していたのを修正。 // また出力ファイルのデザインを修正。 // Aステップ数計測でファイルのサイズ0の場合、実ステップ数が1カウントされ // ていたのを修正。また空行が一行少なかったのを修正。 // Bグローバル変数を宣言すると共に初期化している場合で // マクロが使用されていた場合、親関数が不明ですというエラーが // でていたのを修正。 #define VERSION "Version 1.07e 2002/08/08" // ---- 機能追加 ---- // @Eptreeが余りにもCPUを占有しすぎるので、処理スピードを // 変更できるように修正。(高速、低速の2種類) // ---- バグ修正 ---- // @スタックサイズの計測で配列の決定部分までは計算するように変更。 // int MyData[4][UNKNOWN_SIZE]; (この場合16バイト) // A"Ep一覧Obj.txt"で変数のサイズの計測が完全か不完全かを // 見分けられるように修正。 #define VERSION "Version 1.07d 2002/08/06" // ---- 機能追加 ---- // @関数の行数分布Windowをメニューから起動可能とする。 // ---- バグ修正 ---- // @ポインタサイズを変更できるように修正。 // A"Eptree設定.dat"で取得した型情報を初期化していなかった // 為、一度実行した後、別のソースを解析すると // "型サイズは既に決定済みです"というエラーメッセージが出ていたのを // 修正。 // Bオブジェクト名からクラス名を検索する際にエラーが発生した場合、 // 不正な処理で落ちていたのを修正。 // C#if文の判定で無限ループチェックで渡していた保管先アドレス処理で // 不具合があり、不正な処理が発生していたのを修正。 #define VERSION "Version 1.07c 2002/07/28" // ---- 仕様変更 ---- // @"ep一覧Obj.txt"の出力内容にオブジェクトのサイズを追加。 // ---- バグ修正 ---- // @スタックサイズの計測でsizeof演算子を使用していた場合エラーと // なっていたのを修正。 // Aメソッドの場合、関数毎のステップ数計測が動作していなかった // のを修正。(C++,Java) // Bデストラクタの行数及び使用スタックサイズが計測できていなかった // のを修正。 // Cmain関数のステップ数および使用スタックサイズの登録処理で保管に // 失敗していたのを修正。 // D再回帰している関数の場合、その関数が使用した子関数が // ツリーに組み込まれていなかったのを修正。 // E"Eptree設定.dat"で設定した型やクラスの有効言語が取得でき // ない場合があったため、クラス名や型が不明となっていたのを // 修正。 // F構造体のスタックサイズ計測が正常に出来ない場合があったのを修正。 // 関数内で構造体が宣言されていると使用スタックサイズが計測 // できない。(その他いろいろ) // Gtypedefされたタグが使用できなかったのを修正。 #define VERSION "Version 1.07b 2002/07/15" // ---- バグ修正 ---- // @#define uchar unsigned char // と言う定義情報の型のサイズを取得できるように修正。 // A構造体のスタックサイズを計測出来るように修正。 #define VERSION "Version 1.07a 2002/07/13" // ---- 仕様変更 ---- // @設定ダイヤログから「ステップ数出力を個別」チェックを廃止。 // ("Eptree.ini"ファイルを直接編集すれば使用可能) // ---- バグ修正 ---- // @スタックサイズの計測で配列の中の文字数が20文字を超えた場合 // メモリエリアを破壊していたのを修正。 // char moji[DEF_12345678901234567890]; // Aスタックサイズの計測で配列内でDEFINE定義された場合や計算が // 行われていた場合、計測できなかったのを修正。 // char moji[DEF_SIZE*10]; #define VERSION "Version 1.07 2002/07/09" // ---- 仕様変更 ---- // @使用スタックサイズを計測できるように修正。 // ---- バグ修正 ---- // @拡張子の追加で"."のみの場合、eptreeが不正な処理で落ちて // いたのを修正。 // AVer1.06eにてメモリ節約の為ファイル名の格納方法を変更したが、 // ファイル番号が1個ずれて違うファイル名を表示することがあったのを修正。 // Bクラス内でオブジェクトを所有していた場合、そのオブジェクトの // コンストラクタおよびデストラクタがツリーに組み込まれなかったのを修正。 #define VERSION "Version 1.06e 2002/06/21" // ---- バグ修正 ---- // @C言語の場合、オブジェクト情報の初期化が行われていなかった // のを修正。 // AC言語の場合、ローカルオブジェクトの削除が出来なくなっていた // のを修正。 // B関数内で宣言されたstaticオブジェクトも"Ep一覧Obj.txt"に // 出力できるように修正。 // C1.06cの修正により関数の引数にオブジェクトが使われていた場合、 // そのオブジェクトのクラスが不明となっていたのを修正。 // D#define内容の確認をONにした場合、"EpTreeLog.txt"にゴミ // データを出力していたのを修正。 // Eツリー出力の際の文字コードを修正。"┃" → "│" // (池澤様ご指摘) // F98x1指定にしてもステップ表示等では罫線コードが反映されて // いなかったのを修正。 #define VERSION "Version 1.06d 2002/06/15" // ---- バグ修正 ---- // @JAVAソースのグローバル変数情報が取得できなかったのを修正。 // A#define uchar unsigned char // と言う定義情報を型情報として認識するように修正。 // B構造体も"Ep一覧Obj.txt"に出力するように修正。 #define VERSION "Version 1.06c 2002/06/09" // ---- 仕様変更 ---- // @スレッド化して中止できるように変更 // ---- バグ修正 ---- // @Ver1.06bの修正によりソースがC言語だった場合、グローバル // 情報を出力できなくなっていたのを修正。 #define VERSION "Version 1.06b 2002/06/07" // ---- バグ修正 ---- // @unsigned char *moji1,moji2; というように記述して // あった場合、moji2の型名がchar*となっていたのを修正。 // Aグローバルオブジェクト出力で以下の形式に対応。 // iostream io_a,io_b; // Bクラス情報を"Ep一覧class.txt"ではなく"EpTreeLog.txt"に // 出力していたのを修正。 #define VERSION "Version 1.06a 2002/05/31" // ---- バグ修正 ---- // @変数情報にstaticやconst,unsignedが付いていなかった // のを修正。 // Aextern 宣言されたグローバル変数も"Ep一覧Obj.txt"に出力 // していたのを修正。 // B引数が関数の後に記述されている場合、グローバルでない // 変数情報が"Ep一覧Obj.txt"に登録されていたのを修正。 // int MyFunc(a, b, c) // int a; int b; int c; // C下記のように関数の引数で構造体が定義してある場合、 // 関数のツリー化が正常に動作していなかったのを修正。 // int MyFunc( arg1, arg2, StructData) // int arg1; //引数1 // int arg2; //引数2 // struct { // char MyData[10]; //定義内容 // }StructData[]; //構造体の引数 // { // D"Eptree設定.dat"で設定した予約語やクラスの言語指定が // 存在していない為、予約語やクラス、型情報の取得の際に // 区別出来ていなかったのを修正。 #define VERSION "Version 1.06 2002/05/27" // ---- 機能追加 ---- // @グローバル変数一覧を"Ep一覧Obj.txt"として出力する。 // (非公開で仮対応) // Eptree.iniファイルを編集し、「グローバル変数一覧=ON」を追加 // すれば暫定版が使用できます。 // ---- バグ修正 ---- // @extern "C"があると正常に動作していなかったのを修正。 // AEptreeのショートカットに20個以上のファイルをドラッグすると不正な // 処理が発生したのを修正。 // BEptreeのショートカットにディレクトリをドラックしても起動するだけで // 解析を開始しなかったのを修正。 // CVer1.05bにてオブジェクト情報と変数情報の保存を統一させたが、 // その結果クラス内で宣言されたオブジェクトが取得できなくなって // いたのを修正。 // D(*ObjP).MyFuncという形式に対応。 #define VERSION "Version 1.05h 2002/05/03" // ---- 仕様変更 ---- // @"RSWORD.TXT"と"Inc_Class.TXT"を"Eptree設定.dat"に // 統合した。 // ---- バグ修正 ---- // @V1.04で行った「関数内でクラスを宣言されたときに、メソッド // 登録状態のままとなっていたのを修正」の修正方法が // 間違っていたのを修正。 // A1.05gでオブジェクト名が取得出来なくなっていたのを修正。 // (コンパイルオプションが#defineされていなかった……) #define VERSION "Version 1.05g 2002/04/27" // ---- バグ修正 ---- // @ヘルプの修正。(確認事項でシェアウェアとなっている等) // A#define定義が重複して行われていた場合に、定義内容の // セット位置が不定になっていたのを修正 // B外部関数をソース内でexternを付けずにプロトタイプ宣言した場合 // 関数が登録されていたソースが不定となっていたのを修正。 // Cエラーログの行数が1行ずれることがあったのを修正。 // Dタグ形式の出力の際、関数の登録位置がゼロになる場合が // あったのを修正。(行番号の登録処理に誤りがあった) // E1.05dの修正バグによりJAVAソースの解析が正常に行われて // いなかったのを修正。 // Fjavaソースで1つのファイルに2つ以上のクラスが宣言してあると正常に // 動作していなかったのを修正。 #define VERSION "Version 1.05f 2002/04/15" // フリーソフトウェアに変更 // ---- バグ修正 ---- // @ファイル開くでソースを選択した場合、ダイアログでの拡張子設定が // 反映されていなかったのを修正。 // A「../..」を「..\..」に自動的に置き換えるように修正 // B「...\」を「..\..\」に自動的に置き換えるように修正 // C相対パス指定の時、ファイルが開けなかったのを修正。 // Dタグ形式の出力を選択した場合、Step出力の関数の欄が全て // ゼロになっていたのを修正。 #define VERSION "Version 1.05e 2002/04/14" (HPのみの公開) // ---- 機能追加 ---- // @ステップ数表示に一覧機能を追加(デフォルトで一覧表示) // Aステップ数計測に関数情報も追加。 // Bタグジャンプできるようにツリー出力にファイルパスと行数を追加。 // CEpMath.dllの機能UP(sin,cos,tan,exp等が使えるようになった) #define VERSION "Version 1.05d 2002/03/21" (HPのみの公開) // ---- バグ修正 ---- // @マクロが関数に置き換えられる場合は置き換えるように変更したが // マクロのみで実体が無い場合エラーで落ちていたのを修正。 // A#define MyMacro(a,b,n) { \ // int len = strlen(b); \ // if(len > n-1){ \ // memcpy(a,b,n-1); \ // }else{ \ // strcpy(a,b); \ // } \ // } // というようなマクロで関数が複数使われていても関数ツリーに最初 // の一つしかしか組み込めなかったのを修正。 // B#if (DEF_ABC != 1) && (DEF_ABC != 2) // というプリプロセッサ命令があった場合、「無限ループに陥った」と // 誤判定していたのを修正。 // CEpMathで初期化漏により数式エラーと誤判定していたのを修正。 // D#if (!defined(DEF_KKK)&&defined(DEF_ABC)) // definedが括弧で括られるという事を考慮していなかったため、 // プリプロセッサ処理が正常に動作していなかったのを修正。 VERSION "Version 1.05c 2002/03/13" (HPのみの公開) // ---- バグ修正 ---- // @マクロが関数に置き換えられる場合は置き換えるように変更したが // アドレスの計算を間違えた為エラーで落ちていたのを修正。 VERSION "Version 1.05b 2002/03/11" (HPのみの公開) // ---- 機能追加 ---- // @マクロを関数として認めないというオプションを追加。 // マクロが関数に置き換えられる場合は置き換え、置き換えられない // 場合はツリーに組み込まない。 // ---- 仕様変更 ---- // @トシさんの要望によりソートオプションを復活(デフォルトはソート) // ---- バグ修正 ---- // @ソースを毎回読み込む設定にしてもcppファイルが一つでもあると // それ以降のファイルがcpp扱いとなっていたのを修正。 VERSION "Version 1.05a 2001/12/27" // ---- 機能追加 ---- // @JAVA(仮)対応。 // ---- バグ修正 ---- // @ソースファイル毎に読み込む場合でも、1つでもC++ソースが含まれていた // 場合、CソースがC++ソースの扱いとなっていたのを修正。 // Aソースファイルを毎回読み込む設定にしていないとステップ数が初期化 // されず加算されていたのを修正。 // Bソースファイルを毎回読み込む設定にしていないとdefine定義内容を // 確認できなくなっていたのを修正(1.04でのバグ)。 // C使用クラス表示をチェックしてもヘッダーファイル読み込み設定が毎回と // なっていると何も出力されなくなっていたのを修正。 VERSION "Version 1.05 2001/12/08" // ---- 機能追加 ---- // @処理対象拡張子をダイアログから設定可能にした。 // Aステップ数計測に「if文による無効行数(実行数)」を追加。 // ---- 仕様変更 ---- // @ツリー出力の際に関数ソートを行うように変更(ソートオプションの廃止) // ---- バグ修正 ---- // @Inc_Class.TXTで設定した組み込みオブジェクトを取得した後、 // 本体側にデータを渡す際に引数が間違っていたため、オブジェクト名が // 取得できなくなっていたのを修正。 VERSION "Version 1.04a 2001/11/25" (HPのみの公開) // @ファイルの最後の行がステップ数に反映されなかったのを修正。 // Aクラスメンバーでオブジェクトを宣言しているのにツリー化の際に // 基本クラス名が不明となっていたのを修正。 VERSION "Version 1.04 2001/11/20" (HPのみの公開) // ---- 仕様変更 ---- // @ソースのステップ数や空行数の計測機能追加。 // Amain関数が複数存在しても正しくツリー化するように変更。 // ---- バグ修正 ---- // @Inc_Class.TXT で設定したクラスやオブジェクト情報が正常に // 取得できていなかったのを修正。(領域拡張の際のコピー範囲の間違い) VERSION "Version 1.03 2000/10/05" // ---- 仕様変更 ---- // @ツリー出力の際のクラスの表示方法を選択出来るようにした。 // A関数がどのくらいの行数で既述されているかを表にした。 // ---- バグ修正 ---- // @ドラッグアンドドロップが正常に動作しなくなっていた。 // 1.02はターボCでコンパイルしたがターボC依存部分でエラー箇所があった。 // Aエラー出力ウインドウがWinNTでは表示されていなかったのを修正。 VERSION "Version 1.02 2000/08/31" // ---- 仕様変更 ---- // @パスワードの他に通行手形を追加。 // (ホームページに遊びに来てくれた人はそのバージョンだけ有効) // Aツリー出力確認画面を追加 // ---- バグ修正 ---- // @ソースファイルを一度リスト(ツリーバーコントロール)に組み込んだ後、個別の // ファイル削除がなかったのを修正。 VERSION "Version 1.01a 2000/03/09" // ---- 仕様変更 ---- // @EpMath.dllをC言語から呼び出せるように extern "C"を追加。 // ---- バグ修正 ---- // @#elif文の処理が間違っていた。 // (以前は動作していたので、高速化した時の修正ミス?) // Aパスワードがプロファイルに反映されていなくなっていたのを修正。 // (V1.01のバグ)(大ポカ) VERSION "Version 1.01 2000/02/23" // ---- バグ修正 ---- // @Windows-NTで起動できなかったのを修正。(nishiさんご指摘) // →ファイル名チェックを入れていた為。 // Aその他バグ修正。 VERSION "Version 1.00 2000/02/07" // シェアウェアに変更 // ---- 機能追加 ---- // @画面及びヘルプの作成。 // A不当な継承や#define定義によるプログラム暴走を回避できるように変更。 // Bヘッダーファイルの読み込み設定を追加。 // Cクラス名や組み込みオブジェクトを外部定義できるように変更。 // Dオプションで既述関数を非表示にするかどうかを選択できるように変更。 // ---- バグ修正 ---- // @クラス名が不明なメソッドがツリーに組み込みれなかったのを修正。 // → (不明)myfunc として表示 // Aコメントと#if文による無効行との関係がうまくいっていなかった。 // → #if文により無効行とされた箇所について、コメント処理をしていな // かったため、コメント中にある#ifも無効な#if文としてカウントしていた。 // Bその他たくさんバグ修正。 VERSION "Version 0.06 1999/12/01" // ---- 機能追加 ---- // @全ての登録数に関して最大値を動的に取れるように変更。 // A全ての文字列に関して文字数を動的に取れるように変更。 // BコンストラクタやデストラクタををTREEに組み込めるように変更。 // ---- バグ修正 ---- // @EpMath.dllの計算式に関していろいろ修正。 // Aその他バグ修正。 VERSION "Version 0.05 1999/11/05" // ---- 機能追加 ---- // @エラーログをファイル化するオプション追加。 // ---- バグ修正 ---- // @EpMath.dllの計算式が間違っていたのを修正。 // Aその他バグ修正。 VERSION "Version 0.04 1999/11/01" // ---- 機能追加 ---- // @ソートオプション追加 // A#if文の判定処理をdll化した。 // B予約語を外部定義できるようにした。 VERSION "Version 0.03 1999/10/26" // @#if文の判定処理でのバグ修正及び機能追加 VERSION "Version 0.02 1999/10/20" // ---- 機能追加 ---- // @#if〜#elif〜#endif文に対応 (&、|、? 等の演算子を除く) // APC-98x1に対応 // Bその他バグ修正。 VERSION "Version 0.01 1999/10/12" // 取り合えず動作するようになった。 // Vector初公開 (コンソール版) // ---- 主な機能 ---- // @C、C++ソースの関数ツリー化。 // Aヘッダーファイルの読み込みが可能。 // B#ifdef、#ifndefに対応。 // ---- 注意点 ---- // @関数の最大数、関数名の長さ、#define文登録数、等に // 制限がある。 // Aメモリの大量使用 (ヘッダーファイルを開く毎に2M)。 // B処理時間が異様にかかる。