Введение
После публикации первой версии 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://habr.com/ru/articles/930174/
Добавить комментарий