Выпуск компилятора GnuCOBOL 3.2

Опубликован релиз компилятора GnuCOBOL 3.2, позволяющего транслировать программы на языке COBOL в представление на языке Си для последующей компиляции при помощи GCC или других Си-компиляторов. Компилятор поддерживается 19 диалектов языка COBOL, частично поддерживает спецификацию COBOL 2014 и проходит 9740 тестов из набора для проверки совместимости с COBOL 85. Для отладки программ предлагается интегрированный отладчик.

В этом году языку COBOL исполнилось 64 года, и он остаётся одним из старейших из активно применяемых языков программирования, а также одним из лидеров по объёму написанного кода. Язык продолжает развиваться, например, в стандарте COBOL-2002 были добавлены возможности для объектно-ориентированного программирования, а в стандарте COBOL 2014 появилась поддержка спецификации вычислений с плавающей запятой IEEE-754, перегрузки методов и динамически расширяемых таблиц. Общий объём написанного на COBOL кода оценивается в 220 млрд строк, из которых 100 миллиардов до сих пор используются, в основном в финансовых учреждениях (по состоянию на 2017 год 43% банковских систем продолжали использовать COBOL, код на COBOL применялся при обработке около 80% персональных финансовых транзакций и в 95% терминалов для приёма платежей по банковским картам).

Среди изменений в новом выпуске:

  • Улучшена работа с диалектами языка COBOL. Настройки адаптированы для более точного соответствия выбранному диалекту. Добавлена поддержка нового диалекта – GCOS. Реализованы выражения, функции и элементы синтаксиса, специфичные для различных старых и новых диалектов языка.
  • Значительно улучшен runtime и снижено потребление памяти, особенно при сборке с включением проверок во время выполнения.
  • В fileio добавлена поддержка типа файлов “LINE SEQUENTIAL”, определённого в спецификации COBOL 2023 и рассчитанного на обработку файлов, в которых данные разделены на строки.
  • Расширены средства для отладки на уровне исходного кода, используя GDB.
  • Улучшена реализация повторяемых сборок.
Release. Ссылка here.