Введение
Продолжая развитие проекта, описанного в предыдущих статьях, я сосредоточился на кардинальном улучшении пользовательского опыта и точности инструментов внутри IDE. Основной акцент сделан на редакторе кода и системе подсветки синтаксиса . Теперь IDE представляет собой полноценную оболочку поверх GnuCOBOL , созданную специально для обучения и экспериментов с языком COBOL под Windows как для новичков, так и для энтузиастов.
Что нового
🔹 Полностью переработанный редактор кода
-
Отслеживание изменений: Редактор теперь отслеживает, был ли файл изменен (
[Modified]в заголовке), и запрашивает подтверждение при закрытии или открытии нового файла без сохранения. -
Панель инструментов: Добавлена
TToolBarс кнопками для быстрого доступа к основным функциям: Новый, Открыть, Сохранить, Компиляция, Запуск, Отладка, Поиск. -
Контекстное меню: Для редактора добавлено контекстное меню с опциями Вырезать, Копировать, Вставить, Выделить всё, а также быстрый доступ к компиляции и запуску.
-
Улучшенное автодополнение:
-
Словарь автодополнения значительно расширен, включая почти все ключевые слова, уровни, контекстные слова и препроцессорные директивы из
TCobolHighlighter. -
Логика срабатывания улучшена: подсказки появляются при вводе букв, цифр и даже после удаления символов.
-
Исправлены ошибки в определении границ текущего вводимого слова.
-
-
Поддержка «Последних файлов»: Меню «Файл» теперь содержит подменю с недавно открытыми документами для быстрого доступа.
-
Функция «Сохранить как…» : Реализована возможность сохранения файла под новым именем.
-
Печать: Добавлена базовая поддержка печати содержимого редактора.
-
Горячие клавиши: Назначены стандартные горячие клавиши для всех основных действий (например,
Ctrl+N,Ctrl+O,Ctrl+S,F7,F5,F9,Ctrl+F). -
Улучшенная вставка из буфера: Обработка
Ctrl+Vпереписана для корректной работы с большими объемами текста и переподсветки всего содержимого.
🔹 Полная и точная подсветка синтаксиса TCobolHighlighter
Система подсветки претерпела масштабные изменения, став одной из самых точных для COBOL в доступных средах разработки под Windows:
-
Позиционная чувствительность COBOL:
-
Реализована логика определения столбцовой позиции символов (учитывая табуляцию).
-
Добавлена проверка размещения ключевых элементов в зонах A (1-7) и B (8-72).
-
Уровни
01и77теперь подсвечиваются только при правильном размещении в зоне A.
-
-
Расширенная подсветка уровней переменных:
-
Поддержка всех уровней от
01до49, а также специальных66,77,88. -
Отдельная цветовая схема для уровня
88(условные имена) иFILLER.
-
-
Подсветка форматов
PIC:-
Корректное распознавание
PICиPICTURE. -
Поддержка сложных форматов (
9(n),X(n),S9(n)V99,COMP-1и т.д.). -
Выделение самого формата отдельным цветом.
-
-
Специальные секции и контекстные ключевые слова:
-
LINKAGE SECTION,SPECIAL-NAMES,LOCAL-STORAGE SECTIONподсвечиваются отдельно и проверяются на размещение в зоне B. -
Широкий спектр контекстных слов (
USAGE,COMP-x,OCCURS,VALUE,RENAMESи др.) получил собственную подсветку.
-
-
Расширенный словарь и стили:
-
Добавлены десятки новых ключевых слов и инструкций (
EVALUATE,STRING,INSPECT,SETи т.д.). -
Для каждого типа элементов синтаксиса определены уникальные цвета (оранжевый для уровней, магента для 88-уровней, фиолетовый для специальных секций и т.д.).
-
-
Улучшенная обработка строк и препроцессора:
-
Поддержка строк в одинарных и двойных кавычках.
-
Расширена поддержка препроцессорных директив (
EXEC SQL,COPYи др.).
-
-
Производительность и структура:
-
Оптимизированы алгоритмы обработки строк.
-
Код модуля подсветки стал более модульным и читаемым.
-
Добавлены проверки для повышения стабильности.
-
Улучшенная компиляция и запуск
-
Настройка путей: Пути к
cobc,gdb, а также к каталогамincludeиlib(например, дляlibgmp) вынесены в конфигурационный файл (INI), что делает IDE более гибкой. -
Обработка ошибок компиляции: Вывод
cobcтеперь перехватывается и анализируется. Сообщения об ошибках и предупреждения отображаются в логе компиляции. -
Кликабельные ошибки: Сообщения об ошибках в логе стали кликабельными – двойной клик по строке вида
[имя_файла:номер_строки] Ошибка: ...перемещает курсор редактора к соответствующей строке. -
Улучшенный запуск: Исполняемый файл теперь запускается в отдельном окне консоли, что улучшает пользовательский опыт.
-
Улучшенная отладка: Команда компиляции для отладки (
-g) и запускgdbв режимеtuiчерезcmd /Kстали более надежными.
Цель проекта
Эта IDE задумана как дружелюбная и функциональная оболочка поверх GnuCOBOL . Она предоставляет начинающим и тем, кто хочет освежить знания COBOL, удобную среду для написания, компиляции, запуска и отладки программ на этом языке программирования под операционной системой Windows. Упор на точную подсветку синтаксиса и стандарт COBOL-85 делает её отличным инструментом для изучения языка.
Итоги
Третья итерация COBOL IDE на Delphi превратила её из простого прототипа в мощный и удобный инструмент:
-
Мощный редактор с современными удобствами.
-
Высокоточная подсветка с учетом всех нюансов синтаксиса и позиционной чувствительности COBOL.
-
Улучшенный процесс разработки с компиляцией, запуском и отладкой.
-
Отличный выбор для изучения COBOL под Windows.
Где скачать
Все исходники и последние обновления доступны на GitHub:
ссылка на оригинал статьи https://habr.com/ru/articles/930544/
Добавить комментарий