Release Notes

リリースノート 2.0.3 (2008-09-17)

sanctuary-2.0.3.tar.bz2をリリース。

バグ修正

  • ${prefix}/bin/が存在しないとき、ant installが失敗するバグを修正。
  • ant install実行後にant install -Dprefix=/anotherを実行すると、/another/bin/にスクリプトが正しくインストールされないバグを修正。

リリースノート 2.0.2 (2008-06-05)

sanctuary-2.0.2.tar.bz2をリリース。

バグ修正

  • C++対応のヘッダファイルを生成するとき、グローバル変数の宣言をextern "C" {...}で囲まないバグを修正。

リリースノート 2.0.1 (2008-04-30)

sanctuary-2.0.1.tar.bz2をリリース。

バグ修正

  • スタブのオーバライド用関数ポインタのプロトタイプに修飾子を出力しないようにした。
  • xclassのドキュメントで同じパッケージの識別子への自動リンクが簡略形にならないバグを修正。
  • xclassの実体となる共用体のインポートマクロを生成しないバグを修正。

リリースノート 2.0.0 (2007-09-23)

sanctuary-2.0.0.tar.bz2をリリース。

sanctuary-20070527.tar.bz2(バージョン1.0.4)をインポートして、バージョン2の系列の新リポジトリに移行。

新機能と変更

  • cathedralブランチをマージ。
  • TeX出力のハイパーリンク機能をHTML出力と同等に改善。
  • --codeオプションを引数無しに変更し、デフォルトでC++対応のヘッダファイルを生成するようにした。
  • --output-dir, --input-file, --without-c++オプションを追加。
  • 外部DTDのシステムIDに指定したURLが、互換性のないバージョンのDTDである場合は例外をスローするようにした。

DTD

  • methodmember要素を追加し、構造体、共用体の関数ポインタ型メンバをmethodmember要素で指定するようにした。
  • method要素は構造体、共用体のメンバに指定できなくなった。

バグ修正

  • TeX出力: 数学モードのエスケープ処理で一部の文字がエスケープされないバグを修正。

実装の変更

  • クラス名の改名、サブパッケージにクラスを分割。
  • ハッシュマップと定数プールの利用。
  • 重複するコードを共通化。
  • ソースコードからコピーライト表示を削除。

リリースノート 1.0.7 (2008-09-17)

  • sanctuary-1.0.7.tar.bz2をリリース。
  • バグ修正:
    • ${prefix}/bin/が存在しないとき、ant installが失敗するバグを修正。
    • ant install実行後にant install -Dprefix=/anotherを実行すると、/another/bin/にスクリプトが正しくインストールされないバグを修正。

リリースノート 1.0.6 (2008-06-05)

  • sanctuary-1.0.6.tar.bz2をリリース。
  • バグ修正:
    • C++対応のヘッダファイルを生成するとき、グローバル変数の宣言をextern "C" {...}で囲まないバグを修正。

リリースノート 1.0.5 (2007-09-23)

  • sanctuary-1.0.5.tar.bz2をリリース。
  • sanctuary-20070527.tar.bz2(バージョン1.0.4)をインポートして、バージョン1の系列の新リポジトリに移行。
  • 新機能と変更:
    • 外部DTDのシステムIDに指定したURLが、互換性のないバージョンのDTDである場合は例外をスローするようにした。
  • バグ修正:
    • TeX出力: 数学モードのエスケープ処理で一部の文字がエスケープされないバグを修正。
  • 実装の変更:
    • ソースコードからコピーライト表示を削除。

リリースノート 1.0.4 (2007-05-27)

  • sanctuary-20070527.tar.bz2をリリース。
  • macro要素の内容が複数行で、trim()の結果が1行のとき、ヘッダファイルを正しく生成できないバグを修正。
  • HTML出力で「{構造体|共用体}.メンバ名」のリンクが簡略系にならないバグを修正。
  • MethodMember要素の子のmodifier要素の内容がHTMLドキュメントに出力されないバグを修正。
  • modifier要素の内容がTeXドキュメントに出力されないバグを修正。
  • HTML出力の文書型宣言を変更して、ブラウザによって表示がなるべく変わらないようにした。
  • HTML出力で「_」の直後を改行可能にした。
  • HTML出力で、引数をもつ関数(または関数ポインタ)の戻り値の型の文字列が長い場合、行が長くならないように表示形式を変更した。
  • HTML出力でmath要素の内容は、アルファベットは斜体で、ハイフンはマイナス記号で表示するようにした。
  • HTML出力のタイトルの文字列を「簡略形 - 完全形」とした。
  • Method.javaとMethodMember.javaの共通部分をFunction.javaに委譲した。

リリースノート 1.0.3 (2007-03-26)

  • sanctuary-20070326.tar.bz2をリリース。
  • 外部DTDのシステムIDにURL(http://maroontress.com/Sanctuary/1.0/sanctuary.dtd)を指定したとき、jarファイル内のリソースからDTDを読み込むようにした。
  • ドキュメントのクラス名の後に "#include <ヘッダファイル名>" を表示するようにした。
  • namespace要素を指定したときは、ドキュメントの「#include <ヘッダファイル名>」の前に "#define パッケージ名_クラス名_IMPORT" を表示するようにした。
  • namespace要素を指定したとき、ドキュメントでは同一パッケージのクラス(インタフェース)に所属する識別子についてはパッケージ名を省略して表示するようにした。結果としてインポートマクロを使用したときのソースコードでの表記とドキュメントでの表記が等しくなった。
  • TeX出力の段落開始の字下げが発生しないバグを修正。
  • HTML出力で文字がエスケープされないバグを修正。

リリースノート 1.0.2 (2006-12-10)

  • sanctuary-20061210.tar.bz2をリリース。
  • Cのコメントに含まれる#を無視しないバグを修正。
  • Cのコメントに含まれるstructとunionを無視しないバグを修正。
  • structまたはunionで始まる識別子があると例外をスローするバグを修正。

リリースノート 1.0.1 (2006-09-08)

  • sanctuary-20060908.tar.bz2をリリース。
  • member要素、param要素、return要素などのtype属性に含まれる構造体、共用体のタグ名を抽出して、それらの前方定義を自動的にヘッダファイルに出力するようにした。

リリースノート 1.0.0 (2006-08-20)

  • sanctuary-20060820.tar.bz2をリリース。
  • バージョンを出力できるようにした。
  • @展開の機能を追加。規定の属性の値に "@" が含まれる場合、"@" を「パッケージ名 + "_" + クラス名」に展開する。ただし、C言語のコメントに含まれる "@" は展開されない。展開の対象となる属性はリファレンスを参照のこと。
  • 名前空間展開の機能を追加。namespace要素が存在する場合、規定の属性の値に接頭辞「パッケージ名 + "_" + クラス名 + "_"」を付加する。ただし、属性の値が "@" のときは「パッケージ名 + "_" + クラス名」に展開する。名前空間展開を適用した場合は@展開を適用しない。展開の対象となる属性はリファレンスを参照のこと。
  • インポートマクロの機能を追加。namespace展開を指定した場合、ヘッダファイルには「パッケージ名 + "_" + クラス名 + "_" + 識別子」を「クラス名 + "_" + 識別子」に展開し、「パッケージ名 + "_" + クラス名」を「クラス名」に展開するマクロを定義する。これらマクロはデフォルトでは無効であり、有効にするためには、マクロ「パッケージ名 + "_" + クラス名 + "_IMPORT"」を定義してからヘッダファイルをインクルードする。リンカから見えるシンボルに影響はないことに注意。
  • 次のようにDTDを変更した。詳細はリファレンスを参照のこと。
    • namespace要素、export要素を追加。
    • class要素内でdefine要素の出現順序を変更。
    • include要素のcode属性を廃止して、file属性に変更。
    • import要素のcode属性を廃止して、type属性とtag属性に変更。
    • typedef要素のas属性を廃止して、type属性に変更。
    • struct/union/enum要素のname属性を廃止して、tag属性に変更。
    • structmember/unionmember/enummember要素のtype属性を廃止して、tag属性を追加。
    • macroparam要素を追加して引数付きマクロの記述方法を変更。
    • structmember/unionmember/enummember要素の子のdesc要素はメンバの説明を記述するものとし、構造体、共用体、列挙型の説明を記述するためのtag要素を子として追加。
    • enum要素またはenummember要素で、子のconstant要素が1回以上出現するように変更。
  • 入力するXMLファイルをDTDで検証するようにした。
  • DTDで制約できない属性の値の内容を検査するようにした。エラーがあった場合はステータスコード1で終了するようにした。実行時エラーとなる状況はリファレンスを参照のこと。
  • TeX出力の際、記号のエスケープ処理が不完全だったバグを修正。

リリースノート 0.1.1 (2006-05-29)

  • sanctuary-20060529.tar.bz2をリリース。
  • Antでもビルドできるようにした。
  • インストールするファイルの構成を変更し、シェルスクリプトからコマンドを実行するようにした。

リリースノート 0.1.0 (2006-05-01)

  • sanctuary-20060501.tar.bz2をリリース。
  • 可変長引数とグローバル変数を記述できるようにした。
  • HTML出力の際に生成するindex.htmlと、TeX出力の際に生成するsanctuary.texにおいて、パッケージとクラスの出現順序を辞書順にソートするようにした。

リリースノート 0.0.0 (2006-04-09)