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

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

Время на прочтение2 мин
Количество просмотров971

Введение

После публикации первой версии 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

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

Публикации

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