Język aplikacji transakcyjnej

Transaction Application Language lub TAL (pierwotnie „Tandem Application Language”) to język proceduralny o strukturze blokowej, zoptymalizowany do użytku na sprzęcie Tandem . TAL przypomina skrzyżowanie C i Pascala . Był to oryginalny systemowy język programowania dla maszyn Tandem CISC , które nie miały asemblera .

Koncepcja projektowa TAL, ewolucja SPL firmy Hewlett Packard , była ściśle powiązana i zoptymalizowana z mikroprogramowanym zestawem instrukcji CISC. Każdą instrukcję TAL można było łatwo skompilować w sekwencję instrukcji, które manipulowały danymi na przejściowym stosie rejestrów zmiennoprzecinkowych. Sam stos rejestrów unosił się na szczycie alokacji pamięci programu i stosu wywołań .

Sam język ma wygląd ALGOL lub Pascal , z instrukcjami BEGIN i END. Jednak jego semantyka jest znacznie bardziej podobna do C . Nie pozwala na nieokreślone poziomy zagnieżdżania procedur, nie przekazuje złożonych argumentów strukturalnych według wartości i nie ściśle typuje większości odwołań do zmiennych. Techniki programowania są bardzo podobne do C, używając wskaźników do struktur, sporadycznych nakładek, celowej obsługi łańcuchów i rzutowania, gdy jest to właściwe.

Dostępne typy danych obejmują 8-bitowe, 16-bitowe, 32-bitowe i (wprowadzone później) 64-bitowe liczby całkowite. Obsługa poziomu mikrokodu była dostępna dla ciągów znaków zakończonych znakiem NULL. Jednak nie jest to powszechnie stosowane.

system operacyjny Tandem NonStop został napisany w TAL. Ostatnio wiele z nich zostało przepisanych w C, a TAL został wycofany ze względu na nowy program.

Podczas migracji z CISC do RISC TAL został zaktualizowany/zastąpiony przez pTAL - kompilatory umożliwiły przyspieszenie/ponowne skompilowanie TAL do rodzimych aplikacji RISC.

W obecnej migracji z RISC do Intel Itanium 2 TAL i pTAL zostały ponownie zastąpione przez epTAL - kompilatory umożliwiają przyspieszenie/rekompilację kodu TAL i pTAL do natywnych aplikacji Itanium.

Dalsza lektura