MATH-MATIC

MATH-MATIC  on markkinointinimi AT-3 (Algebraic Translator 3) -kääntäjälle , joka on UNIVAC I :n ja UNIVAC II : n varhainen ohjelmointikieli .

MATH-MATICin loi noin 1955 Charles Katzin johtama tiimi Grace Hopperin johdolla . Vuonna 1957 valmistettiin alustava opas [1] ja seuraavana vuonna lopullinen [2] .

Syntaktisesti MATH-MATIC oli samanlainen kuin samaan aikaan olemassa ollut kaupallinen kieli FLOW-MATIC , joka erosi lausekkeiden algebrallisesta esityksestä, liukulukujen ja -taulukoiden tuesta , ei merkintärakenteista kuten MATH-MATICissa.

Ominaisuudet

Erityisellä kirjoituslaitteella MATH-MATICin lausekkeet voivat sisältää numeerisia eksponentteja, mukaan lukien desimaalilukuja ja yhteisiä murtolukuja . [3]

MATH-MATIC-ohjelmat voivat sisältää ARITH-MATIC- kokoonpanokielen ja UNIVAC - konekoodin lisäosat . [neljä]

UNIVAC I :n muisti tallensi 1 000 konesanaa , vaikka sen seuraaja UNIVAC II 2000. Mutta MATH-MATIC salli suurempien ohjelmien suorittamisen generoimalla automaattisesti koodia peittolohkojen lukemiseksi UNISERVO - nauhalta tarpeen mukaan. Kääntäjä yritti välttää silmukoiden jakamista segmenteiksi. [neljä]

Vaikuttaa

Soveltavan matematiikan ja mekaniikan yhdistys odotti ACM :n kanssa tehtävää yhteistyötä, joka johtaisi Algol-58 :aan, ja kirjoitti, että he pitivät MATH-MATICia lähimpänä ja saavutettavimpana kielenä tarkoituksiinsa. [5]

Toisin kuin Backusin Fortran , MATH-MATIC ei korostanut koottujen ohjelmien suoritusnopeutta. UNIVAC - koneissa ei ollut liukulukulaitteistoa , joten MATH-MATIC käännettiin A-3 pseudoassembler-koodiksi ( ARITH-MATIC ) eikä suoraan UNIVAC -konekoodiksi , mikä rajoitti sen käyttökelpoisuutta. [6]

Ohjelmaesimerkki

(2) TYYPPI ALFA . (2A) LUE ABC SERVO 4 TALLENNUS A JOS VALTIJA HOIP LAUKEEN 8 . (3) LUE DF SERVO 5 . (4) VARY Y 1 (0.1) 3 LAUSE 5 KUIN 6 . (5) X1=(7*10<sup>3</sup>*Y*A*SIN ALPHA)<sup>3</sup> / (B POW D+C POW E) . (6) KIRJOITTAA JA MUOKKAA AYDE X1 SERVO 6 . (7) HYPPY LAUKEEN 2A . (8) SULJE SYÖTTÖ ​​JA KELAAMINEN LAUSE 3 . (9) LOPPULAUSE 6 . (10) LUE FGHN SERVO 4 TALLENNUS A, JOS VARTITISET HYPPY LAUKEESEEN 20 . (11) SUORITA LAUSE 3 . (12) X2 = (3 JUURI (EG)+LOGI (D+N)) / (F<sup>2,6</sup>*EXP H) . (13) KIRJOITTAA MUOKKAA FDF X2 SERVO 6 . (16) HYPPY LAUKEEN 10 . (20) STOP .

Muistiinpanot

  1. Ash (1957)
  2. Univac (1958)
  3. Sammet (1969) s. 135
  4. 1 2 Sammet (1969) s. 137
  5. Bemer (1969) s. 161
  6. Knuth (1976) s. 90

Linkit