MATH-MATIC este numele de marketing pentru compilatorul AT-3 (Algebraic Translator 3), un limbaj de programare timpuriu pentru UNIVAC I și UNIVAC II .
MATH-MATIC a fost creat în jurul anului 1955 de o echipă condusă de Charles Katz sub Grace Hopper . În 1957 a fost întocmit un ghid preliminar [1] , iar în anul următor, unul definitiv [2] .
Sintactic, MATH-MATIC a fost similar cu limbajul orientat comercial FLOW-MATIC care a existat în același timp , care diferă în reprezentarea algebrică a expresiilor, suport pentru numere și tablouri în virgulă mobilă și nu structuri de notație ca în MATH-MATIC.
Cu un dispozitiv special de scriere, expresiile din MATH-MATIC pot conține exponenți numerici, inclusiv numere zecimale și fracții comune . [3]
Programele MATH-MATIC pot include limbajul de asamblare ARITH-MATIC și inserții de cod de mașină UNIVAC . [patru]
Memoria UNIVAC I a stocat 1.000 de cuvinte mașină , la fel ca succesorul său UNIVAC II 2000. Dar MATH-MATIC a permis rularea programelor mai mari prin generarea automată a codului pentru a citi segmentele suprapuse de pe banda UNISERVO , după cum este necesar. Compilatorul a încercat să evite împărțirea buclelor în segmente. [patru]
Anticipând o colaborare cu ACM care ar duce la Algol-58 , Societatea pentru Matematică Aplicată și Mecanică a scris că consideră MATH-MATIC cel mai apropiat și mai accesibil limbaj pentru scopurile lor. [5]
Spre deosebire de Fortran de la Backus , MATH-MATIC nu a accentuat viteza de execuție a programelor compilate. Mașinile UNIVAC nu aveau hardware în virgulă mobilă , așa că MATH-MATIC a fost tradus în cod pseudo-asamblator A-3 ( ARITH-MATIC ) mai degrabă decât direct în codul mașină UNIVAC , ceea ce i-a limitat utilitatea. [6]