MATH-MATIC - MATH-MATIC

MATH-MATIC
Paradigm nödvändigt
Designad av Remington Rand
Uppträdde först 1957 ( 1957 )
Plattform UNIVAC I , UNIVAC II
Påverkad av
FLOW-MATIC
Påverkad
UNICODE (programmeringsspråk)

MATH-MATIC är marknadsföringsnamnet för kompilatorn AT-3 (Algebraic Translator 3) , ett tidigt programmeringsspråk för UNIVAC I och UNIVAC II .

MATH-MATIC skrevs från 1955 av ett team som leds av Charles Katz under ledning av Grace Hopper . En preliminär manual producerades 1957 och en slutlig manual året därpå.

Syntaktiskt liknade MATH-MATIC Univacs samtida affärsinriktade språk, FLOW-MATIC , som skiljer sig åt när det gäller algebraiska uttryck och flytpunktsräkning och matriser snarare än rekordstrukturer.

Anmärkningsvärda funktioner

Uttryck i MATH-MATIC kan innehålla numeriska exponenter, inklusive decimaler och bråk, med hjälp av en anpassad skrivmaskin.

MATH-MATIC-program kan innehålla inbyggda monteringsdelar av ARITH-MATIC- kod och UNIVAC- maskinkod.

Den UNIVAC Jag hade bara 1000 ord minne och efterföljaren UNIVAC II så lite som 2000. MATH-MATIC tillåts för större program, att automatiskt generera kod för att läsa overlay segment från UNISERVO band vid behov. Kompilatorn försökte undvika att dela slingor över segment.

Inflytande

Genom att föreslå samarbetet med ACM som ledde till ALGOL 58 skrev Gesellschaft für Angewandte Mathematik und Mechanik att man ansåg MATH-MATIC vara det språk som ligger närmast sitt eget förslag.

Till skillnad från Backus FORTRAN betonade MATH-MATIC inte exekveringshastigheten för kompilerade program. UNIVAC-maskinerna hade inte flytande hårdvara och MATH-MATIC översattes via A-3 ( ARITH-MATIC ) pseudo-assembler-kod snarare än direkt till UNIVAC-maskinkod, vilket begränsade dess användbarhet.

MATH-MATIC Provprogram

Ett exempel på MATH-MATIC-program:

(2) TYP-IN ALFA. 
(2A) LÄS ABC SERVO 4 FÖRVARING A OM SENTINEL HOPP TILL SINN 8. 
(3) LÄS DF SERVO 5. 
(4) VARIERA Y (0,1) 3 SINN 5 THRU 6. 
(5) X1 = (7 * 10 3 * Y * A * SIN ALFA) 3 / (B POW D + C POW E).
(6) SKRIV OCH REDIGERA AYDE X1 SERVO 6. 
(7) Hoppa till mening 2A. 
(8) STÄNGD INGÅNG OCH ÅTERVINN SIN 3. 
(9) STÄNGD SINN 6. 
(10) LÄS FGHN SERVO 4 FÖRVARING A OM SENTINEL HOPP TILL MÄN 20. 
(11) KÖR SINN 3. 
(12) X2 = (3 ROOT (EG) + LOG (D + N)) / (F 2,6 * EXP H).
(13) SKRIV EDIT FDF X2 SERVO 6. 
(16) HOPP TILL SINN 10. 
(20) STOPP.

Anteckningar

Referenser

  • Ash, R .; Broadwin, E .; Della Valle, V .; Greene, M .; Jenny, A .; Katz, C .; Yu, L. (1957-04-19). Preliminär handbok för MATH-MATIC och ARITH-MATIC-system för algebraisk översättning och kompilering för UNIVAC I och II (PDF) (teknisk rapport). Philadelphia: Remington Rand Univac. Arkiverad från originalet (PDF) den 26 december 2014 . Hämtad 2016-03-19 .