TACPOL
   HOME

TheInfoList



OR:

TACPOL (Tactical Procedure Oriented Language) is a block structured
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
developed by the
United States Army The United States Army (USA) is the land service branch of the United States Armed Forces. It is one of the eight U.S. uniformed services, and is designated as the Army of the United States in the U.S. Constitution.Article II, section 2, ...
for the TACFIRE Tactical Fire Direction
command and control Command and control (abbr. C2) is a "set of organizational and technical attributes and processes ... hatemploys human, physical, and information resources to solve problems and accomplish missions" to achieve the goals of an organization or en ...
application. TACPOL is similar to
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
.


Language constructs


Reserved words

Unlike PL/I, TACPOL keywords—called ''particles''—are
reserved word In a computer language, a reserved word (also known as a reserved identifier) is a word that cannot be used as an identifier, such as the name of a variable, function, or label – it is "reserved from use". This is a syntactic definition, and a re ...
s and cannot be used as identifiers. There are roughly 100 reserved words.


Identifiers

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.


Data types

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''.


Control structures

Control structures include IF-THEN-ELSE, iteration, WHILE and CASE statements.


Procedures

Procedures may have value parameters, quantity parameters – by reference without type-checking, parameterless procedure and label parameters.


Implementations

The TACPOL compiler ran on and generated code for the
AN/GYK-12 The AN/GYK-12 is an obsolete 32-bit minicomputer developed by Litton Industries for the United States Army. The AN/GYK-12 is a militarized version of the L-3050 computer ruggedized for use in the TACFIRE tactical fire direction system and in the ...
, a militarized version of the
Litton Industries Litton Industries was a large defense contractor in the United States named after inventor Charles Litton Sr. During the 1960s, the company began acquiring many unrelated firms and became one of the largest conglomerates in the United States. ...
L-3050 32-bit minicomputer.


Criticism and defense


Positive features

* TACPOL is easy to learn.


Negative features

* "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 shigher than language used for other military computers."U.S. GAO. p.17.


Notes


References

*


External links


TACPOL Reference Manual (USACSCS-TF-4-1)

Serafino, et.al. "Report to the High Order Language Working Group" (1977)

United States General Accounting Office. "Tactical Operations System Should Not Continue as Planned" (1979)


See also

*
JOVIAL JOVIAL is a high-level programming language based on ALGOL 58, specialized for developing embedded systems (specialized computer systems designed to perform one or a few dedicated functions, usually embedded as part of a larger, more complete dev ...
*
CMS-2 CMS-2 is an embedded systems programming language used by the United States Navy. It was an early attempt to develop a standardized high-level computer programming language intended to improve code portability and reusability. CMS-2 was developed ...
*
CORAL Corals are marine invertebrates within the class Anthozoa of the phylum Cnidaria. They typically form compact colonies of many identical individual polyps. Coral species include the important reef builders that inhabit tropical oceans and sec ...
*
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, ...
United States Army equipment Domain-specific programming languages {{compu-lang-stub