8.1.2 構文定義ファイルの内容

ここでは,構文定義ファイルの形式,ファイル中での使用できる識別子,及びサンプル提供されている構文定義ファイルの内容について説明します。

<この項の構成>
(1) 構文定義ファイルの形式
(2) 構文定義ファイルで使用できる識別子
(3) SEWB+ COBOL構造図エディタがサンプル提供している構文定義ファイル

(1) 構文定義ファイルの形式

構文定義ファイルは,識別子,構文及び展開文を記述する三つの領域と仮記号で構成されています。構文定義ファイルの形式を図8-1に,複数の構文が格納されている構文定義ファイルの形式を図8-2にそれぞれ示します。

図8-1 構文定義ファイルの形式

[図データ]

図8-2 複数の構文が格納されている構文定義ファイルの形式

[図データ]

(2) 構文定義ファイルで使用できる識別子

構文定義ファイル中で使用する識別子は,構文とその構文を定義できるボックスの対応を表しています。構文定義ファイル中で使用できる識別子の一覧を表8-1に示します。

表8-1 構文定義ファイル中で使用できる識別子の一覧

識別子対応する構文の種類
SS連接ボックス用の構文
SR反復ボックス(UNTIL型)用の構文
SI選択ボックス用の構文
SC多分岐ボックス用の構文
SW反復ボックス(WHILE)用の構文
ST出口ボックス用の構文
SE外部コールボックス用の構文
SN内部コールボックス用の構文
SUユーザボックス用の構文
SG無条件分岐ボックス用の構文
MS連接ボックス用の複数構文
MT出口ボックス用の複数構文
ME外部コールボックス用の複数構文
MN内部コールボックス用の複数構文
MUユーザボックス用の複数構文
MG無条件分岐ボックス用の複数構文
△△展開文
*△コメント(構文定義ファイルを見やすくするためのコメントで,PADエディタの構文表では表示されない)
*S連接ボックス用のコメント(PADエディタの構文表で表示される)
*R反復ボックス(UNTIL型)用のコメント(PADエディタの構文表で表示される)
*I選択ボックス用のコメント(PADエディタの構文表で表示される)
*C多分岐ボックス用のコメント(PADエディタの構文表で表示される)
*W反復ボックス(WHILE型)用のコメント(PADエディタの構文表で表示される)
*T出口ボックス用のコメント(PADエディタの構文表で表示される)
*E外部コールボックス用のコメント(PADエディタの構文表で表示される)
*N内部コールボックス用のコメント(PADエディタの構文表で表示される)
*Uユーザボックス用のコメント(PADエディタの構文表で表示される)
*G無条件分岐ボックス用のコメント(PADエディタの構文表で表示される)
― ―構文の継続行

(3) SEWB+ COBOL構造図エディタがサンプル提供している構文定義ファイル

SEWB+ COBOL構造図エディタでは,ユーザがすぐに構文定義ファイルを使用できるように,あらかじめ構文定義ファイルをサンプル提供しています。

サンプル提供されている構文定義ファイルの構文一覧を,ボックスごとに示します。

連接ボックス[図データ]

構     文展  開  文
@1 → @2MOVE @1 TO @2
@1 に @2を加えるADD @2 TO @1
@1 から @2 を引くSUBTRACT @2 FROM @1
@1 ← @2 + @3COMPUTE @1 = @2 + @3
@1 ← @2 - @3COMPUTE @1 = @2 - @3
@1 ← @2 * @3COMPUTE @1 = @2 * @3
@1 ← @2 / @3COMPUTE @1 = @2 / @3
@1 ← 余り( @2 / @3 )COMPUTE @1 = @2 / @3
COMPUTE @1 = @2 - ( @1 * @3 )
@1 を @2 に表示するDISPLAY @1 UPON @2
@1 を表示するDISPLAY @1
@1 に日付を入れるACCEPT @1 FROM DATE
@1 に通年日を入れるACCEPT @1 FROM DAY
@1 に時刻を入れるACCEPT @1 FROM TIME
@1 を初期化するINITIALIZE @1
@1 ファイルを閉じるCLOSE @1
@1 ファイルを入力で開くOPEN INPUT @1
@1 ファイルを出力で開くOPEN OUTPUT @1
@1 ファイルを更新で開くOPEN I-O @1
@1 ファイルを追加で開くOPEN EXTEND @1
@1 ファイルを読みレコードの終わりなら @2 に行くREAD @1 AT END GO TO @2
@1 ファイルを読みレコードの終わりなら @2 → @3READ @1 AT END MOVE @2 TO @3
@1 を書くWRITE @1
@1 を書き換えるREWRITE @1

反復ボックス(UNTIL型)[図データ]

構     文展  開  文
@1 になるまで繰り返すPERFORM TEST AFTER UNTIL @1

反復ボックス(WHILE型)[図データ]

構     文展  開  文
@1 回繰り返すPERFORM @1 TIMES
@1 になる間繰り返すPERFORM TEST BEFORE UNTIL @1

選択ボックス[図データ]

構     文展  開  文
もし @1 ならIF @1

多分岐ボックス[図データ]

構     文展  開  文
@1 が @2 の場合EVALUATE @1 WHEN @2
@1 の場合WHEN @1
その他WHEN OTHER
@1 を表引きし終わりならSEARCH @1 AT END

出口ボックス[図データ]

構     文展  開  文
終わるSTOP RUN
出るEXIT
戻るEXIT PROGRAM

外部コールボックス[図データ]

構     文展  開  文
@1 を呼ぶCALL @1
@1 を呼び @2 を引き渡すCALL @1 USING @2

内部コールボックス[図データ]

構     文展  開  文
@1 を実行するPERFORM @1
@1 を @2になる間実行するPERFORM @1 TEST BEFORE
UNTIL @2
@1 を @2になるまで実行するPERFORM @1 TEST AFTER
UNTIL @2
@1 を @2が @3になるまで
実行する
PERFORM @1
UNTIL @2 = @3

無条件分岐ボックス[図データ]

構     文展  開  文
@1 に行くGO TO @1