Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
TACPOL (Tactical Procedure Oriented Language) — это блок-структурированный язык программирования, разработанный армией США для приложения тактической системы управления огнем TACFIRE. TACPOL аналогичен языку PL/I.
TACPOL (Tactical Procedure Oriented Language) is a block structured programming language developed by the United States Army for the TACFIRE Tactical Fire Direction command and control application. TACPOL is similar to PL/I.
Запрещенные слова
В отличие от PL/I, ключевые слова TACPOL, называемые частицами, являются зарезервированными словами и не могут использоваться как идентификаторы. Зарезервированных слов примерно 100.
Unlike PL/I, TACPOL keywords—called particles—are reserved words and cannot be used as identifiers. There are roughly 100 reserved words.
Идентификаторы
Идентификаторы TACPOL могут быть любой длины, но если они превышают восемь символов, фактически использовались только первые пять символов, объединенные с последними тремя.
TACPOL identifiers can be any length, but if longer than eight characters only the first five concatenated with the last three characters were actually used.
Типы данных
TACPOL поддерживает двоичные числовые данные с фиксированной точкой, строковые данные фиксированной длины до 512 байт и битовые строки фиксированной длины до 32 бит. Числа с плавающей точкой и указатели не поддерживаются. Массивы могут иметь до трех измерений, но динамические размеры не допускаются. Дополнительные типы данных включают записи, называемые группами, с ограничением в один уровень вложенности, таблицы (массивы групп) и объединения, называемые ячейками.
TACPOL supports fixed point binary numeric data, fixed length character strings up to 512 bytes, and fixed length bit strings up to 32 bits. There is no support for floating point numeric data or for pointers. Arrays may have up to three dimensions, but dynamic bounds are not permitted. Additional types are records, called groups, limited to a single level of nesting, tables (arrays of groups), and unions, called cells.
Структуры управления
Структуры управления включают операторы IF THEN ELSE, циклы, WHILE и CASE.
Control structures include IF THEN ELSE, iteration, WHILE and CASE statements.
Процедуры
Процедуры могут иметь параметры по значению, параметры количества – передаваемые по ссылке без проверки типа, процедуры без параметров и параметры-метки.
Procedures may have value parameters, quantity parameters – by reference without type checking, parameterless procedure and label parameters.
Реализация
Компилятор TACPOL работал и генерировал код для AN/GYK 12, милитаризованной версии 32-битного миникомпьютера Litton Industries L 3050.
The TACPOL compiler ran on and generated code for the AN/GYK 12, a militarized version of the Litton Industries L 3050 32 bit minicomputer.
Положительные черты
TACPOL легко освоить.
TACPOL is easy to learn.
Негативные черты
TACPOL обладает большим количеством специальных языковых возможностей, которые были добавлены из соображений эффективности, поскольку необходимость разработки соответствующих, хорошо спроектированных функций общего назначения не была должным образом осознана. Стоимость выполнения одной инструкции в TACPOL выше, чем для языков, используемых в других военных компьютерах.
"TACPOL has a large number of special language features which were included for reasons of efficiency because the inclusion of corresponding cleanly designed general purpose features was not properly understood." "Cost per instruction of TACPOL [is] higher than language used for other military computers."