АЛЬТРАН - 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 синтаксис | Пример полиномов |
---|---|---|
Дополнение | С = А + В | |
Вычитание | C = A-B | |
Умножение | С = А * В | |
Деление | D = A / B | |
Интегральное возведение в степень | D = A ** K | |
Замена | G = F (X = P, Y = Q) | |
Дифференциация | G = DIFF (F; Y) | |
Наибольший общий делитель | D = НОД (A, B) |
использованная литература
- ^ а б c d е ж Холл, А.Д., "Система ALTRAN для рационального управления функциями - обзор". Коммуникации ACM, 14 (8): 517–521 (август 1971).
- ^ а б Tapley, B.D .; Себехей, В. (2012). Последние достижения в динамической астрономии. Springer Science & Business Media. п. 364. ISBN 978-94-010-2611-6. Получено 3 сен, 2019.
- ^ Geddes, Keith O .; Czapor, Stephen R .; Лабан, Джордж (2007). Алгоритмы компьютерной алгебры. Springer Science & Business Media. п. 4. ISBN 0-7923-9259-0. Получено 3 сен, 2019.
- ^ Браун, П.Дж. (редактор) (1977). Переносимость программного обеспечения. Издательство Кембриджского университета. п. 21. ISBN 0-521-29725-7. Получено 3 сен, 2019.CS1 maint: дополнительный текст: список авторов (ссылка на сайт)
- ^ Уилнер, Уэйн Т. "АЛГОЛ ДЛЯ ПЕРЕВОДЧИКА ФОРТРАНА" (PDF). slac.stanford.edu. Получено 3 сен, 2019.
- ^ Ламанья, Эдмунд А. (2019). Компьютерная алгебра: концепции и методы. CRC Press. п. 12. ISBN 9781138093140. Получено 3 сен, 2019.
- ^ а б Холбрук, Бернард Д.; Браун, У. Стэнли. "Технический отчет по компьютерным наукам № 99 - История компьютерных исследований в Bell Laboratories (1937–1975)". Bell Labs. Архивировано из оригинал 2 сентября 2014 г.. Получено 2 февраля, 2020.
- ^ Johnson, S.C .; Ричи, Д. М. (1976). «Переносимость Unix».
Ясно, что обещанная [Unix в C] степень переносимости не может приблизиться к уровню, например, ALTRAN, который может быть достигнут за две недели усилий кем-то, кто хорошо разбирается в местных условиях, но не знает самого ALTRAN.
- ^ Роудс-младший, Сесил Э. «Реализация 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 г.