ここでは、コボルの表記方法・定数・変数などについて説明します。定数や変数は色々なパターンがあり、全て網羅し使いこなすのは困難です。私も基本的なものしか憶えていません。実際にプログラムを作成するにあたり、最低限憶えなければいけないことのみ重点的に説明します。しっかり身につけて下さい。
では早速お手元のコーディング用紙を見て下さい。えっ持ってない?じゃあ無くても構いません。COBOLでは1行に80桁まで記述ができます。(桁のことをカラムと言います。以後の表記はカラムで記述します。)
まず大きく分けて一連番号領域・標識領域・A領域・B領域・プログラム識別領域という5つに分類できます。では順に説明します。
プログラム行を識別するために使用されます。コーディング上は書く必要はありません。プログラム翻訳時にこの領域は無視され、番号は自動的に振られます。憶えなくて構いません。また、市販されているエディターでは、この部分自体を省いた形式で利用するソフトが大半を占めています。
通常のコーディング時は空白のままで使用しません。コメントをつける場合や前の行からの文字列が続いている場合にはココに特定の文字を記述します。
- *(アスタリスク)
コメント行とし、以下のカラムをコメントとして使用できます。- −(ハイフン)
文字列のつなぎとみなし、以下のカラム記述を前行からの続きだとみなします。- /(スラッシュ)
翻訳リスト時にここで改頁されます。また以下のカラムはコメントとして使用できます。
各部や節の見出し(○△ DIVISION や □△ SECTION)、段落の見出し等を記述します。またDATA部のFD句やレコード記述の01、作業領域節の01,77,88なんかも同様にここから記述を始めます。
各段落を構成する文(命令文も含む)を記述する場所です。ピリオドも必ずこの中で収まるようにしなければなりません。いわばメインの領域と言っても過言ではないでしょう。いや少し大袈裟ですね。
ここは全てコメントとして扱われ、プログラム翻訳時には無視されます。書く必要はありません。たまに間違えて73カラム目にピリオドつけるバカがいます。コンパイルエラーを見て「どこがエラーだゴルァァ」なんてゴリラみたいな顔で叫んでます。ええ私ですとも。
COBOLでは特定の文字と記号以外は受け付けてくれません。年寄りなんで仕方ありません。じゃあ使える文字と数字、記号を一気に紹介します。暗記パンとか画面に押し付けて無理矢理記憶しましょう。
なお、英小文字は対応する英大文字と同じとみなされます。但し英大文字と英小文字を合わせの文字定数、コメントなんかには任意の文字を使っても構いません。
COBOLで使用可能な文字列の紹介をします。これは大きく利用者定義語と予約語に分類できます。利用者定義語とは利用者、つまりアナタが勝手に名前をつけられる文字(文字列)のことを差しています。予約語とはFILEやSECTION、MOVEやWRITE、HIGH-VALUE、ZEROなどなど、予めCOBOL言語上で利用する定義をされている文字列や数値を差しています。以下に簡単な解説を掲載します。
利用者定義語には以下のものがある
必要語・補助語・表意定数・特殊文字などがある
プログラムの構文を規定するための幹になる語
プログラムの構文を規定するための幹になる語であるが、文章を整えるために記述するもので、記述しなくても翻訳結果に変わりはない。
プログラムでよく使われる値には、固有のデータ名がつけられている
- ZERO,ZEROS,ZEROES:何桁かの0
- SPACE,SPACES:1つ以上の空白が連続する文字列を意味する
- QUOTE,QUOTES:1つ以上の引用符が連続する文字列を意味する
- HIGH-VALUE,HIGH-VALUES:最高の値を有する文字列
- LOW-VALUE,LOW-VALUES:最小の値を有する文字列
- ALL定数:指定した文字定数を1回以上反復し連続させた文字列を意味する
部分参照とは、データ項目に対して最左端の文字と長さを指定する事によってデータ項目を定義することが可能になります。例えば、こんな感じで…
01 text pic x(10) value "ABCDEFGHIJ".
textという10桁の文字項目にA〜Jまでのアルファベットが入っています。この3桁目から7桁目までの5文字を表示してみると、以下のようになります。
Display text ( 3 : 5 )
表示結果 ==> CDEFG
構文は以下の通りです。
形式
データ名1(最左端文字位置:[長さ]) |