More ... | 編集履歴:差分2009/10/07 10:44:35 JST以来のNote:HSP3モジュール作成ガイドラインの変更箇所
* 拡張子 HSPはテキストファイルであれば拡張子は特に問わないが、.hspと.asを推奨している。 ||推奨拡張子||推奨用途|| + ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%モジュール本体|| + ||.hs||ヘルプソース|| ||.hsp||スクリプト本体|| - ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%モジュール本体|| - * 標準モジュールとユーザー定義モジュール HSPに標準でついてくるエクスポート関数の宣言文(user32.asなど)については.asで統一されている。 '''モジュールについては拡張子がまちまちである'''。 + その原因はモジュールを'''ブラックボックス'''か'''スクリプトの一部'''か、プログラマによって捕らえ方が異なるためである。 - その原因はユーザー定義モジュールについて良質と認められた場合、標準モジュールとして同梱されるからである。 + user32.asのようなエクスポート関数の宣言は.asファイルを覗いたとしても関数の実装までは見えない。 + しかしユーザー定義命令のモジュールは実装が丸見えである。ブラックボックスではないためスクリプトの一部・サブルーチンの集まり、と捕らえ.hspの拡張子を当てはめるのである。 + + ;;その原因はユーザー定義モジュールについて良質と認められた場合、標準モジュールとして同梱されるからである。 + あるモジュールAはmoduleA.asとして提供されていて、別のモジュールBはmoduleB.hspとして提供されていると、拡張子まで間違えないように打ち込まなければならない。 + テキストファイルであれば拡張子は問われないのなら、いっそのことモジュールファイル用の拡張子.mod相当を定義してもよさそうであるが。 - テキストファイルであれば拡張子は問われないのなら、いっそのことモジュールファイル用の拡張子.modを定義してもよさそうであるが。 ||改定拡張子||改定用途|| + ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文|| + ||.hs||ヘルプソース|| ||.hsp||スクリプト本体|| - ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文|| ||.mod||モジュール本体|| * ヘルプファイルとドキュメンテーションコメント付モジュール HDL1.20からドキュメンテーションコメント付モジュールがサポートされた。 これは要約するとモジュール本体にHSドキュメントを記述したファイルをHDLがヘルプファイルとして認識するというもの。 従来のようにモジュール本体とHSファイルを別々に生成する必要がないため、モジュールとヘルプの整合性が高まる。 + '''ハイブリッドモジュール'''とでもいうべきか。 - ハイブリッドモジュールとでもいうべきか。 ||改定拡張子||改定用途|| + ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%オールドモジュール本体(HSファイルと別個)|| + ||.hs||ヘルプソース|| ||.hsp||スクリプト本体|| - ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%オールドモジュール本体(HSファイルと別個)|| ||.mod||ハイブリッドモジュール本体(HSドキュメント内蔵)|| + ただし現状.modはスルーされる。 - ただし現状HDLは.hspと.asのみHSPスクリプトと認識する。.modはスルーされる。 + * 慣例 + プラグイン等で提供される定義ファイルの多くはプラグイン名(略称)が用いられるので、 + ユーザー定義モジュールの定義ファイルの多くは「mod_」+「モジュール名(略称)」というようにモジュールであることを明示している。 + + :プラグイン例:obaq.as + :モジュール明示例:mod_menu.as / mod_img.as + :モジュール非明示例:d3m.hsp / sqlele.hsp + + ||modプレフィクス||拡張子||分かりやすさ度||理由|| + ||mod_||.as||5||モジュールであることを明示し、なおかつブラックボックスとしている|| + ||mod_||.hsp||4||モジュールであることを明示している|| + ||||.as||3||ブラックボックスとしている|| + ||||.hsp||1|||| + + * コメント - どうでしょう?? |