カテゴリ: COBOL 更新日: 2025/06/24

COBOLのコンパイルエラーの原因と対処法を完全ガイド!初心者でもわかる基本のキホン

コンパイルエラーの原因と対処法をまとめて紹介
コンパイルエラーの原因と対処法をまとめて紹介

先生と生徒の会話形式で理解しよう

生徒

「COBOLのプログラムを書いたんですが、よく分からないエラーが出て動きません…」

先生

「それはコンパイルエラーが出ている可能性がありますね。エラーの内容を見て、どこに間違いがあるかを確認する必要があります。」

生徒

「コンパイルエラーってなんですか?どうやって直せばいいんでしょうか?」

先生

「それではCOBOLのコンパイルエラーの意味や原因、よくある例とその直し方について詳しく見ていきましょう!」

1. コンパイルエラーとは?

1. コンパイルエラーとは?
1. コンパイルエラーとは?

COBOLのプログラムを書くときに、文法のミスや書き方のルールに反していると、コンパイル(プログラムを実行可能な形に変換する処理)の段階でエラー(間違い)が発生します。

このとき、プログラムは実行されず、まずは間違いを直さないと先に進めません。このようなエラーをコンパイルエラーと呼びます。

たとえば、人間でいうと、文法が崩れていて「ワタシ、行く、あした、お店、たぶん」みたいな文章を書いてしまうと、意味がわかりにくいですよね。コンピュータも同じで、「どこがどうおかしいのか」がわからないと動いてくれません。

2. コンパイルエラーの原因と対処法

2. コンパイルエラーの原因と対処法
2. コンパイルエラーの原因と対処法

COBOLの初心者がよくつまずくコンパイルエラーの原因を例とともに解説します。

2-1. 予約語(キーワード)のスペルミス

COBOLでは、DISPLAYSTOP RUNなど、あらかじめ決められた予約語を正しく使わないとエラーになります。


DISPALY "こんにちは、世界!"
STOP RUN.

上の例では、DISPALYと書いてしまっているため、正しくは以下のように修正します。


DISPLAY "こんにちは、世界!"
STOP RUN.

2-2. セクションや段落の書き忘れ

COBOLのプログラムは、IDENTIFICATION DIVISIONENVIRONMENT DIVISIONDATA DIVISIONPROCEDURE DIVISIONなど、決まった構造で書かないといけません。

たとえばPROCEDURE DIVISIONが抜けていると、次のようなエラーが発生します。


IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
DISPLAY "こんにちは".
STOP RUN.

正しくはこのようにPROCEDURE DIVISION.を必ず書きます。


IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "こんにちは".
STOP RUN.

2-3. ピリオド(.)の付け忘れ

COBOLでは文の終わりに.(ピリオド)をつける決まりがあります。忘れると文が終わらないと判断され、次の行も1つの文として見なされてしまいます。

次の例では、ピリオドがないためにエラーになります。


DISPLAY "おはよう"
STOP RUN.

正しい形はこちらです。


DISPLAY "おはよう".
STOP RUN.

2-4. 変数の定義ミスや未定義の使用

COBOLではDATA DIVISIONで変数(データ)を定義してから使う必要があります。定義していない変数を使うとエラーになります。

以下は、変数NAMEを使っているのに定義されていない例です。


PROCEDURE DIVISION.
DISPLAY NAME.
STOP RUN.

正しくは、WORKING-STORAGE SECTIONで変数NAMEを定義しておく必要があります。


DATA DIVISION.
WORKING-STORAGE SECTION.
01 NAME PIC X(10) VALUE "結衣".
PROCEDURE DIVISION.
DISPLAY NAME.
STOP RUN.

2-5. 行頭の桁(カラム位置)のミス

COBOLは、古い言語のため桁位置(カラム)が決められています。たとえば、AB列は注釈、811列から文を書くなどのルールがあり、それを守らないとエラーになります。

最近ではフリー・フォーマットが使える環境もありますが、昔ながらのルールを守る必要がある場合は特に注意が必要です。

3. エラーの読み方とヒントの探し方

3. エラーの読み方とヒントの探し方
3. エラーの読み方とヒントの探し方

コンパイル時には、エラーメッセージが表示されます。たとえば次のような出力になります。


    IGYPS2121-S "DISPLAY" 文が不完全です。ピリオドが必要です。

このような場合は、メッセージの中に書かれている単語(例:「ピリオド」)に注目して、何を直せばいいかを考えるのがポイントです。

また、エラーの行番号も表示されることが多いので、その行を中心に見直しましょう。

4. コンパイルエラーを防ぐための習慣

4. コンパイルエラーを防ぐための習慣
4. コンパイルエラーを防ぐための習慣
  • コードを一行書くごとに確認する
  • 文の終わりにピリオドを忘れない
  • 構造(DIVISIONの順序)を守る
  • 変数は使う前に必ず定義する
  • スペルミスをしないようにゆっくり入力する

初心者のうちは、少しずつ丁寧に書いていくことでエラーを減らすことができます。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
C#のfor文の基本!繰り返し処理をわかりやすく解説