趣味の一環としてcobolのファイル入出力プログラムを勉強しているのですが、
リング構造を利用したコントロールブレイク機能の実装で躓いてしまいました。
知恵をお貸しいただければ幸いです。
ソースコードここから
IDENTIFICATIONDIVISION.
PROGRAM-ID.BREAKDV1.
ENVIRONMENTDIVISION.
INPUT-OUTPUTSECTION.
FILE-CONTROL.
SELECT INF ASSIGN TO "C:\cobol\sample.cbl" STATUS FST.
SELECT OUF ASSIGN TO "C:\cobol\data.txt".
DATADIVISION.
FILESECTION.
FD INF.
01 F1RPIC X(72).
WORKING-STORAGESECTION.
01 INKEYPIC 9(01).
01 SAVKEYPIC 9(01).
01 FSTPIC X(02).
PROCEDUREDIVISION.
ACCEPT INF
OPEN INPUT INF OUTPUT OUF
PERFORM 読込処理 THRU 読込出口
PERFORM UNTIL INKEY = HIGH-VALUE
MOVE SAVKEY TO INKEY
PERFORM UNTIL INKEY NOT = SAVKEY
PERFORM 同一処理 THRU 同一出口
PERFORM 読込処理 THRU 読込出口
END-PERFORM
PERFORM 合計処理 THRU 合計出口
END-PERFORM
PERFORM 総計処理 THRU 総計出口
CLOSE INF OUF
STOP RUN.
同一処理. DISPLAY "SAME"
WRITE F1R
DISPLAY F1R
同一出口. EXIT.
合計処理. DISPLAY "TOTAL"
合計出口. EXIT.
総計処理. DISPLAY "END"
総計出口. EXIT.
読込処理. PERFORM UNTIL FST NOT "00"
READ INF
END
MOVE HIGH-VALUE TO INKEY
NOT END
CONTINUE
END-READ
END-PERFORM
読込出口. EXIT.
ソースコードここまで(処理内容は仮のものです)
参考文献ではこのような組み方でよいはずなのですが、コンパイルした際に
BREAKDV1.cbl:19: Error: syntax error, unexpected "end of file"
とエラーが発生してしまいました。
このエラーを解消する方法をお教え下さい。
開発環境:
Windows7SP1+MinGW32、サクラエディタ
No.1ベストアンサー
- 回答日時:
キーワード "syntax error, unexpected end of file" でGoogle検索すると,上位に次のページがヒットします。
http://ameblo.jp/to-ri-e/entry-10871979829.html
http://detail.chiebukuro.yahoo.co.jp/qa/question …
COBOLコンパイラがUNIX系のプログラムであるならこれが原因かもしれません。
そうでないなら,BREAKDV1.cblの19行目とその前後行をCopy&Pasteで提示していただけば,さらに気づくことがあるかもしれません。
ご回答ありがとうございます。
文字コードをUTF-8、改行コードをLFに直したところ
エラーが解消されました。
エディタのデフォルト設定のままでも他のcobolプログラムはコンパイルを通っていたので
文字コード、改行コードは盲点でした。
これで作業を前進させられます。
ご回答、誠に感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) vbaのループ処理について 6 2022/05/06 15:35
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
シグナル 6(SIGABRT)とは?
-
private subモジュールを他のモ...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
VBAでBook読み込み時の非表示方...
-
vbaのエラー対応(実行時エラー...
-
途中で処理を中断させたい (ア...
-
VB.NET SPRED(チェックボック...
-
VB6にてネットワーク上にある共...
-
UWSCでの例外処理について
-
【C#】Page_Loadさせない方法に...
-
特定のファイルを他のプロセス...
-
Excel VBA セルの名前があるか...
-
ListViewから選択中の文字列を取得
-
LoadPicture のオートメーショ...
-
Word VBA。各マクロの間に待ち...
-
【Vb.net】プリンタジョブの取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
特定の名前のオートシェイプの...
-
vbaのエラー対応(実行時エラー...
-
iPhoneのニューラルエンジンっ...
-
マクロで、次のコードへ行く前...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
Excel VBA セルの名前があるか...
-
Functionで戻り値を複数返す方法
-
特定のファイルを他のプロセス...
-
シグナル 6(SIGABRT)とは?
-
【VBA】エラー処理で別プロシー...
-
エクセル VBAで複数セル選択時...
-
どう増強すべきか
-
Word VBA。各マクロの間に待ち...
-
シェルスクリプトでファイル内...
-
VBA 複数の行を高速で削除する...
-
【Vb.net】プリンタジョブの取得
おすすめ情報