ALTRAN

ALTRAN
Designad av W. Stanley Brown
Utvecklare Bell Telephone Laboratories
Dök först upp 1965
Influerad av
FORTRAN , PL/I

ALTRAN (ALgebraic TRANslator) är ett programmeringsspråk för formell manipulering av rationella funktioner för flera variabler med heltalskoefficienter. Det utvecklades på Bell Labs på 1960-talet. ALTRAN är en FORTRAN-version av ALPAK- paketet för rationell algebra, och "kan ses som en variant av FORTRAN med tillägg av en extra deklaration, deklarationen av 'algebraisk' typ."

Även om ALTRAN är skrivet i ANSI FORTRAN, finns det ändå skillnader i FORTRAN-implementeringar. ALTRAN hanterar maskinberoende genom att använda en makroprocessor som kallas M6.

ALTRAN ska inte förväxlas med ALGOL till FORTRAN Translator, kallad Altran, som "konverterar utökade Algol-program till Fortran IV."

Historia

ALPAK, skriven 1964, bestod ursprungligen av en uppsättning subrutiner för FORTRAN skrivna på assemblerspråk . Dessa subrutiner skrevs om i FORTRAN för ALTRAN.

En tidig version av ALTRAN utvecklades av M. Douglas McIlroy och W. Stanley Brown i mitten av 1960-talet. Men strax efter att deras ALTRAN-översättare hade färdigställts IBM 7094- datorerna, som ALPAK och ALTRAN var beroende av, fasas ut till förmån för nyare maskiner. Detta ledde till utvecklingen av ett mer avancerat ALTRAN-språk och implementering utvecklat av Brown, Andrew D. Hall, Stephen C. Johnson , Dennis M. Ritchie och Stuart I. Feldman , vilket var mycket bärbart. Översättaren implementerades av Ritchie, tolken av Hall, run-time rationell funktion och polynomrutiner av Feldman, Hall och Johnson, och I/O-rutinerna av Johnson.

Senare lade Feldman och Julia Ho till ett rationellt uttrycksutvärderingspaket som genererade korrekta och effektiva FORTRAN-subrutiner för numerisk utvärdering av symboliska uttryck producerade av ALTRAN.

1979 portades ALTRAN till Control Data Corporation 6600 och Cyber ​​176 datorer vid Air Force Weapons Laboratory . De fann att "ALTRAN är cirka 15 gånger snabbare än FORMAC i en PL/I -miljö, och det är minst 12 gånger snabbare än REDUCE ." Det observerades också att ALTRAN snabbt kunde lösa problem som varken FORMAC eller REDUCE kunde hantera på den givna hårdvaran eller inom rimlig tid.

Exempel på program

PROCEDUR HUVUD# ENKELT EXEMPEL PÅ ANVÄNDNING AV FTNOUT LONG ALGEBRAIC (X:10,Y:10) F ALTRAN FTNOUT OPTS(201,72) # FTNOUT KRÄVER EN LINJELÄNGD PÅ 72 F = EXPAND( (X+2*Y0+100000) **3 ) SKRIV F # SKRIV UT F SKRIV (25) " FUNKTION F(X,Y)" "C EXEMPEL PROG SKRIVS MED FTNOUT." , F , " RETURN"™, " END" # VI HAR SKRIVT ETT ENKELT PROGRAM PÅ ENHET 25, NU ANVÄNDER VI FTNOUT TILL # DENNA ALTRAN-UTGÅNG TILL LEGAL FORTRAN. FTNOUT SLUT

Operationer

Elementär verksamhet i ALTRAN
Drift ALTRAN syntax Exempel på polynom
Tillägg C = A+B
Subtraktion C = AB
Multiplikation C = A*B
Division D = A/B
Integral exponentiering D = A**K
Utbyte G = F(X = P, Y = Q)
Differentiering G = DIFF(F, Y)
Största gemensamma delare D = GCD(A, B)
  • WS Brown, "Ett språk och system för symbolisk algebra på en digital dator", SYMSAC '66 Proceedings of the first ACM-symposium on symbolic and algebraic manipulation, sid. 501-540, januari 1966.
  • WS Brown, ALTRAN User's Manual (2:a upplagan), Bell Laboratories, Murray Hill, NJ, 1972.
  • WS Brown, ALTRAN User's Manual (3:e upplagan), Bell Laboratories, Murray Hill, NJ, 1973.
  • Stuart I. Feldman, "A brief description of Altran", ACM SIGSAM Bulletin, volym 9, nummer 4, november 1975, sid. 12 - 20.
  • AD Hall och SC Johnson, "ALTRAN-program för SIGSAM problem #6", ACM SIGSAM Bulletin, Volym 8, nummer 2, maj 1974, sid. 12 - 36.
  • Mansour Farah, "A FORMAL DESCRIPTION OF ALTRAN USING LINKED FOREST MANIPULATION SYSTEMS", teknisk rapport CS-73-08, University of Waterloo, april, 1973.