Jump to content

SabreTalk

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Magic links bot (talk | contribs) at 08:51, 28 June 2017 (Replace magic links with templates per local RfC and MediaWiki RfC). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

SabreTalk is a discontinued dialect of PL/I for the S/360 IBM mainframes running the TPF platform. SabreTalk was developed jointly by American Airlines, Eastern Air Lines and IBM. SabreTalk is known as PL/TPF (Programming Language for TPF).[1]

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 remained in Sabretalk until recently in the 2010s.

Because of the translator[2] 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.                        */

References

  1. ^ S. J. Hobson, "ALCS -- A High-Performance High-Availability DB/DC Monitor", p. 136 (footnote 2) in High Performance Transaction Systems, 2nd International Workshop, Asilomar Conference Center, Pacific Grove, California, USA, September 28-30, 1987, Proceedings. Lecture Notes in Computer Science 359, Springer 1989, ISBN 3-540-51085-0.
  2. ^ S. Dhinakar Jacob, Madhuchhanda Das, "TALK2C: A Tool for Automatic Migration," icpc, pp.288, 11th IEEE International Workshop on Program Comprehension (IWPC'03), 2003