Компилятор PL/1-KT

Этот компилятор существенно отличается от остальных, приведенных на сайте. Есть мнение, что реализованное в компиляторе подмножество языка – это уже не PL/1, а другой язык, лишь за структуру которого была взята общая структура PL/1. Отличий и дополнений действительно много. Но все-таки, «дух» и основные методы и приемы при создании программ остаются прежними. И в этом смысле это именно PL/1. При этом есть еще одно существенное  отличие. Этот компилятор можно считать отечественным. И дело не в том, что здесь возможно свободное использование русского языка, а в том, что развитие этого компилятора (исходный вариант разработан в 1982 году в США) много лет идет уже в России, в РКК «Энергия» и не зависит от зарубежных разработчиков. Компилятор активно применялся при разработке ПО, используемого для системы «Энергия-Буран» и орбитального пилотируемого комплекса «Мир», а сейчас используется для различных задач, связанных с Международной космической станцией. Например, для создания программы баллистико-навигационного отображения космонавтам полетной обстановки. Эти программы постоянно работают на Российском сегменте и постоянно совершенствуются.

КРАТКИЕ СВЕДЕНИЯ О РЕАЛИЗАЦИИ КОМПИЛЯТОРА PL/1-KT

  • Система программирования, включающая компилятор, редактор связей, редактор библиотеки, транслятор с ассемблера, встроенный отладчик, системные библиотеки, файлы стандартных описаний, словом, все, кроме редактора исходного текста, находится в единственном файле-контейнере PLINK.EXE (PLINK64.EXE).
  • Какая именно утилита будет запущена, определяется видом командной строки, по умолчанию по имеющемуся расширению имени файла:

<style=”padding-left: 40px;”>.PL1 – исходная программа на языке PL/1

.A86 – исходная программа на ассемблере

.OBJ – объектный модуль, полученный в результате трансляции

.L86 – библиотека объектных модулей

  • Имеется два варианта компиляторов: PLINK.EXE для Win32 и PLINK64.EXE для Win64. Установка компилятора и настройка операционной системы не требуется, хотя и можно режимы компиляции задавать через реестр Windows. Сам компилятор работает как 32-разрядная Windows-программа.
  • Исходный текст программы на PL/1 может быть создан с помощью любого текстового редактора (например, FAR) с длиной строк не более 245 символов в кодировке «кириллица DOS» или «кириллица Windows». Все английские ключевые слова имеют русские эквиваленты. Можно использовать и те и другие, даже в одном тексте. Максимальный размер файла с исходным текстом (без учета вложенности других текстов оператором %INCLUDE) не должен превышать 1 Мбайт.
  • В результате работы компилятор создаст файл с тем же именем, как и у файла с исходным текстом и расширением .OBJ, представляющий собой объектный модуль в формате OMF 8086/8087 INTEL. Файл помещается в текущую папку на диске. После обработки всех файлов типа .OBJ редактором связей, создается файл с расширением .EXE (максимальный размер коды+данные до 16 Мбайт), который и является выполняемой программой в Windows XP/7/8/10.
  • Выполняемая программа не обязательно должна создавать «окна» Windows, использовать механизм «обратных вызовов» или вообще явно обращаться к процедурам Win API. По умолчанию вывод идет в стандартное окно-консоль. Таким образом, пример простейшей программы в виде:

P:PROC MAIN; PUT (‘Hello, world!’); END;

выдаст соответствующий текст на экран.

  • С помощью встроенного редактора библиотеки LIB-KT файлы типа .OBJ могут быть объединены в библиотеки и использоваться при формировании выполняемых файлов. Свои собственные библиотеки можно с помощью оператора %INCLUDE включить в список вызываемых по умолчанию библиотек.
  • При необходимости (например, для использования команд SSE2) отдельные процедуры или даже целый драйвер для Windows можно написать на ассемблере – для этого имеется транслятор с ассемблера RASM-KT.
  • Встроенный в каждый EXE-файл интерактивный отладчик SID-KT позволяет выполнять созданную программу по командам или подпрограммам или по строкам исходного текста, устанавливая контрольные точки и сохраняя при этом связь между именами меток и переменных в программе и их адресами. А с помощью специального режима трансляции можно дополнительно сохранить связь между переменными и их типами в смысле PL/1.
  • Утилита LINT-KT проверяет одинаковость параметров внешних (EXTERNAL) процедур в различных модулях.

В настоящее время компилятор сопровождается и развивается в его 64-разрядной версии.

Авторизация
*
*

1 × 1 =

Регистрация
*
*
*

17 + 3 =

Генерация пароля

девятнадцать − четырнадцать =

Перевести »
Прокрутить вверх
Scroll to Top