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