КОБОЛ СТЕРЕТЬ предложение

#cobol #gnucobol

Вопрос:

Я смотрю учебники по COBOL, они используют инструкцию «стереть» для очистки экрана, и это не работает для меня. Компилятор указывает на «синтаксическую ошибку, неожиданное СТИРАНИЕ».

Код таков:

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

Это моя ошибка?

Я использую opencobol на ubuntu Извините за мой английский, это не мой родной язык

Комментарии:

1. Предложение здесь таково DISPLAY . ERASE здесь не предложение, а в лучшем случае предложение, причем нестандартное. Если ваша реализация Cobol не поддерживает ее, это то, что вы получите.

2. Есть ли ответ на ваш вопрос? Если да, пожалуйста, отметьте как ответ, если нет, прокомментируйте.

Ответ №1:

Как отметил @user207421 ERASE , это не утверждение, это предложение для DISPLAY утверждения, и оно даже стандартизировано, но (по стандарту) ему нужна спецификация того, что вы хотите стереть:

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

Синтаксис, который вы показали, на самом деле является очень нестандартным, устаревшим оператором Microsoft-COBOL DISPLAY ERASE phrase .

Если вы все еще используете open-cobol, то пакет сильно устарел, в Ubuntu должен быть доступен новый пакет gnucobol (в противном случае вы могли бы создать его из исходного кода). Используя GnuCOBOL 2.2, вы получаете более приятное сообщение об ошибке:

ошибка: синтаксическая ошибка, неожиданная ., ожидание СТРОКИ или ЭКРАНА

И тогда вы можете решить, хотите ли вы старый вариант ms-cobol (который поддерживается в GnuCOBOL, но только с pos-спецификатором) или стандартный вариант ( ERASE EOS будет совместимой версией и поддерживается многими компиляторами).