SEWB+ COBOL構造図エディタ 使用の手引
- <この項の構成>
- (1) 一般的な命令文
- (2) 内PERFORM文
- (3) 外PERFORM文
- (4) IF文
- (5) EVALUATE文とSEARCH文
- (6) STOP文,EXIT文,EXIT PROGRAM文,及びEXIT PERFORM文
- (7) CALL文
- (8) SEWBコメント(*****U ……)に挟まれた命令文
- (9) GO TO文とGO文
- (10) ラベル名
- (11) 注記行
- (12) タイトル
- (13) 無条件文
- 次に示す文以外の文が連接ボックスに生成されます。
CALL文,EVALUATE文,EXIT文,GO TO文,IF文,PERFORM文,SEARCH文,及びSTOP文
- オプションで設定したレコード形式が可変長の場合,REPLACE文も連接ボックスに生成されます。
- EXECからEND-EXECまでの文は一つのボックスに生成されます。ただし,EXECからEND-EXECまでの間の文の内容についてはチェックされません。
- EXECからEND-EXECの間にあるCOBOL命令は無視され,1ボックスに生成されます。
- 条件句にSQL文を記述している場合は,ボックスの中にEND-EXECが生成されます。条件句以外のところにSQL文を記述している場合は,ボックスの中にEND-EXECが生成されません。
- EXECからEND-EXECまでの文字数が32,760文字を超えるときは,警告メッセージが出力され,超過分が切り捨てられます。
一般的な命令文とボックスとの関係を図7-10に示します。
内PERFORM文では,PERFORMの次に指定する予約語によって生成されるボックスの形式が異なります。
- TEST AFTERを指定した内PERFORM文は,反復ボックス(UNTIL型)に生成されます。
TEST AFTERを指定した内PERFORM文とボックスとの関係を図7-11に示します。
図7-11 TEST AFTERを指定した内PERFORM文とボックスとの関係
- TEST BEFOREを指定した内PERFORM文は,反復ボックス(WHILE型)に生成されます。
TEST BEFOREを指定した内PERFORM文とボックスとの関係を図7-12に示します。
図7-12 TEST BEFOREを指定した内PERFORM文とボックスとの関係
(c) TEST AFTER及びTEST BEFORE以外の予約語を指定した内PERFORM文
TEST AFTER及びTEST BEFORE以外の予約語で,「WITH」,「VARYING」,「UNTIL」を指定した場合は,反復ボックス(UNTIL型)が生成されます。
TEST AFTER及びTEST BEFORE以外の予約語を指定した内PERFORM文とボックスとの関係を図7-13に示します。
図7-13 TEST AFTER及びTEST BEFORE以外の予約語を指定した内PERFORM文とボックスとの関係
(d) 予約語以外を指定した内PERFORM,又は何も指定しない内PERFORM文
- 予約語以外を指定した内PERFORM文と何も指定しない内PERFORM文は,反復ボックス(WHILE型)に生成されます。
予約語以外を指定した内PERFORM,又は何も指定しない内PERFORM文とボックスとの関係を図7-14に示します。
図7-14 予約語以外を指定した内PERFORM,又は何も指定しない内PERFORM文とボックスとの関係
外PERFORM文は内部コールボックスに生成されます。
外PERFORM文とボックスとの関係を図7-15に示します。
- IF文は選択ボックスに生成されます。
- IF文に条件がない場合は,空ボックスが生成されます。
- IF文とTHENの間に注記行以外の命令があるときは,PAD生成が中止されます。
- THEN節及びELSE節に続く文がCONTINUEだけのときは,選択ボックスの枝につながるボックスは生成されません。
IF文とボックスとの関係を図7-16に示します。
- EVALUATE文又はSEARCH文は多分岐ボックスに生成されます。
- WHEN句が続く文がCONTINUEだけのときは,多分岐ボックスの枝につながるボックスは生成されません。
- EVALUATE文とWHEN句の間に注記行以外の命令文がある場合,PAD生成は中止されます。
- SEARCH文のAT END句は多分岐の一つの枝として生成されます。
- EVALUATE文に条件式がない場合,WHEN句だけを生成します。
EVALUATE文,SEARCH文とボックスとの関係を図7-17に示します。
図7-17 EVALUATE文,SEARCH文とボックスとの関係
(6) STOP文,EXIT文,EXIT PROGRAM文,及びEXIT PERFORM文
STOP文,EXIT文,EXIT PROGRAM文,及びEXIT PERFORM文は出口ボックスに生成されます。
STOP文,EXIT文,EXIT PROGRAM文,及びEXIT PERFORM文とボックスとの関係を図7-18に示します。
図7-18 STOP文,EXIT文,EXIT PROGRAM文,及びEXIT PERFORM文とボックスとの関係
- CALL文は外部コールボックスに生成されます。
- CALL文だけが記述されている場合,空ボックスが生成されます。
CALL文とボックスとの関係を図7-19に示します。
(8) SEWBコメント(*****U ……)に挟まれた命令文
- ソースプログラム中のSEWBコメント(*****U ……)は,ユーザボックスに生成されます。
- SEWBコメント(*****U SEWB START)とSEWBコメント(*****U SEWB END)の間に文がない場合,空ボックスが生成されます。
SEWBコメントに挟まれた命令文とボックスとの関係を図7-20に示します。
図7-20 SEWBコメントに挟まれた命令文とボックスとの関係
- GO TO文及びGO文は,無条件分岐ボックスに生成されます。
- GO TO文だけが記述されている場合,空ボックスが生成されます。
GO TO文,及びGO文とボックスとの関係を図7-21に示します。
- ラベル名は,ラベルボックスにそのまま生成されます。
- 生成できるラベル名の長さには制限があります。ラベル名の長さ制限は,オプションで指定したレコード形式によって異なります。ラベル名の長さの制限値については,「付録A 制限値,限界値」を参照してください。
なお,ラベル名の長さが制限値を超えた場合は,超過分が切り捨てられて生成されます。
ラベル名とボックスとの関係を図7-22に示します。
注記行は,ブロックコメントボックスに生成されます。注記行が1行ずつ点在しているときは,その1行ごとにブロックコメントボックスへ生成されます。注記行が複数行まとまっているときは,複数の注記行を一つのまとまりとして扱う場合と,1行ずつ別々の注記行として扱う場合があります。
(a) 一つのまとまりとして扱う場合
ソースプログラム上の注記行が複数行まとまっているときは,これらがひとまとまりとなってブロックコメントボックスに生成されます。このとき,7カラム目に付いている「*」は削除されます。
注記行とボックスとの関係を図7-23に示します。
(b) 別々に扱う場合
ソースプログラムで複数行まとまっている注記行を別々に扱い,別々のブロックコメントボックスに生成した場合は,Axcblcmtファイルを作成してください。Axcblcmtファイルの作成,指定の詳細は,「7.5.3 Axcblcmtファイルの指定方法」で説明します。
手続き部(PROCEDURE DIVISION)の見出し行以降から最初のセクション名(…SECTION)までは,7〜80カラムの記述がそのままタイトル領域に生成されます。宣言部分の始まり指示(DECLARATIVES)の指定があるときは,宣言部分の終わり指示(END DECLARATIVES)の後ろから最初のセクション名までがタイトル領域に生成されます。ただし,「END DECLARATIVES」は生成されません。
見出し部(IDENTIFICATION DIVISION)から宣言部分の始まり指示(DECLARATIVES)の前までは共通データ領域に生成されます。
タイトルとボックスとの関係を図7-24に示します。
- 無条件文は,次の命令が現れるまでが1命令とみなされ,1ボックスに生成されます。ただし,次の命令が現れる前に条件句が現れた場合は,明示範囲符(END-動詞)又はピリオドが現れるまでが1ボックスに生成されます。
- 明示範囲符(END-動詞)は,無条件文に条件指定がある場合は生成され,無条件文の条件指定がない(無条件完結文)場合は生成されません。したがって,無条件文の条件指定がネストする場合やネスト中の無条件文に条件指定がない場合は,ソースプログラム中に明示範囲符(END-動詞)を記述してください。ただし,先頭の無条件文に対する明示範囲符は,生成したPADからソースプログラムを再生成すれば自動的に生成されるため,ソースプログラムから生成したPADボックスには記述しないでください。
- PAD生成時,無条件命令と条件指定の組み合わせは,論理的にはチェックされません。ソースプログラム中の条件指定は対応する直前の無条件命令の条件指定とみなされます。
- 明示範囲符は,条件指定の有無に関係なく,その直前の無条件文の明示範囲符とみなされます。
無条件文とボックスとの関係を図7-25,図7-26,図7-27,図7-28に示します。
All Rights Reserved,Copyright (C) 1997,2000,Hitachi,Ltd.
All Rights Reserved,Copyright (C) 1997,2000,Hitachi Chubu Software,Ltd.
All Rights Reserved,Copyright (C) 1997,2000,Hitachi Software Engineering Co.,Ltd.