知識マップ: COBOLソースを読む前に知るべき最小知識
記事「COBOLソースを読む前に知るべき最小知識」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
COBOLはPROCEDURE DIVISIONによる処理手順の言語である前に、DATA DIVISIONでレコードの形を定義する言語であり、各データ項目はPICTURE句で形を、USAGE句でCOMP-3のような内部表現を指定します。COMP-3は10進数字を2桁ずつ1バイトに詰めるpacked decimalで、テキストとして開くと意味不明なバイト列に見えます。REDEFINESは同じ領域を別の形で読み替え、OCCURSは配列を、88レベルは直前項目の値に名前を付けた条件を表します。COPY文は外部のcopybookをコンパイル時に取り込むため、開いているソース単体では全体像が見えず、PERFORM文とスコープ終端子で処理の流れを追い、FILE STATUSやEXEC SQL、EXEC CICSで外部境界を押さえる必要があります。
flowchart LR
accTitle: COBOL読解の知識マップ
accDescr: COBOLがDATA DIVISIONとPROCEDURE DIVISIONを柱とし、PICTURE句・USAGE句・COMP-3・REDEFINES・OCCURS・88レベル・COPY文などのデータ定義要素と、PERFORM文やスコープ終端子などの制御要素、EBCDICやFILE STATUS・EXEC SQL・EXEC CICSといった外部境界の要素がどう関係するかを示す図
cobol["COBOL"]
cobol_data_division["DATA DIVISION"]
comp_3["COMP-3(packed decimal)"]
cobol_procedure_division["PROCEDURE DIVISION"]
cobol_picture_clause["PICTURE句(PIC)"]
cobol_usage_clause["USAGE句"]
comp_5["COMP-5"]
cobol_redefines["REDEFINES句"]
cobol_occurs["OCCURS句"]
cobol_occurs_depending_on["OCCURS DEPENDING ON"]
cobol_88_level["88レベル(条件名)"]
cobol_copy["COPY文"]
copybook["copybook"]
cobol_perform["PERFORM文"]
cobol_scope_terminator["スコープ終端子(scope terminator)"]
cobol_move["MOVE文"]
cobol_fixed_format["固定形式(参照形式)"]
ibm_enterprise_cobol["IBM Enterprise COBOL"]
ebcdic["EBCDIC"]
cobol_file_status["FILE STATUS句"]
exec_sql["EXEC SQL"]
exec_cics["EXEC CICS"]
cobol -->|"利用する"| cobol_data_division
cobol -->|"利用する"| cobol_procedure_division
cobol_data_division -->|"利用する"| cobol_picture_clause
cobol_data_division -->|"利用する"| cobol_usage_clause
cobol_usage_clause -->|"利用する"| comp_3
cobol_usage_clause -->|"利用する"| comp_5
cobol_data_division -->|"利用する"| cobol_redefines
cobol_data_division -->|"利用する"| cobol_occurs
cobol_occurs_depending_on -->|"利用する"| cobol_occurs
cobol_data_division -->|"利用する"| cobol_88_level
cobol -.->|"利用する"| cobol_copy
cobol_copy -->|"利用する"| copybook
cobol_procedure_division -->|"利用する"| cobol_perform
cobol_procedure_division -->|"利用する"| cobol_scope_terminator
cobol_procedure_division -->|"利用する"| cobol_move
cobol -.->|"利用する"| cobol_fixed_format
ibm_enterprise_cobol -->|"利用する"| ebcdic
ibm_enterprise_cobol -.->|"利用する"| cobol_fixed_format
cobol -.->|"利用する"| cobol_file_status
cobol -.->|"利用する"| exec_sql
cobol -.->|"利用する"| exec_cics
概念間の関係(全21件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- COBOLはDATA DIVISIONを利用します。
- COBOLはPROCEDURE DIVISIONを利用します。
- DATA DIVISIONはPICTURE句(PIC)を利用します。
- DATA DIVISIONはUSAGE句を利用します。
- USAGE句はCOMP-3(packed decimal)を利用します。
- USAGE句はCOMP-5を利用します。
- DATA DIVISIONはREDEFINES句を利用します。
- DATA DIVISIONはOCCURS句を利用します。
- OCCURS DEPENDING ONはOCCURS句を利用します。
- DATA DIVISIONは88レベル(条件名)を利用します。
- COBOLはCOPY文を利用します。
- COPY文はcopybookを利用します。
- PROCEDURE DIVISIONはPERFORM文を利用します。
- PROCEDURE DIVISIONはスコープ終端子(scope terminator)を利用します。
- PROCEDURE DIVISIONはMOVE文を利用します。
- COBOLは固定形式(参照形式)を利用します。
- IBM Enterprise COBOLはEBCDICを利用します。
- IBM Enterprise COBOLは固定形式(参照形式)を利用します。
- COBOLはFILE STATUS句を利用します。
- COBOLはEXEC SQLを利用します。
- COBOLはEXEC CICSを利用します。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。