キーワードは、機能を定義するための基本的なコンポーネントです。 キーワードを定義する前に、ヘッダーメンテナンスレコードを作成する必要があります。「ヘッダーレコード」を参照してください。
コマンドで使用するキーワードは、キーワード定義機能とキーワードエディタで作成します。 キーワードエディタは、エディタ行が別々のフィールドに分割されていること以外は、既存の Natural エディタと類似しています。 Natural プログラムエディタで使用するエディタコマンド(関連するセクションを参照)および行コマンド(関連するセクションを参照)の大部分は、キーワードエディタでも使用できます。
キーワードエディタを呼び出すには
[Processor Source Maintenance]メニューで、ファンクションコード「K」(Define Keywords)を入力します。
Enter キーを押します。
キーワードエディタ画面が表示されます。
以下のキーワードエディタ画面が表示されます。 このセクションの例として使用するキーワードがすでにいくつか定義されています。
09:42:39 - SYSNCP Keyword Editor - 2000-05-04 Modify Keywords Name SAGTEST Library SYSNCP DBID 10 FNR 32 I Line E Use Keyword IKN ML Comment - ---- - ---- ---------------- ---- -- ---------------------------------------- 1 1 Acti MENU 1004 1 2 1 Acti DISPLAY 1002 2 3 S Syno SHOW 1002 1 4 1 Acti DELETE 1001 2 5 S Syno PURGE 1001 1 6 S Syno ERASE 1001 1 7 1 Acti FILE 1003 4 8 P Parm NAME 4002 2 9 2 Obje FILE 2001 4 10 P Parm NUMBER 4001 2 11 2 Obje DOCUMENT 2003 2 12 1 Acti INFORMATION 1005 1 13 14 - ---- - ---- ----- All ------ ---- -- ---------------------------------------- Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip -1 +1 Top Bot Info Canc |
コマンド言語に必要なすべてのキーワードをキーワードエディタに入力します。 キーワードは任意の順番で入力できます。ただし、シノニムは関連するキーワードの直後に続ける必要があります。 各キーワードに対して、そのキーワードがコマンド構文のどの部分に属するかを指定するタイプを割り当てます。 コマンドプロセッサのコマンド構文規則は、プロセッサヘッダーで指定します。「ヘッダーレコード」の「キーワードランタイムオプション - ヘッダー 1」を参照してください。 例えば、キーワードを、タイプ 1(コマンドの先頭に入力)、タイプ 2、タイプ 3、別のキーワードのシノニム、またはパラメータインジケータのいずれにするかを指定できます。
注意:
現在のところ、どのようなコンピュータにも意味論を理解する能力はないため、コマンド言語には厳密な構文が必要です。 そのため、言葉による入力が、コマンド言語でやり取りする唯一の実用的な方法となっています。
上記の例では、キーワード DELETE と DISPLAY がタイプ 1 のキーワードとして定義されています。 プロセッサヘッダーで指定したとおり、これらのキーワードはアクションを示します。 キーワード DOCUMENT はタイプ 2 のキーワードとして定義されており、オブジェクトを示します。 ただし、キーワード FILE はタイプ 1 と 2 の両方として定義されているため、コマンド内の位置に応じてアクションまたはオブジェクトを示します。 2 つのキーワードタイプを結び付けて DELETE FILE や FILE DOCUMENT などのコマンドを作ることができます。
コマンド行から SAVE または STOW コマンドを発行して、入力したキーワードを保存することができます。 STOW コマンドは、キーワード定義をソース形式で保存することに加えて、それらの整合性チェックも実行します。 キーワードが正常に格納されると、ランタイム時にコマンドを評価するために使用される内部キーワード番号(IKN)がキーワードに与えられます。 シノニムは常にマスタキーワードと関連付けられ、マスタの IKN を取得します。
キーワードエディタの各行には以下のフィールドが含まれています。
フィールド | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I |
出力フィールド。 この情報フィールドには次の値が表示されます。
|
||||||||||||||
Line | 出力フィールド。 エディタの行番号が表示されます。 | ||||||||||||||
E |
キーワードのエントリタイプ、つまり、キーワードをコマンドに入力する位置を指定します。エントリタイプは、1 番目、2 番目、3 番目、シノニム、またはパラメータインジケータのいずれかです。 例えば、上記のキーワードエディタ画面の例では、キーワード DELETE はエントリタイプ 1、DOCUMENT はエントリタイプ 2 になっています。 これらのキーワードを使用すると、DELETE DOCUMENT コマンドを定義できます。 このフィールドに入力できる文字は以下のとおりです。
|
||||||||||||||
Use |
出力フィールド。 このフィールドに表示される値は、[E]フィールドに入力した値で決まります。
|
||||||||||||||
Keyword |
定義するキーワードを入力します。 空白で埋めることはできません。 プロセッサヘッダーで、キーワードに大文字のみ使用できるように指定した場合、キーワードは、どのように入力されたかに関係なく、常に大文字に変換されます。 それ以外の場合、大文字/小文字は入力されたままとなります。 キーワードの最大文字数と最小文字数は、ヘッダーに指定した設定で決まります。デフォルトは 1~16 文字です。 キーワードは、ヘッダーにその他の指定がない限り、一意にする必要があります。 「ヘッダーレコード」の「キーワードエディタオプション - ヘッダー 2」で説明されているように、キーワード接頭辞を使用できます。 |
||||||||||||||
IKN | 出力フィールド。 内部キーワード番号(IKN)は、有効な各キーワードに割り当てられる識別子です。 IKN は、テストおよびデバッグに役立ちます。 IKN は、キーワードが正常に格納されたときにのみ割り当てられます。「エディタコマンド」の STOW コマンドも参照してください。 各キーワードに一意の IKN が割り当てられます。ただし、シノニムにはマスタの IKN が割り当てられます。上記のキーワードエディタ画面の例の DISPLAY および SHOW を参照してください。 | ||||||||||||||
ML | 入出力フィールド。キーワードの最小文字数を示します。 「ヘッダーレコード」の「キーワードランタイムオプション - ヘッダー 1」で説明されているように、プロセッサヘッダーの[Dynamic Length Adjustment]フィールドに S を指定していると、このフィールドは入力フィールドになります。 この場合、キーワードに必要な入力文字数を指定する必要があります。 S 以外の場合は、他のキーワードとの混同を避けるために、ユーザーが指定する必要がある、キーワードの最小文字数が、このフィールドに表示されます。
例えば、上記のキーワードエディタ画面の例の場合、キーワード MENU に必要な入力は M のみですが、キーワード DISPLAY は、キーワード DELETE との混同を避けるために、「DI」と入力する必要があります。 |
||||||||||||||
Comment | キーワードに関するテキストを自由に入力できます。 入力に対する制限はありません。 「ヘッダーレコード」の「その他のオプション - ヘッダー 3」で説明されているように、ヘッダー定義の[Catalog User Texts]フィールドを Y に設定した場合、このユーザーテキストはカタログされたコマンドプロセッサに組み込まれます。 このユーザーテキストは、PROCESS COMMAND ステートメントの TEXT オプションを使用して、ランタイム時に読み込むことができます。 この列の先頭に表示されるヘッダーテキストは、ヘッダー定義の[Header for User Text 1]および[Header for User Text 2]フィールドで制御されます。 |
キーワードエディタのコマンド行に入力できるコマンドは以下のとおりです。
エディタの位置付けコマンドは、Natural プログラムエディタの位置付けコマンドと同じです。 詳細については、『エディタ』ドキュメントの「プログラムエディタプログラムエディタ」を参照してください。
エディタの最後の行には、エディタ内の表示位置を示す出力フィールドが含まれています。 以下の出力値が表示されます。
Top | エディタは現在キーワードソースの先頭に位置付けられています。 |
Mid | エディタは現在キーワードソースの中央に位置付けられています。 |
Bot | エディタは現在キーワードソースの最後に位置付けられています。 |
Emp | エディタは現在空白です。 |
All | ソース全体が現在の画面に含まれています。 |
キーワードエディタの行コマンドは、コマンド .J および .S を使用できないこと以外は、Natural プログラムエディタと同じです。
各コマンドは[E]フィールドから入力します。コマンドの残りの部分は、次の画面のように、[Keyword]フィールドに入力します。
09:42:39 - SYSNCP Keyword Editor - 2000-05-04 Modify Keywords Name SAGTEST Library SYSNCP DBID 10 FNR 32 I Line E Use Keyword IKN ML Comment - ---- - ---- ---------------- ---- -- ---------------------------------------- 1 1 Acti MENU 1004 1 2 1 Acti DISPLAY 1002 2 3 S Syno SHOW 1002 1 4 . Acti i(3)TE 1001 2 5 S Syno PURGE 1001 1 |
注意:
行を移動(.M)またはコピー(.C)する場合は、個々のキーワードを常にシノニムと一緒に移動またはコピーするようにします。
行を削除(.D)する場合、対応するキーワードおよびこれらのキーワードを含むすべての機能は、STOW エディタコマンドを発行するまで、データベースから削除されません。 STOW コマンドを発行しない限り、これらの機能は機能エディタに表示され続けます。