SabreTalk
From Wikipedia, the free encyclopedia
SabreTalk is a dialect of PL/1 for the S/360 IBM mainframes running the TPF platform. SabreTalk was developed jointly by American Airlines, Eastern Airlines and IBM.
SabreTalk programs are still running in the British Airways Flight Operations system (FICO), although a commercially available automatic converter is being used to translate Sabretalk programs to C programs. Both the Reservations and Operations Support System (OSS) of Delta Air Lines were developed using both SabreTalk and IBM 360 Assembler. Although development is currently restricted to C++, the majority of Delta's programming platform remains in SabreTalk.
Because of the translator from SabreTalk to C and because it is no longer supported by the original developers, several companies are beginning the move away from SabreTalk to purely C-based programs.
Code Sample:
SAMPLE: PROCEDURE; DECLARE ARRAY(10) DECIMAL(5) BASED(POINTUR); DECLARE COUNTER BINARY(15) ALIGNED; DECLARE TOTAL BINARY(31) ALIGNED; START(POINTUR=#RG1); /* RECEIVE POINTER TO ARRAY IN REGISTER 1 */ TOTAL = 0; LOOP: DO COUNTER = 0 TO 10 BY 2; TOTAL = TOTAL + ARRAY(COUNTER); /* TALLY EVEN NUMBERED ITEMS */ END LOOP; IF TOTAL = 0 THEN /* VALUE OF TOTAL COMPUTED? */ ENTRC ERRO; /* N=CHECK VALIDITY IN PROG ERRO W/RETURN EXPECTED*/ BACKC(#RAC= TOTAL); /* BACK TO CALLING PROGRAM PASSING VALUE OF */ END SAMPLE; /* TOTAL IN REGISTER RAC. */