Как стать автором
Поиск
Написать публикацию
Обновить

IDE для COBOL на Delphi: подсветка, компиляция и запуск из редактора

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.3K

Введение

Несмотря на то, что COBOL — язык с историей, он по-прежнему жив и востребован в финансовой и правительственной сферах. Многие до сих пор поддерживают большие кодовые базы и пишут новые программы. Но работать с COBOL хочется удобнее, особенно если хочется простого и понятного инструмента для написания, компиляции и запуска кода.

В этой статье я расскажу о простом IDE для COBOL, который написал на Delphi. Он умеет подсвечивать синтаксис, открывать и сохранять файлы, компилировать через GnuCOBOL, запускать программы с выводом результата и даже отлаживать их с помощью интеграции с GDB.

О проекте

Проект — это простой редактор кода с подсветкой синтаксиса COBOL, поддержкой файлов .cbl и .cob, кнопками открытия, сохранения, компиляции и запуска.

Основные возможности:

  • Подсветка синтаксиса COBOL (собственный хелайтер для TRichEdit)

  • Работа с файлами (открытие, сохранение, plain text)

  • Поиск текста в редакторе с поддержкой Ctrl+F3 и переходом к следующему вхождению по F3

  • Компиляция с помощью GnuCOBOL (cobc) через вызов консоли из приложения

  • Запуск скомпилированного .exe в отдельном консольном окне

  • Отображение лога компиляции в отдельной области редактора

  • Отладка через интеграцию с GDB: запуск программы под управлением отладчика с возможностью ставить точки останова и пошагово выполнять программу

Техническая реализация

Подсветка синтаксиса

Для подсветки используется класс TCobolHighlighter, который анализирует текст и меняет цвет и стиль ключевых слов, разделителей и строк. Используется стандартный компонент TRichEdit с RTF форматом.

Открытие и сохранение файлов

Чтобы избежать проблем с RTF, сохраняется plain text, а открытие происходит с очисткой текущего текста перед загрузкой. Используются стандартные диалоги TOpenDialog и TSaveDialog с фильтрами на COBOL-файлы.

Поиск текста

Реализован простой поиск с возможностью поиска выделенного текста через Ctrl+F и переходом к следующему вхождению по F3. Это позволяет быстро находить нужные места в коде и комфортно работать с большими файлами.

Компиляция и запуск

Компиляция запускается через CreateProcess, вызывая cobc с параметром -x для компиляции и создания исполняемого файла. Временные файлы .cbl и .exe создаются в папке tmp, расположенной рядом с exe IDE.

После успешной компиляции запускается консоль cmd.exe с командой открытия скомпилированного .exe и флагом /K — чтобы окно не закрывалось автоматически и был виден вывод программы.

Отладка с GDB

Чтобы запускать программу под отладчиком, я добавил кнопку «Отладка», которая:

  • Компилирует программу с флагом -g для генерации отладочной информации

  • Запускает GDB в консоли с указанием скомпилированного .exe

В консоли GDB можно ставить точки останова (break), запускать программу (run), пошагово выполнять команды (step, next) и просматривать переменные.

Для запуска GDB в графическом окне из Delphi используется вызов через ShellExecute или CreateProcess, который открывает консольное окно с интерфейсом отладчика.

Пример работы

Пример минимальной COBOL программы:

IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
PROCEDURE DIVISION.
    DISPLAY "Hello, world!".
    STOP RUN.

Этот код можно вставить в редактор, нажать «Скомпилировать» и дождаться запуска программы. В открывшемся консольном окне будет выведена строка "Hello, world!".

Итоги

Получился простой, но вполне рабочий IDE для COBOL с подсветкой, поиском, компиляцией, запуском и базовой отладкой. Это удобный инструмент для изучения языка, быстрого прототипирования и отладки небольших программ.

Где посмотреть и попробовать

Исходники и бинарники проекта доступны на GitHub:
https://github.com/VohminV/COBOL_IDE

Теги:
Хабы:
+4
Комментарии2

Публикации

Ближайшие события