트랜잭션 응용 프로그램 언어
Transaction Application LanguageTAL(Transaction Application Language)은 Tandem 하드웨어에서 사용하도록 최적화된 블록 구조의 절차 언어입니다.TAL은 C와 Pascal의 교배와 유사합니다.어셈블러가 없는 Tandem CISC 머신의 원래 시스템 프로그래밍 언어입니다.
Hewlett Packard의 SPL을 진화시킨 TAL의 디자인 컨셉은 마이크로프로그래밍된 CISC 명령 세트와 밀접하게 관련지어 최적화되었습니다.각 TAL 문은 임시 부동 레지스터 스택 상의 데이터를 조작하는 일련의 명령으로 쉽게 컴파일할 수 있습니다.레지스터 스택 자체는 프로그램의 메모리 할당 및 콜 스택의 정점에 떠 있었습니다.
언어 자체는 ALGOL 또는 Pascal과 같이 BEGIN 및 END 문을 사용합니다.그러나 그 의미는 C에 훨씬 더 가깝습니다.무한 수준의 프로시저 중첩을 허용하지 않으며 복잡한 구조화된 인수를 값별로 전달하지 않으며 대부분의 변수 참조를 엄밀하게 입력하지도 않습니다.프로그래밍 기술은 구조에 대한 포인터, 가끔 오버레이, 의도적인 문자열 처리 및 적절한 경우 캐스트를 사용하는 C와 매우 유사합니다.
사용 가능한 데이터 유형에는 8비트, 16비트, 32비트 및 64비트 정수가 있습니다.null 종단 문자열에 대해 마이크로코드 수준을 지원할 수 있었습니다.그러나 이것은 일반적으로 사용되지 않습니다.
원래 Tandem NonStop 운영체제는 TAL로 작성되었습니다.최근에는 많은 부분이 C로 다시 쓰여지고 TAL은 새로운 개발에 사용되지 않게 되었습니다.
CISC에서 RISC로의 이행에서는 pTAL로 갱신/치환되어 컴파일러를 통해 TAL을 고속화/재컴파일 할 수 있게 되었습니다.
현재 RISC에서 인텔 Itanium 2 TAL 및 pTAL로의 이행에서는 다시 epTAL로 대체되어 컴파일러를 통해 TAL 및 pTAL 코드를 고속화/재컴파일 할 수 있습니다.