SCRIPT [ 1 ]は、Control Program-67/Cambridge Monitor System (CP-67/CMS)のScript [ 2 ] [ 3 ] 、 Virtual Machine Facility/370 (VM/370) および OS/VS2 の Time Sharing Option (TSO) の Script/370 [ 4 ] から始まる一連のテキストマークアップ言語のいずれかです。現在のバージョンである SCRIPT/VS [ 5 ] [ 6 ] [ 7 ] は、IBM z/VM およびz / OSシステム用のIBMのDocument Composition Facility ( DCF ) [ 8 ]の一部です。SCRIPTはCTSS RUNOFFの後継として、MITのStuart Madnick [ 1 ] [ 9 ]によってCP - 67 / CMS向けに開発されました。
SCRIPTは手続き型マークアップ言語です。論理行の最初の列にピリオドで示される制御ワードと呼ばれるインラインコマンドは、フォーマットされたテキストの望ましい外観を記述します。SCRIPTは当初、テキスト内で後続の変数を参照できるように2PASSオプションを提供していましたが、その後のバージョンでは2パス以上も可能になりました。
1968年にIBMはMITのスチュアート・マドニックに、CP/67上で動作する簡単な文書作成ソフトを書くよう依頼した。[ 10 ] [ 1 ]マドニックはそれをMITのCTSS RUNOFFをモデルにした。 [ 11 ]マドニックはそれをMITのCTSS RUNOFFをモデルにした。[ 12 ] [ 13 ] 1974年にイェール大学のウィリアム・ドワイヤーは、CP-67版のScriptをOS/360のタイムシェアリングオプション(TSO)にNSCRIPTという名前で移植した。[ 14 ]ウォータールー大学はNSCRIPTを書き直して拡張し、1974年にウォータールーSCRIPTとした。 [ 15 ]これもCMSとTSOのユーザーに無料で数回のリリースで提供した後、最終的には新リリースを有料化した。
1978年までに、VM/CMS上で動作していたIBMのScript/370は、文書構成機能(DCF)へと進化し、[ 16 ] CMS、DOS/VS、OS/VS1、OS/VS2上のSCRIPT/VSをサポートし、IBM 3800をサポートしました。[ 10 ]さらに、 SCRIPT/PCと呼ばれるPC / MS - DOS版もありました。[ 17 ]
ネイティブスクリプト制御はピリオドで始まり、オペランドの前にスペースが入ります。通常は1列目から始まりますが、セミコロンで区切って1行に複数の制御ワードを記述することもできます。
以下の説明と表は、DCF 内の選択された制御ワードを参照しています。古いバージョンも同様です。
SCRIPTでは、制御ワード内のスペース単位を、インチ、センチメートル、ミリメートル、パイカ、シセロ、mスペース、デバイス単位(現在のデバイス解像度におけるピクセル)など、様々な単位で指定できます。垂直方向のスペース単位は、特に指定がない限り、 行単位とみなされます。
| 制御語 | 関数 | 例 | |
|---|---|---|---|
.sp | 垂直方向の空白を挿入します | .sp1 | 空白行を1行挿入します |
.ce | 線に沿って中央揃え | .ce2 | 次の2行を現在のページまたは列の中央に配置します |
.ez | EasyScriptを制御する | .ezPfoobar | テキストfoo barで段落を開始します。これは.ez の後の &P.foo barと同等です。 |
.im | 現在の場所にファイルを埋め込みます | .imBLRPLT | 「BLRPLT SCRIPT」ファイルを挿入します |
.ju | 正当化モードのオン/オフ | .juon | .ju off に遭遇するまで 後続の行を両端揃えにするよう要求します。 |
.rh | 見出し情報を指定する | .rh | .rh off に遭遇するまで、 次の行をランニング ヘッドとして識別します。 |
.df | 名前付きフォントを定義する | .dfexamptype('CenturySchoolbook'10light) | 「examp」という名前のフォントの属性を指定します。 |
.bf | 次のテキストのフォントを指定してください | .bftitle | 「title」は、.df 制御ワードによって識別されるフォントの名前です。 |
.se | 変数シンボルに値を割り当てる | .semonth=January | シンボル &month に値を割り当てます。この値は、&month が再定義されるまで、入力テキスト内の後続のすべての &month の出現を置き換えます。 |
Scriptには、ユーザー定義マクロの作成機能と、マクロ定義やその他のコマンドを含むプロファイルの自動読み取り機能が含まれています。GMLやEasyScriptなど、セマンティックタグ用のいくつかのパッケージは、この機能に基づいて構築されています。
IBMの汎用マークアップ言語(GML)は、文書の論理構造を記述する記述的なマークアップ層です。SCRIPT/VSとGMLスターターセットはどちらも、 System/370プラットフォームおよび後継機種で使用されているIBMの文書構成機能(DCF)の一部です。BookMaster [ 18 ] [ 19 ]およびBookManager BUILD/MVS [ 20 ]製品のタグセットは、GMLスターターセットの構文と実装を基盤として構築されています。
SGML( Standard Generalized Markup Language)はGMLの派生言語です。DCFはSGMLを直接処理することはできませんが、別製品としてSGMLトランスレータが利用可能です。
EasyScriptは、Script/370 [ 21 ]バージョン3 [ 22 ] [ 23 ] [ 24 ]に含まれるマクロ定義とプロファイルのセットであり、GMLのプリミティブバージョンを実装しています。タグは制御語に値が設定された変数であり、1行に複数のタグを記述できます。
.ezオン &P.これは段落です。 &N1.最初の項目 &N2.最初のサブ項目 &N2.2番目のサブ項目 &N1.2番目の項目
は、ほぼ
これは段落です
GMLスターターセット(GMLSS)[ 25 ] [ 26 ]は、マクロ定義とプロファイルのセットであり、[ 27 ]生のScript/VS制御語よりも意味論的な方向性を持つタグセットを実装しています。タグはコロンで始まり、ピリオドで終わります。タグ名と終了ピリオドの間に属性を含めることができます。1行に複数のタグを含めることができます。
Bookmasterは、DCFのGMLスターターセットを拡張した「大規模な社内出版アプリケーション向けに設計された」IBM製品です。複雑な文書レイアウトを作成するための豊富なGML語彙セットで構成されています。Bookmasterは、z/VMおよびz/OSオペレーティングシステムで動作します。[ 18 ]
IBMはBookMasterのサポートを終了しましたが、古いBookMaster文書をHTMLに変換する ソフトウェア[ 28 ]があります。
BookManagerは、オンライン書籍の作成と閲覧のための製品群です。BookManager BUILD/MVSとBookManager BUILD/VMは、SCRIPTとBookMasterの上に構築され、z/VMとz/OS上で動作します。[ 29 ]テキスト生成用の他のBookManager BUILD製品は、Linux、Windows、またはOS/2上で動作し、さまざまなワードプロセッサで作成されたファイルをBookManager形式に変換します。テキスト閲覧用のBookManager Read製品は、さまざまなシステムで動作します。BookManager BookServerは、「電子書籍をHTMLブラウザに提供する」ためのマルチプラットフォームシステムです。[ 30 ]
BookManager電子文書のファイル名は通常、拡張子.BOOで終わります。IBMは、BookManager文書を操作・閲覧するための無料ツールをいくつか提供しており、その中にはIBM Softcopy Readerと呼ばれるリーダー/ビューアも含まれています。[ 31 ]独立系開発者のKev Bowling氏は、IBMのBookManagerコードライブラリを使用してBookManager文書をPDFに変換するソフトウェアを開発・リリースしました。[ 32 ]
は、CTSS RUNOFFの後継として、MITのStuart MadnickによってCP-67/CMS用に開発されました。
1967年:SCRIPT(スチュアート・マドニック)。1967年、マドニックはRUNOFFコードをIBMのIBM CP67/CMSにSCRIPTとして移植しました。SCRIPTのドキュメントは明示的に…