TACPOL (język programowania)

TACPOL (Tactical Procedure Oriented Language) to język programowania o strukturze blokowej opracowany przez armię Stanów Zjednoczonych dla aplikacji dowodzenia i kierowania ogniem taktycznym TACFIRE . TACPOL jest podobny do PL/I .

Konstrukcje językowe

Zarezerwowane słowa

W przeciwieństwie do PL/I, słowa kluczowe TACPOL — zwane cząsteczkami — są słowami zastrzeżonymi i nie mogą być używane jako identyfikatory. Istnieje około 100 zarezerwowanych słów.

Identyfikatory

Identyfikatory TACPOL mogą mieć dowolną długość, ale jeśli są dłuższe niż osiem znaków, faktycznie użyto tylko pierwszych pięciu połączonych z trzema ostatnimi znakami.

Typy danych

TACPOL obsługuje stałoprzecinkowe binarne dane numeryczne, ciągi znaków o stałej długości do 512 bajtów i ciągi bitów o stałej długości do 32 bitów. Nie ma obsługi danych liczbowych zmiennoprzecinkowych ani wskaźników. Tablice mogą mieć maksymalnie trzy wymiary, ale ograniczenia dynamiczne nie są dozwolone. Dodatkowe typy to rekordy, zwane grupami , ograniczone do jednego poziomu zagnieżdżenia, tabele (tablice grup) oraz związki, zwane komórkami .

Struktury kontrolne

Struktury kontrolne obejmują instrukcje JEŻELI-TO-INNE, iteracje, WHILE i CASE.

Procedury

Procedury mogą mieć parametry wartościowe, parametry ilościowe – przez referencje bez sprawdzania typu, procedury bezparametrowe oraz parametry etykiety.

Implementacje

Kompilator TACPOL działał i generował kod dla AN/GYK-12 , zmilitaryzowanej wersji 32-bitowego minikomputera Litton Industries L-3050.

Krytyka i obrona

Pozytywne cechy

  • TACPOL jest łatwy do nauczenia.

Cechy negatywne

  • „TACPOL ma wiele specjalnych funkcji językowych, które zostały uwzględnione ze względu na wydajność, ponieważ włączenie odpowiednich, czysto zaprojektowanych funkcji ogólnego przeznaczenia nie zostało właściwie zrozumiane”.
  • „Koszt instrukcji TACPOL [jest] wyższy niż język używany w innych komputerach wojskowych”.

Notatki

  • Litton Data Systems, Inc. (1975). TACPOL Reference Manual System wspomagania programowania. Dokument USACSCS-TF-4-1 .

Linki zewnętrzne

Zobacz też