サイトのロゴ opensource COBOL Programmer’s Guide

前へ/目次/次へ

8.1.9.2. コンパイラ構成ファイルのパラメータ

opensource COBOLのコンパイラ構成ファイルに記載されているパラメータについて説明する。

opensource COBOLをインストールすると、デフォルトのコンパイラ構成ファイルが配置され、コンパイル時に参照されるようになっている。また、コンパイル時に「-conf」オプションを使用することで、参照するコンパイラ構成ファイルを変更することもできる。コンパイラ構成ファイルはリポジトリの「config」ディレクトリに格納されており、デフォルトで参照される「default.conf」のほかに以下のファイルが用意されている。

これらのコンパイラ構成ファイルに含まれるパラメータの多くは「default.conf」の同一だが、値が異なる場合がある。

表8-5-パラメータ一覧

以下の表でコンフィグファイルにあるパラメータについての説明を記載する。デフォルト値は「default.conf」に基づいている。

No パラメータ名 設定できる値 デフォルト値 パラメータの説明
1 name 任意の文字列 OpenCOBOL 設定ファイル名。
2 tab-width 整数 8 タブ文字を何文字分のスペースとして扱うかを決める。
3 text-column 整数 72 コードを何桁目まで記述できるかを決める。
4 default-organization record-sequential, line-sequential record-sequential SELECTORGANIZATIONが定義されていない場合に、ここにセットされている値をORGANIZATIONとして扱う。
5 assign-clause cobol2002, mf, ibm, jph1 mf SELECT文のASSIGNの書き方で、IBMやMFの書き方が使えるようになる。
6 filename-mapping yes, no yes ファイル名を環境変数から取得することができる。
7 pretty-display yes, no yes USAGE BINARYで定義したデータ項目の表示を設定する。
8 auto-initialize yes, no yes WORKING-STORAGE SECTIONVALUEを使って初期化していなくても自動で初期値を付与する。
9 complex-odo yes, no no yesの場合は、集団項目の中(先頭や末尾ではなく)にOCCURS ~ DEPENDING ONがあってもコンパイルが通る。
10 indirect-redefines yes, no no REDEFINESを多段階で定義できるようにする。
11 binary-size 2-4-8, 1-2-4-8, 1--8 1-2-4-8 PIC 9(n) BINARYの変数が確保するバイト数を設定する。
12 binary-truncate yes, no yes オーバーフロー時の切り捨てが発生した場合に例外を発生させる。
13 binary-byteorder native, big-endian big-endian バイトの並びを設定する。
14 abort-on-io-exception any, fatal, never any ファイル操作のエラーハンドリングのレベルを設定する。
15 larger-redefines-ok yes, no no REDEFINESで定義した集団項目のサイズが元の集団項目のサイズを上回っている場合でもコンパイルできるようにする。
16 relaxed-syntax-check yes, no no 以下のMFの書き方を許容できるようにする。
INPUT-OUTPUT SECTIONという記述がなくてもよい。
FILE SECTIONという記述がなくてもよい。
REDEFINESを書くときに、PIC X(n) REDEFINESのような書き方を許容する。
17 perform-osvs yes, no no IBM OS/VS COBOLの方言を使えるようにする(PERFORMの扱い方が異なる)。
18 sticky-linkage yes, no no LINKAGE SECTIONにあるデータがCALLの呼び出しごとに初期化されずに保持されるようになる。
19 assign_external yes, no no 対象のCOBOLプログラムのSELECT文のすべてのASSIGN句にEXTERNALが指定されているものとして扱うことができる。
20 relax-level-hierarchy yes, no no データ項目の階層の数字の大小が逆になっていてもコンパイルが通るようにする。
21 author-paragraph ok, archaic, obsolete, skip, ignore, unconformable, error obsolete AUTHORパラグラフを有効にするか決める。
22 memory-size-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete OBJECT-COMPUTER節のMEMORY SIZE指定を有効にするか決める。
23 multiple-file-tape-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete I-O CONTROLMULTIPLE FILE TAPE指定を有効にするか決める。
24 label-records-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete FILE CONTROLFD句でLABEL RECORDSの指定を有効にするか決める。
25 value-of-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete FILE CONTROLFD句でVALUE OF {WORD}を有効にするか決める。
26 data-records-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete FILE CONTROLFD句でDATA RECORDを有効にするか決める。
27 top-level-occurs-clause ok, archaic, obsolete, skip, ignore, unconformable, error skip 01および77のデータ項目にOCCURSを使えるか決める。
28 synchronized-clause ok, archaic, obsolete, skip, ignore, unconformable, error ok データ定義においてSYNCHRONIZEDを有効にするか決める。
29 goto-statement-without-name ok, archaic, obsolete, skip, ignore, unconformable, error obsolete GO TOのあとに何も指定しない書き方を有効にするか決める。
30 stop-literal-statement ok, archaic, obsolete, skip, ignore, unconformable, error obsolete STOP LITERALを有効にするかを設定する。
31 debugging-line ok, archaic, obsolete, skip, ignore, unconformable, error obsolete CONFIGURATION SECTIONSOURCE-COMPUTERの指定で、WITH DEBUGGING MODEの記述を有効にするか決める。
32 padding-character-clause ok, archaic, obsolete, skip, ignore, unconformable, error obsolete SELECT文でPADDING CHARACTERの記述を有効にするか決める。
33 next-sentence-phrase ok, archaic, obsolete, skip, ignore, unconformable, error archaic NEXT SENTENCEを使えるかを決める。
34 eject-statement ok, archaic, obsolete, skip, ignore, unconformable, error skip EJECTを使えるか決める。
35 entry-statement ok, archaic, obsolete, skip, ignore, unconformable, error obsolete ENTRYを使えるか決める。
36 move-noninteger-to-alphanumeric 同上 error 小数などの非整数を文字列型にMOVEできるようにする。
37 odo-without-to ok, archaic, obsolete, skip, ignore, unconformable, error ok OCCURS ~ DEPENDING ONTOを使って配列のサイズの最大値を定義していないときにエラーを出すようにする。
38 default-currency-symbol 任意の1文字 $ デフォルトの通貨記号($\など)を設定できる。
39 max-alpha-character-data-size 整数 2147483647 PIC Xの最大サイズを設定する。
40 max-sjis-character-data-size 整数 1073741823 PIC Nの最大サイズを設定する。
41 max-utf8-character-data-size 整数 715827882 PIC Nの最大サイズを設定する。
42 c89-identifier-length-check yes, no no PROGRAM-IDが31文字より多い場合に警告を出す。
43 allow-end-program-with-wrong-name yes, no no PROGRAM-IDに書いてある単語とEND PROGRAMに書いてある単語が異なるような記述を許容する。
44 allow-missing-also-clause-in-evaluate yes, no no EVALUATEの条件式でALSOが省略する記述を許容する。
45 allow-empty-imperative-statement yes, no no IFEVALUATEで空の無条件文を許容する。
46 enable-program-status-register yes, no no PROGRAM-STATUSという特殊レジスタを使用できるようにする。
47 enable-sort-status-register yes, no no SORT-STATUSという特殊レジスタを使用できるようにする。
48 enable-special-names-argument-clause yes, no no SPECIAL-NAMESARGUMENT-NUMBERARGUMENT-VALUEを使えるようにする。
49 enable-special-names-environment-clause yes, no no SPECIAL-NAMESENVIRONMENT-NAMEENVIRONMENT-VALUEを使えるようにする。
50 enable-leng-intrinsic-function yes, no no 組み込み関数FUNCTION LENGを使えるようにする。
51 enable-length-an-intrinsic-function yes, no no 組み込み関数FUNCTION LENGTH-ANを使えるようにする。
52 enable-national-intrinsic-function yes, no no 組み込み関数FUNCTION NATIONALを使えるようにする。
53 use-invalidkey-handler-on-status34 yes, no no SAMファイルのREAD/WRITEINVALID KEYの指定を可能にする。
54 cobol68-copy-in-data-description yes, no no DATA DIVISIONにおいて、COBOL68スタイルのCOPYを使えるか決める。
55 switch-no-mnemonic yes, no no SPECIAL-NAMESで設定するスイッチ名を別名がなくても参照可能にする。
56 allow-is-in-sort-key-spec yes, no no SORTKEY指定でKEY ISと書けるようにする。
57 allow-search-key-in-rhs yes, no no SEARCH ALL文の検索条件の右辺にキー項目を記述できるようにする。
58 ignore-invalid-record-contains yes, no no FD句のRECORD CONTAINSによるレコードのバイト数の制限を無視することができる。
59 enable-zero-division-error yes, no no プログラムにゼロ除算があったときにコンパイルの段階でエラーを出す。
60 enable-check-subscript-out-of-bounds yes, no no OCCURS ~ DEPENDING ONで定義した要素数以上の添え字にアクセスするコードがあった場合にコンパイルエラーを出す。
61 enable-expect-numeric-error yes, no no 文字列型から数値型へのMOVEがあった場合、コンパイルエラーを出す。
62 enable-expect-compute-string-error yes, no no 文字列と数値を計算しようとしたときにエラーを出す。
63 not-reserved 任意の文字列 CYCLE, NORMAL 指定した文字列を予約語から一時的に除外する。

ページトップへ