АЛЬТРАН - Википедия - ALTRAN

АЛЬТРАН
РазработаноУ. Стэнли Браун[1]
РазработчикBell Telephone Laboratories
Впервые появился1965
Под влиянием
FORTRAN, PL / I[1]

АЛЬТРАН (Алгебраический транслятор) является язык программирования для формального манипулирования рациональные функции нескольких переменных с целыми коэффициентами. Он был разработан в Bell Labs в 1960-е гг.[1] ALTRAN - это версия FORTRAN АЛПАК пакет рациональной алгебры,[2] и «может рассматриваться как вариант FORTRAN с добавлением дополнительного объявления, объявления« алгебраического »типа».[3]

Хотя ALTRAN написан на ANSI FORTRAN, тем не менее существуют различия в реализациях FORTRAN. ALTRAN обрабатывает зависимости машины с помощью макропроцессор называется M6.[1][4]

ALTRAN не следует путать с транслятором ALGOL to FORTRAN, называемым Altran, который «преобразует программы Extended Algol в Fortran IV».[5]

История

АЛЬПАК, написанный в 1964 году, первоначально состоял из набора подпрограммы для FORTRAN написано на язык ассемблера. Эти подпрограммы сами были переписаны на FORTRAN для ALTRAN.[6]

Ранняя версия ALTRAN была разработана М. Дуглас Макилрой и У. Стэнли Браун в середине 1960-х гг.[1] Однако вскоре после завершения работы над переводчиком ALTRAN IBM 7094 компьютеры, от которых зависели ALPAK и ALTRAN, начали постепенно заменяться более новыми машинами. Это привело к разработке более продвинутого языка ALTRAN и его реализации, разработанной Брауном, Эндрю Д. Холлом, Стивен С. Джонсон, Деннис М. Ричи, и Стюарт И. Фельдман, который был очень портативным.[7][8] Переводчик был реализован Ричи, переводчик Холлом, рациональная функция времени выполнения и многочлен процедуры Фельдмана, Холла и Джонсона, а процедуры ввода-вывода - Джонсона.[1]

Позже Фельдман и Джулия Хо добавили пакет оценки рациональных выражений, который генерировал точные и эффективные подпрограммы FORTRAN для числовой оценки символьных выражений, созданных ALTRAN.[7]

В 1979 году ALTRAN был перенесен на Control Data Corporation. 6600 и Cyber ​​176 компьютеры в Лаборатория вооружения ВВС. Они обнаружили, что «ALTRAN примерно в 15 раз быстрее, чем FORMAC в PL / I среды, и это как минимум в 12 раз быстрее, чем УМЕНЬШИТЬ «Также было замечено, что ALTRAN смог быстро решить проблемы, с которыми ни FORMAC, ни REDUCE не смогли справиться на данном оборудовании или в разумные сроки.[9]

Пример программы

     PROCEDURE MAIN # ПРОСТОЙ ПРИМЕР ИСПОЛЬЗОВАНИЯ FTNOUT LONG ALGEBRAIC (X: 10, Y: 10) F ALTRAN FTNOUT OPTS (201,72) # FTNOUT ТРЕБУЕТСЯ ДЛИНА ЛИНИИ 72 F = EXPAND ((X + 2 * Y + 1000000) ** 3) ЗАПИСАТЬ F # ПЕЧАТЬ F ЗАПИСАТЬ (25) «ФУНКЦИЯ F (X, Y)» «ПРОГРАММА C НАПИСАНА С FTNOUT». , F, "RETURN" ™, "END" # МЫ НАПИСАЛИ ПРОСТУЮ ПРОГРАММУ НА БЛОКЕ 25, ТЕПЕРЬ ВЫЗЫВАЕМ FTNOUT НА # ЭТОТ АЛЬТРАНСКИЙ ВЫХОД НА ЮРИДИЧЕСКИЙ ФОРТРАН. FTNOUT END

Операции

Элементарные операции в ALTRAN[2]
ОперацияALTRAN синтаксисПример полиномов
ДополнениеС = А + В
ВычитаниеC = A-B
УмножениеС = А * В
ДелениеD = A / B
Интегральное возведение в степеньD = A ** K
ЗаменаG = F (X = P, Y = Q)
ДифференциацияG = DIFF (F; Y)
Наибольший общий делительD = НОД (A, B)

использованная литература

  1. ^ а б c d е ж Холл, А.Д., "Система ALTRAN для рационального управления функциями - обзор". Коммуникации ACM, 14 (8): 517–521 (август 1971).
  2. ^ а б Tapley, B.D .; Себехей, В. (2012). Последние достижения в динамической астрономии. Springer Science & Business Media. п. 364. ISBN  978-94-010-2611-6. Получено 3 сен, 2019.
  3. ^ Geddes, Keith O .; Czapor, Stephen R .; Лабан, Джордж (2007). Алгоритмы компьютерной алгебры. Springer Science & Business Media. п. 4. ISBN  0-7923-9259-0. Получено 3 сен, 2019.
  4. ^ Браун, П.Дж. (редактор) (1977). Переносимость программного обеспечения. Издательство Кембриджского университета. п. 21. ISBN  0-521-29725-7. Получено 3 сен, 2019.CS1 maint: дополнительный текст: список авторов (ссылка на сайт)
  5. ^ Уилнер, Уэйн Т. "АЛГОЛ ДЛЯ ПЕРЕВОДЧИКА ФОРТРАНА" (PDF). slac.stanford.edu. Получено 3 сен, 2019.
  6. ^ Ламанья, Эдмунд А. (2019). Компьютерная алгебра: концепции и методы. CRC Press. п. 12. ISBN  9781138093140. Получено 3 сен, 2019.
  7. ^ а б Холбрук, Бернард Д.; Браун, У. Стэнли. "Технический отчет по компьютерным наукам № 99 - История компьютерных исследований в Bell Laboratories (1937–1975)". Bell Labs. Архивировано из оригинал 2 сентября 2014 г.. Получено 2 февраля, 2020.
  8. ^ Johnson, S.C .; Ричи, Д. М. (1976). «Переносимость Unix». Ясно, что обещанная [Unix в C] степень переносимости не может приблизиться к уровню, например, ALTRAN, который может быть достигнут за две недели усилий кем-то, кто хорошо разбирается в местных условиях, но не знает самого ALTRAN.
  9. ^ Роудс-младший, Сесил Э. «Реализация AFWL ALTRAN» (PDF). dtic.mil. Получено 3 сен, 2019.
  • W.S. Браун, "Язык и система для символьной алгебры на цифровом компьютере", SYMSAC '66 Труды первого симпозиума ACM по символическим и алгебраическим манипуляциям, с. 501-540, январь 1966 г.
  • W.S. Браун, Руководство пользователя ALTRAN (2-е изд.), Bell Laboratories, Мюррей Хилл, Нью-Джерси, 1972.
  • W.S. Браун, Руководство пользователя ALTRAN (3-е изд.), Bell Laboratories, Мюррей Хилл, Нью-Джерси, 1973.
  • Стюарт И. Фельдман, "Краткое описание Альтрана", Бюллетень ACM SIGSAM, Том 9, выпуск 4, ноябрь 1975 г., стр. 12-20.
  • А.Д. Холл и С.С.Джонсон, "Программы ALTRAN для проблемы SIGSAM # 6", Бюллетень ACM SIGSAM, том 8, выпуск 2, май 1974 г., стр. 12 - 36.
  • Мансур Фарах, «ФОРМАЛЬНОЕ ОПИСАНИЕ АЛЬТРАНА, ИСПОЛЬЗУЮЩЕГО СВЯЗАННЫЕ СИСТЕМЫ МАНИПУЛЯЦИИ ЛЕСА», Технический отчет CS-73-08, Университет Ватерлоо, апрель 1973 г.