Введение

TACPOL (Tactical Procedure Oriented Language) — это блок-структурированный язык программирования, разработанный армией США для приложения тактической системы управления огнем TACFIRE. TACPOL аналогичен языку PL/I.

Запрещенные слова

В отличие от PL/I, ключевые слова TACPOL, называемые частицами, являются зарезервированными словами и не могут использоваться как идентификаторы. Зарезервированных слов примерно 100.

Идентификаторы

Идентификаторы TACPOL могут быть любой длины, но если они превышают восемь символов, фактически использовались только первые пять символов, объединенные с последними тремя.

Типы данных

TACPOL поддерживает двоичные числовые данные с фиксированной точкой, строковые данные фиксированной длины до 512 байт и битовые строки фиксированной длины до 32 бит. Числа с плавающей точкой и указатели не поддерживаются. Массивы могут иметь до трех измерений, но динамические размеры не допускаются. Дополнительные типы данных включают записи, называемые группами, с ограничением в один уровень вложенности, таблицы (массивы групп) и объединения, называемые ячейками.

Структуры управления

Структуры управления включают операторы IF THEN ELSE, циклы, WHILE и CASE.

Процедуры

Процедуры могут иметь параметры по значению, параметры количества – передаваемые по ссылке без проверки типа, процедуры без параметров и параметры-метки.

Реализация

Компилятор TACPOL работал и генерировал код для AN/GYK 12, милитаризованной версии 32-битного миникомпьютера Litton Industries L 3050.

Положительные черты

TACPOL легко освоить.

Негативные черты

TACPOL обладает большим количеством специальных языковых возможностей, которые были добавлены из соображений эффективности, поскольку необходимость разработки соответствующих, хорошо спроектированных функций общего назначения не была должным образом осознана. Стоимость выполнения одной инструкции в TACPOL выше, чем для языков, используемых в других военных компьютерах.