You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GnuCOBOL编译报错'unexpected Identifier, expecting DIVISION'求助

COBOL固定格式程序编译错误排查与修正

错误原因分析

从编译错误信息和代码来看,存在以下关键问题:

  1. 拼写错误:第5行的ENVIRONMENT DIVISON拼写错误,正确应为ENVIRONMENT DIVISION(缺少字母I),这直接导致编译器无法识别环境部,抛出syntax error, unexpected Identifier, expecting DIVISION错误。
  2. 语法不完整:
    • 第7行的01 Username PIC X(20)末尾缺少句点,COBOL中每个语句或层定义必须以句点结束。
    • 第8行的01 CharactersCount 10缺少数据类型定义,必须使用PIC子句指定数据格式,比如数字类型用PIC 9(2)(表示两位数字)。
  3. 显示语句格式错误:第15行的DISPLAY语句中,字符串与变量未用逗号分隔,COBOL编译器会将其视为未完成的续行,因此抛出continuation character expected错误。

修正后的完整代码

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. dnd.
000300 AUTHOR. Ishayahu Lastov.
000400 DATE-WRITTEN. 15/05/2023.
000500 ENVIRONMENT DIVISION.
000600 DATA DIVISION.
000700 01 Username PIC X(20).
000800 01 CharactersCount PIC 9(2).
000900 PROCEDURE DIVISION.
001000 DISPLAY "LaSil/IT D&D 5e".
001100 DISPLAY "What is your name?".
001200 ACCEPT Username.
001300 DISPLAY "How many characters are in group?".
001400 ACCEPT CharactersCount.
001500 DISPLAY "Hello " , Username , ". You want " , CharactersCount , " characters...".
001600 STOP RUN.

补充说明

  • 固定格式COBOL的行号占1-6列,第7列是续行符(如需跨多行写语句,在第7列填非空格字符,比如-或*),代码内容从第8列开始,你的行号格式是正确的。
  • 关于自由格式:企业中确实固定格式仍有广泛使用,入门阶段先掌握固定格式有助于理解COBOL的传统语法规范,后续再学习自由格式会更顺畅。

内容的提问来源于stack exchange,提问作者Ishayahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:22:43