Подтвердить что ты не робот

Почему COBOL должен быть отступом?

Почему COBOL должен быть отступом, например, иметь дополнительный интервал в каждом исходном файле?

Рассмотрим этот код (обратите внимание на дополнительные пробелы):

  IDENTIFICATION DIVISION.
  PROGRAM-ID. HELLO-WORLD.
  PROCEDURE DIVISION.
      DISPLAY 'Hello, world'.
      STOP RUN.

Аналогичное форматирование можно увидеть в коде Fortran:

   program hello
      print *, "Hello World!"
   end program hello

Но зачем COBOL и Fortran нужны эти пробелы? Какая причина?

4b9b3361

Ответ 1

Cobol больше не нужно отступать. AFAIK, all большинство современных компиляторов поддерживают формат свободного источника Cobol.

Первоначальная причина имела дело с перфокартами. Cobol сохранил первые 6 позиций для номера строки. Колонка 7 была продолжением/комментария/отладки/формы-фида. В области "A" или в столбцах 8-11 указаны некоторые специальные языковые артефакты, такие как уровни 01, названия разделов или абзацев и т.д. Площадь "B" или столбцы 12 - 72 были для открытого кода. Столбцы 73 - 80 были для порядковых номеров ОС.

Два упомянутых вами языка, Cobol и Fortran, были написаны до того, как существовало автоматическое создание парсера. И у них не было реального уровня техники, чтобы опираться на хорошие и плохие идеи о том, как создать синтаксический исходный текст. Таким образом, некоторые вещи, такие как Area "A" для специальных заголовков разделов, упростили задачу ручного анализа парсеров. Современные языки, как правило, используют контекстные свободные грамматики для простого генерации парсера. Но это сообщение Cobol.