АЛЬТРАН
Разработано | В. Стэнли Браун [1] |
---|---|
Разработчик | Телефонные лаборатории Белла |
Впервые появился | 1965 |
Под влиянием | |
ФОРТРАН , ПЛ/И [1] |
ALTRAN (ALgebraic TRANslator) — язык программирования для формального манипулирования рациональными функциями нескольких переменных с целыми коэффициентами. Он был разработан в Bell Labs в 1960-х годах. [1] ALTRAN — это версия ALPAK на языке FORTRAN. пакета рациональной алгебры [2] и «можно рассматривать как вариант FORTRAN с добавлением дополнительного объявления, объявления «алгебраического» типа». [3]
Хотя ALTRAN написан на ANSI FORTRAN, тем не менее, существуют различия в реализациях FORTRAN. ALTRAN обрабатывает машинные зависимости с помощью макропроцессора M6 . [1] [4]
ALTRAN не следует путать с переводчиком ALGOL в FORTRAN, называемым Altran, который «конвертирует расширенные программы Algol в Fortran IV». [5]
История [ править ]
ALPAK, написанный в 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 раз быстрее, чем REDUCE ». Также было отмечено, что ALTRAN способен быстро решать проблемы, которые ни FORMAC, ни REDUCE не могут решить на данном оборудовании или в разумные сроки. [9]
Пример программы [ править ]
ПРОЦЕДУРА ГЛАВНАЯ # ПРОСТОЙ ПРИМЕР ИСПОЛЬЗОВАНИЯ FTNOUT
ДЛИННАЯ АЛГЕБРАИКА (X:10,Y:10) F
АЛЬТРАН ФТНОУТ
OPTS(201,72) # FTNOUT ТРЕБУЕТСЯ ДЛИНА СТРОКИ 72
F = РАСШИРИТЬ( (X+2*Y+1000000)**3 )
НАПИШИТЕ F # НАПЕЧАТАЙТЕ F
НАПИШИТЕ (25) «ФУНКЦИЯ F(X,Y)».
«Пример программы C, написанной с помощью FTNOUT». ,
Ф,
«ВОЗВРАТ»™, «КОНЕЦ»
# МЫ НАПИСАЛИ ПРОСТУЮ ПРОГРАММУ НА UNIT 25, ТЕПЕРЬ ВЫЗЫВАЕМ FTNOUT ДЛЯ
# ЭТОТ ВЫВОД АЛЬТРАНА НА ПРАВОВОЙ ФОРТРАН.
ФТНОУТ
КОНЕЦ
Операции [ править ]
Операция | Синтаксис АЛЬТРАНА | Пример с полиномами |
---|---|---|
Добавление | C = A+B
|
|
Вычитание | C = A-B
|
|
Умножение | C = A*B
|
|
Разделение | D = A/B
|
|
Интегральное возведение в степень | D = A**K
|
|
Замена | G = F(X = P, Y = Q)
|
|
Дифференциация | G = DIFF(F, Y)
|
|
Наибольший общий делитель | D = GCD(A, B)
|
Ссылки [ править ]
- ^ Перейти обратно: а б с д Это ж Холл, А.Д., «Система ALTRAN для рационального манипулирования функциями — обзор». Сообщения ACM , 14 (8): 517–521 (август 1971 г.).
- ^ Перейти обратно: а б Тэпли, Б.Д.; Себехей, В.Г. (2012). Последние достижения динамической астрономии . Springer Science & Business Media. п. 364. ИСБН 978-94-010-2611-6 . Проверено 3 сентября 2019 г.
- ^ Геддес, Кейт О.; Чапор, Стивен Р.; Лабан, Джордж (2007). Алгоритмы компьютерной алгебры . Springer Science & Business Media. п. 4. ISBN 0-7923-9259-0 . Проверено 3 сентября 2019 г.
- ^ Браун, П.Дж., изд. (1977). Портативность программного обеспечения . Издательство Кембриджского университета. п. 21. ISBN 0-521-29725-7 . Проверено 3 сентября 2019 г.
- ^ Вилнер, Уэйн Т. «ПЕРЕВОДЧИК АЛГОЛ-ФОРТРАН» (PDF) . slac.stanford.edu . Проверено 3 сентября 2019 г.
- ^ Ламанья, Эдмунд А. (2019). Компьютерная алгебра: понятия и методы . ЦРК Пресс. п. 12. ISBN 9781138093140 . Проверено 3 сентября 2019 г.
- ^ Перейти обратно: а б Холбрук, Бернард Д.; Браун, В. Стэнли. «Технический отчет по информатике № 99 - История компьютерных исследований в Bell Laboratories (1937–1975)» . Лаборатории Белла . Архивировано из оригинала 2 сентября 2014 года . Проверено 2 февраля 2020 г.
- ^ Джонсон, Южная Каролина; Ричи, DM (1976). «Переносимость Unix» .
Ясно, что обещанная степень переносимости [Unix на C] не может приблизиться к уровню переносимости, например, ALTRAN, который может быть достигнут за две недели усилий кем-то, опытным в местных условиях, но не знающим самого ALTRAN.
- ^ Роудс-младший, Сесил Э. «Реализация ALTRAN в AFWL» (PDF) . dtic.mil . Архивировано (PDF) из оригинала 3 сентября 2019 г. Проверено 3 сентября 2019 г.
- У.С. Браун, «Язык и система символической алгебры на цифровом компьютере», SYMSAC '66, Труды первого симпозиума ACM по символическим и алгебраическим манипуляциям, стр. 501–540, январь 1966 г.
- У.С. Браун, Руководство пользователя ALTRAN (2-е изд.), Bell Laboratories, Мюррей-Хилл, Нью-Джерси, 1972.
- У.С. Браун, Руководство пользователя 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 г.