Skip to content

Commit fba84cb

Browse files
authored
Merge pull request #6 from momoko-yokogawa/main
v3.1.0
2 parents 9dae002 + 57b0d74 commit fba84cb

30 files changed

+76
-41
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ COBOL文法の完全日本語マニュアル『opensource COBOL Programmer's Gui
77
2021年より始動した本プロジェクトは、OSSコンソーシアム オープンCOBOLソリューション部会が活動の一環として、マニュアルの翻訳・執筆を進めています(プロジェクトリーダー:東京システムハウス 島田桃花)。
88

99
初版は原著をそのまま翻訳した内容です。第二版では、opensource COBOL で追加実装した日本語機能や新機能の説明を追加しました。
10-
第三版以降で、新製品である opensource COBOL 4J についての説明を追加していく予定です。
10+
今後は、新製品である opensource COBOL 4J についての説明を追加していく予定です。
1111

1212
| PDF版 | HTML版 |
1313
| --- | --- |
@@ -22,6 +22,8 @@ COBOL文法の完全日本語マニュアル『opensource COBOL Programmer's Gui
2222

2323

2424
## 改訂履歴
25+
改訂履歴は[こちら](/markdown/history.md)です。
26+
=======
2527

2628
||発行日|改訂詳細|
2729
|---|---|---|
File renamed without changes.
File renamed without changes.

markdown/1-2-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
COBOLの主な強みの一つは、様々なファイルにアクセスできることである。opensource COBOLは、他のCOBOL実装と同様に、読み書きするファイルの構造を記述しておく必要がある。ファイル構造の最高レベルの特性は、次のように、ファイルの編成([4.2.1](4-2-1-1.md))を指定することによって定義される。
77

8-
|||
8+
|記述方法|説明|
99
|:---|:---|
1010
|ORGANIZATION IS<br> LINE SEQUENTIAL|内部構造の中で最も単純なファイルであり、その内容は一連のデータレコードとして簡単に構造化され、特殊なレコード終了区切り文字で終了する。ASCII 改行文字(16進数の0A)は、UNIXまたは疑似UNIX(MinGW、Cygwin、MacOS)のopensource COBOLビルドで使用されるレコード終了区切り文字である。真のネイティブWindowsビルドでは、行頭復帰(CR)、改行(LF)(16進数の0D0A)順序が使用される。<br><br>ファイルタイプのレコードは、同じ長さである必要はない。<br><br>レコードは、純粋にファイルの先頭から順に読み書きする必要がある。レコード番号100を読み取る(または書き込む)唯一の方法は、最初にレコード番号1から99を読み取る(または書き込む)ことである。<br><br>opensource COBOLプログラムによってファイルに書き込まれるとき、区切り文字順序が各データレコードに自動的に追加される。<br><br>ファイルが読み取られるとき、opensource COBOLランタイムシステムは各レコードから末尾の区切り文字順序を削除し、読み取ったデータがプログラム内のデータレコード用に記述された領域よりも短い場合、必要に応じて、データ(の右側)を空白で埋める。データが長すぎる場合は切り捨てられ、超過分は消失する。<br><br>これらのファイルは、正確なバイナリデータ項目を含むように定義してはならない。これらの項目の内容の値の一部として、誤ってレコード終了順序が含まれる可能性があるためである。これは、ファイル読み取り時にランタイムシステムを混乱させ、その値を実際のレコード終了順序として解釈してしまう。|
1111
ORGANIZATION IS<br>RECORD BINARY<br>SEQUENTIAL|これらのファイルも単純な内部構造を持っており、内容も一連の固定長データレコードとして簡単に構化されており、特別なレコード終了区切り文字はない。<br><br>このファイルタイプのレコードは、物理的な長さがすべて同じである。可変長論理レコードがプログラムに定義されている場合([5.3](5-3.md))、ファイル内の各物理レコードが占有する空白は、占有可能な最大である。<br><br>レコードは、純粋にファイルの先頭から順に読み書きする必要がある。レコード番号100を読み取る(または書き込む)唯一の方法は、最初にレコード番号1から99を読み取る(または書き込む)ことである。<br><br>ファイルがopensource COBOLプログラムによって書き込まれる場合、区切り文字順序はデータに追加されない<br><br>ファイルが読み取られると、データはファイルに存在する通りにプログラムに転送される。短いレコードが最後のレコードとして読み取られる場合は空白が埋め込まれる。<br><br>このようなファイルを読み取るプログラムは、そのファイルを作成したプログラムが使用する長さとまったく同じ長さのレコードを記述するよう注意しなければならない。例えば、次の例は6文字のレコードを5つ書き込んだプログラムによって作成されたRECORD BINARY SEQUENTIALファイルの内容を示している。「A」、「B」、・・・の値と背景色は、ファイルに書き込まれたレコードを反映している。<br><br>![alt text](Image/1-2-4-1.png)<br>ここで、別のプログラムがこのファイルを読み取るが、6文字ではなく10文字のレコードが記述されているとする。プログラムが読み取るレコードは次の通りである。<br><br>![alt text](Image/1-2-4-2.png)<br><br>これはあなたが求めていた結果かもしれないが、多くの場合でこれは望ましい動作ではない。これは、コピーブックを使用してファイルのレコードレイアウトを記述することで、そのファイルにアクセスする複数のプログラムが同じレコードサイズとレイアウトを「参照する」ことが保証される。<br><br>これらのファイルには、正確なバイナリデータ項目を含めることができる。レコード終了区切り文字がないため、レコード項目の内容は読み取りプロセスとは無関係である。<br><br>|

markdown/1-3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
opensource COBOL言語の構文について、COBOLプログラマに馴染みのある規則に従って説明していく。以下は、構文の記述方法についての説明である。
77

8-
| | |
8+
|構文|説明|
99
| :--- | :--- |
1010
| 大文字 | COBOL言語のキーワードと実装に依存する名前(いわゆる「予約語」)は大文字で表示される。 |
1111
| <u>下線</u> | 下線が引かれている予約語は、構文上の文脈により必要である。予約語に下線が引かれていない場合はオプションであり、プログラムに影響を与えない。 |

markdown/1-4.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
opensource COBOLには、入力ファイルのソースコード形式を指定する、次の四つの方法がある。
99

10-
| | |
10+
|記述方法|説明|
1111
| :--- | :--- |
1212
| -fixed | このopensource COBOLコンパイラスイッチは、ソースコード入力が従来の固定形式(80桁)になることを指定し、これが初期モードである。 |
1313
| -free | このopensource COBOLコンパイラスイッチは、ソースコード入力がANSI2002の自由形式(256桁)になることを指定する。 |
@@ -16,12 +16,12 @@ opensource COBOLには、入力ファイルのソースコード形式を指定
1616

1717
以下のものは、opensource COBOLプログラムで様々なことを示すために使う、特別な命令または文字である。
1818

19-
| | |
19+
|記述方法|説明|
2020
| :--- | :--- |
2121
| 7桁目の「*| ソース行がコメントであることを示し、固定形式モードの場合のみ有効である。 |
2222
| 7桁目の「D」 | ソース行が有効なopensource COBOLコードであり、opensource COBOLコンパイラに「–fdebugging-line」スイッチが指定されて<u>いない限り</u>(その場合、行はコンパイルされる)コメントであることを示す。固定形式モードの場合のみ有効である。 |
2323
| 7桁目の「$IF」 | ソース行が有効なopensource COBOLコードであり、opensource COBOLコンパイラに「–fdebugging-line」スイッチが指定されて<u>いない限り</u>(その場合、行はコンパイルされる)コメントであることを示す。固定形式モードの場合のみ有効である。 |
24-
| 7桁目の「$IF」 | ![alt text](Image/1-4-1.png)<br>定数名-1がコンパイルオプション「-constant」で指定されており、定数-1の値が定数名-1の値に等しい時、または定数名-1の値の範囲内にある時、$IF文以降に続くソース行の処理が実行される。<br><br>![alt text](Image/1-4-2.png)<br>定数名-2がコンパイルオプション「-constant」で指定されている時、DEFINED句は真となり、$IF文以降に続くソース行の処理が実行される。それ以外の場合はNOT DEFINED句が真となり、$IF文以降に続くソース行の処理が実行される。 |
24+
| 7桁目の「$IF」 | ![alt text](Image/1-4-1.png) <br>定数名-1がコンパイルオプション「-constant」で指定されており、定数-1の値が定数名-1の値に等しい時、または定数名-1の値の範囲内にある時、$IF文以降に続くソース行の処理が実行される。<br><br>![alt text](Image/1-4-2.png) <br>定数名-2がコンパイルオプション「-constant」で指定されている時、DEFINED句は真となり、$IF文以降に続くソース行の処理が実行される。それ以外の場合はNOT DEFINED句が真となり、$IF文以降に続くソース行の処理が実行される。 |
2525
| 7桁目の「$ELSE」 | 直前の$IF文の条件式が偽である時、$ELSE文に制御が移り、$ELSE文以降に続くソース行の処理が実行される。直前の$IF文の条件式が真である時、$ELSE文は無視される。 |
2626
| 7桁目の「$END」 | $END文と同じレベルにある$IF文または$ELSE文に続くソース行の処理の実行が終了すると、$ENDに制御が移り、$IF文または$ELSE文の終了を示す。 |
2727
| 任意の桁の「*>」 | ソース行の残りの部分がコメントであることを示す。自由形式モードと固定形式モードのどちらでも使用できるが、固定形式モードで使用する場合は、「*」を7桁目以降に入力する必要がある。 |

markdown/1-7-2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
英数字定数は、次の形式のいずれかを取ることができる。
99

10-
- 一重引用符(')文字または二重引用符(")文字で囲まれた一連の文字は、文字列定数を構成する。二重引用符(")は定数内のデータ文字として使用することができる。データ文字として一重引用符文字を含める必要がある場合は、一重引用符を2つ続けて('')表現することで、一重引用符(')を定数内のデータ文字として使用することができる。二重引用符をデータ文字として含める必要がある場合は、二重引用符を2つ続けて("")表現する。
10+
- 一重引用符(')文字または二重引用符(")文字で囲まれた一連の文字は、*文字列定数*を構成する。二重引用符(")は定数内のデータ文字として使用することができる。データ文字として一重引用符文字を含める必要がある場合は、一重引用符を2つ続けて('')表現することで、一重引用符(')を定数内のデータ文字として使用することができる。二重引用符をデータ文字として含める必要がある場合は、二重引用符を2つ続けて("")表現する。
1111

1212
- X”4A4B4C”(4A4B4C<sub>16</sub>=ASCII文字列「JKL」)、x’20’(20<sub>16</sub>=空白)、X’30313233’(30313233<sub>16</sub>=ASCII文字列「0123」)などの16進数定数。「X」文字は大文字または小文字のいずれかで、一重引用符(')または二重引用符(")文字を使用できる。16進数の英数字定数は、各文字が8ビット分のデータ(2桁の16進数)で表されるため、常に偶数の16進数で構成する必要がある。16進英数字定数の長さはほぼ無制限である。
1313

markdown/3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
2. PROGRAM-ID句は他のプログラムが参照できるように(つまりCALL “program-name”)、名前(プログラム名)を定義する。
1414

15-
3. プログラム名は大文字と小文字を区別する。コンパイル単位が動的にロード可能なライブラリファイル(opensource COBOLコンパイラコマンドの「**-m**」オプションを使用するもの)として作成されている場合、コンパイラによって作成されたライブラリファイル名はプログラム名と<u>完全に一致</u>する。コンパイル単位が実行可能ファイル(opensource COBOLコンパイラコマンドの「**-x**」オプションを使用するもの)として作成されている場合、プログラムIDは有効なCOBOL一意名となり、実行可能ファイル名は、「cbl」または「cob」拡張子のないソースプログラムファイル名と同じになる。
15+
3. プログラム名は大文字と小文字を区別する。コンパイル単位が動的にロード可能なライブラリファイル(opensource COBOLコンパイラコマンドの「 **-m** 」オプションを使用するもの)として作成されている場合、コンパイラによって作成されたライブラリファイル名はプログラム名と<u>完全に一致</u>する。コンパイル単位が実行可能ファイル(opensource COBOLコンパイラコマンドの「 **-x** 」オプションを使用するもの)として作成されている場合、プログラムIDは有効なCOBOL一意名となり、実行可能ファイル名は、「cbl」または「cob」拡張子のないソースプログラムファイル名と同じになる。
1616

1717
4. INITIAL句とCOMMON句は、サブプログラム内で使用される。COMMON句はネストされたユーザプログラムであるサブプログラム内でのみ使うことができる。
1818

markdown/4-1-1.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131

3232
1. 計算機名-1に指定された値が、opensource COBOLの予約語とは一致しない有効なCOBOL語である場合、この値は定義と無関係である。
3333

34-
2. オプションのWITH DEBUGGING MODE句が存在する場合、廃止した構文としてフラグが付けられ(「**-W**」、「**-Wobsolete**」、または「**-Wall**」コンパイラスイッチを使う場合)、プログラムのコンパイルには影響しない。
34+
2. オプションのWITH DEBUGGING MODE句が存在する場合、廃止した構文としてフラグが付けられ(「 **-W** 」、「 **-Wobsolete** 」、または「 **-Wall** 」コンパイラスイッチを使う場合)、プログラムのコンパイルには影響しない。
3535

36-
3. ただし、opensource COBOLコンパイラへの「**-fdebugging-line**」スイッチを指定することで、プログラムのデバッグ行をコンパイルできる。opensource COBOLプログラムでデバッグ行を指定する方法については[1.4](1-4.md)で説明している。
36+
3. ただし、opensource COBOLコンパイラへの「 **-fdebugging-line** 」スイッチを指定することで、プログラムのデバッグ行をコンパイルできる。opensource COBOLプログラムでデバッグ行を指定する方法については[1.4](1-4.md)で説明している。
3737

3838
<!--navi start2-->
3939

markdown/4-1-3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
1. 関数名の前に「FUNCTION」とコーディングしなくても、一つ以上(またはすべて)の組み込み関数に使用可能とするフラグを立てることができる。<!--組み込み関数については6.1.7で説明する。-->
1313

14-
2. この段落を使用する代わりに、「**-ffunctions-all**」スイッチを用いてopensource COBOLプログラムをコンパイルすることもできる。
14+
2. この段落を使用する代わりに、「 **-ffunctions-all** 」スイッチを用いてopensource COBOLプログラムをコンパイルすることもできる。
1515

1616
<!--navi start2-->
1717

0 commit comments

Comments
 (0)