首页 > 解决方案 > COBOL ERASE 语句

问题描述

我正在看 COBOL 教程,他们使用“擦除”语句来清洁屏幕,但它对我不起作用。编译器指示“语法错误,意外 ERASE”

代码是:

DISPLAY "1.- CALC, 2.- CLOSE" ERASE.

是我的错吗?

我在 ubuntu 上使用 opencobol 对不起,我的英语不是我的母语

标签: cobolgnucobol

解决方案


正如@user207421 所指出的ERASE,它不是一个语句,它是语句的一个子句DISPLAY,它甚至是标准化的——但是(标准方面)它需要一个你想要删除的规范:

ERASE [END] [OF] LINE
      [END] [OF] SCREEN
      EOL
      EOS

您显示的语法实际上是非常不标准的、过时的 Microsoft-COBOLDISPLAY语句,带有ERASE phrase.

如果你仍然使用 open-cobol,那么这个包已经过时了,Ubuntu 中应该有一个新的 gnucobol 包可用(否则你可以从源代码构建)。使用 GnuCOBOL 2.2 你会得到一个更好的错误信息:

错误:语法错误,意外.,期待 LINE 或 SCREEN

然后您可以决定是否需要旧的 ms-cobol 变体(在 GnuCOBOL 中受支持,但仅使用 pos 说明符)或标准变体(ERASE EOS将是兼容版本并受许多编译器支持)。


推荐阅读