IDE для COBOL на Delphi — часть 2: GMP, улучшенная отладка и подсветка

от автора

Введение

После публикации первой версии COBOL IDE на Delphi я получил несколько откликов и продолжил улучшать инструмент. В этой статье расскажу о новых возможностях: подключении внешних библиотек (например, GMP), улучшениях в подсветке синтаксиса и отладке, а также о небольших удобствах, которые появились в редакторе.

Что нового

🔹 Поддержка внешних библиотек (на примере GMP)

Теперь IDE позволяет компилировать программы с подключением дополнительных библиотек. Например, библиотека GMP (GNU Multiple Precision Arithmetic Library) может использоваться для работы с большими числами и точной арифметикой.

Для этого была добавлена поддержка дополнительных ключей компиляции, включая -I, -L и -l, например:

cobc -x temp_compile.cbl -IC:/msys64/mingw64/include -LC:/msys64/mingw64/lib -lgmp

Это открывает путь к использованию математических и системных библиотек прямо из COBOL-кода.

🔹 Улучшенная подсветка синтаксиса

  • Обновлён TCobolHighlighter:

    • Добавлены новые ключевые слова и разделители

    • Улучшена работа с кавычками и строками

    • Исправлена чувствительность к регистру

  • Подсветка стала быстрее и точнее даже на больших файлах

Пример с GMP

IDENTIFICATION DIVISION. PROGRAM-ID. PAYROLL-CALCULATOR.  DATA DIVISION. WORKING-STORAGE SECTION.  01 EMPLOYEE-NAME       PIC A(20). 01 HOURS-WORKED        PIC 999. 01 HOURLY-RATE         PIC 9(3)V99.  01 GROSS-PAY           PIC 9(5)V99. 01 BONUS               PIC 9(5)V99 VALUE 0. 01 TOTAL-BEFORE-TAX    PIC 9(6)V99. 01 TAX-AMOUNT          PIC 9(6)V99. 01 FINAL-PAY           PIC 9(6)V99.  01 F-GROSS             PIC $ZZ,ZZ9.99. 01 F-BONUS             PIC $ZZ,ZZ9.99. 01 F-TOTAL-BEFORE-TAX  PIC $ZZ,ZZ9.99. 01 F-TAX               PIC $ZZ,ZZ9.99. 01 F-FINAL             PIC $ZZ,ZZ9.99.  PROCEDURE DIVISION.     DISPLAY "Enter employee name:".     ACCEPT EMPLOYEE-NAME.      DISPLAY "Enter number of hours worked:".     ACCEPT HOURS-WORKED.      DISPLAY "Enter hourly rate (e.g., 15.75):".     ACCEPT HOURLY-RATE.      COMPUTE GROSS-PAY = HOURS-WORKED * HOURLY-RATE.      IF HOURS-WORKED > 160         COMPUTE BONUS = GROSS-PAY * 0.10     END-IF.      COMPUTE TOTAL-BEFORE-TAX = GROSS-PAY + BONUS.     COMPUTE TAX-AMOUNT = TOTAL-BEFORE-TAX * 0.13.     COMPUTE FINAL-PAY = TOTAL-BEFORE-TAX - TAX-AMOUNT.      MOVE GROSS-PAY          TO F-GROSS.     MOVE BONUS              TO F-BONUS.     MOVE TOTAL-BEFORE-TAX   TO F-TOTAL-BEFORE-TAX.     MOVE TAX-AMOUNT         TO F-TAX.     MOVE FINAL-PAY          TO F-FINAL.      DISPLAY "Employee:          " EMPLOYEE-NAME.     DISPLAY "Gross Pay:         " F-GROSS.     DISPLAY "Bonus (if any):    " F-BONUS.     DISPLAY "Total before tax:  " F-TOTAL-BEFORE-TAX.     DISPLAY "Tax (13%):         " F-TAX.     DISPLAY "Final Pay:         " F-FINAL.      STOP RUN. 

Итоги

С каждым обновлением COBOL IDE становится всё удобнее:

  • Подключение внешних библиотек

  • Более стабильная подсветка и редактор

  • Поддержка современных фич для обучения и прототипирования

Где скачать

Все исходники и последние обновления выложены в GitHub:

🔗 https://github.com/VohminV/COBOL_IDE


ссылка на оригинал статьи https://habr.com/ru/articles/930174/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *