Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

MATH-MATIC

From Wikipedia, the free encyclopedia
Programming language for UNIVAC I and II
MATH-MATIC
Paradigmimperative
Designed byRemington Rand
First appeared1957 (1957)
PlatformUNIVAC I,UNIVAC II
Influenced by
FLOW-MATIC
Influenced
UNICODE (programming language)

MATH-MATIC is the marketing name for theAT-3 (Algebraic Translator 3)compiler, an earlyprogramming language for theUNIVAC I andUNIVAC II.

MATH-MATIC was written beginning around 1955 by a team led byCharles Katz under the direction ofGrace Hopper. A preliminary manual[1] was produced in 1957 and a final manual[2] the following year.

Syntactically, MATH-MATIC was similar to Univac's contemporaneous business-oriented language,FLOW-MATIC, differing in providing algebraic-style expressions and floating-point arithmetic, and arrays rather than record structures.

Notable features

[edit]

Expressions in MATH-MATIC could contain numeric exponents, including decimals and fractions, by way of a custom typewriter.[3]

MATH-MATIC programs could includeinline assembler sections ofARITH-MATIC code andUNIVAC machine code.[4]

TheUNIVAC I had only 1000 words of memory, and the successorUNIVAC II as little as 2000. MATH-MATIC allowed for larger programs, automatically generating code to readoverlay segments fromUNISERVO tape as required. The compiler attempted to avoid splitting loops across segments.[5]

Influence

[edit]

In proposing the collaboration with theACM that led toALGOL 58, theGesellschaft für Angewandte Mathematik und Mechanik wrote that it considered MATH-MATIC the closest available language to its own proposal.[6]

In contrast toBackus'FORTRAN, MATH-MATIC did not emphasise execution speed of compiled programs. The UNIVAC machines did not havefloating-point hardware, and MATH-MATIC was translated via A-3 (ARITH-MATIC) pseudo-assembler code rather than directly to UNIVAC machine code, limiting its usefulness.[7]

Sample program

[edit]

A sample MATH-MATIC program:[8]

(2)  TYPE-IN ALPHA . (2A) READ A B C SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 8 . (3)  READ D F SERVO 5 . (4)  VARY Y 1 (0.1) 3 SENTENCE 5 THRU 6 . (5)  X1 = (7*103*Y*A*SIN ALPHA)3 / (B POW D+C POW E) . (6)  WRITE AND EDIT A Y D E X1 SERVO 6 . (7)  JUMP TO SENTENCE 2A . (8)  CLOSE-INPUT AND REWIND SENTENCE 3 . (9)  CLOSE-OUTPUT SENTENCE 6 . (10) READ F G H N SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 20 . (11) EXECUTE SENTENCE 3 . (12) X2 = (3 ROOT (E-G)+LOG (D+N)) / (F2.6*EXP H) . (13) WRITE EDIT F D F X2 SERVO 6 . (16) JUMP TO SENTENCE 10 . (20) STOP .

Notes

[edit]
  1. ^Ash (1957)
  2. ^Univac (1958)
  3. ^Sammet (1969) p. 135
  4. ^Sammet (1969) p. 137
  5. ^Sammet (1969) p. 137
  6. ^Bemer (1969) p. 161
  7. ^Knuth (1976) p. 90
  8. ^Univac (1958) p. 8

References

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=MATH-MATIC&oldid=1303057736"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp