TRAC (язык программирования)

редактировать
TRAC
Paradigm универсальный макропроцессор
Разработано Calvin Mooers
Впервые появилось1964
Под влиянием
Macro SAP
Под влиянием
, ML / I

TRAC (для T ext R eckoning A nd C compiling) Language - это язык программирования, разработанный в 1959-1964 годах Calvin Муерс и впервые реализован на PDP-1 в 1964 году Л. Питер Дойч. Это был один из трех «первых языков», рекомендованных Тедом Нельсоном в Computer Lib. TRAC T64 использовался по крайней мере до 1984 года, когда Mooers обновил его до TRAC T84.

Содержание
  • 1 Описание языка
  • 2 Интеллектуальная собственность
  • 3 Влияние и использование
  • 4 Пример программы
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Описание языка

TRAC - это чисто текстовый язык, разновидность макроязыка. В отличие от традиционных специальных макроязыков того времени, таких как используемые в ассемблерах, TRAC хорошо спланирован, согласован и во многих смыслах завершен. Он имеет явные операторы ввода и вывода, в отличие от типичного неявного ввода-вывода на самом внешнем макроуровне, что делает его одновременно более простым и более универсальным, чем старые макроязыки.

Он также отличается от традиционных макроязыков тем, что номера TRAC представляют собой цепочки цифр, причем целочисленная арифметика (без конкретных ограничений на максимальные значения) обеспечивается с помощью встроенных («примитивных») функций. Возможно, одним из аспектов его полноты является то, что концепция ошибки ограничена такими событиями, как нехватка файлового пространства и запрос расширения строки, длина которой превышает размер рабочей памяти интерпретатора; то, что на многих языках может быть описано как незаконные операции, обрабатывается в TRAC путем определения результата (часто нулевой строки) для каждой возможной комбинации строк аргументов функции.

TRAC - это язык обработки текста, также называемый языком обработки строк.

Строки как строки настолько важны, что TRAC предоставляет механизмы для обработки собственных синтаксических символов языка либо в их синтаксические роли или как любой другой символ, и самомодифицирующийся код больше воспринимается как естественное следствие типичных методов программирования TRAC, чем как особая функция.

TRAC, как и APL или LISP, ориентированный на выражения язык (в отличие от более типичного процедурно-ориентированного языков), но в отличие от APL в нем полностью отсутствуют операторы. В большинстве случаев это случай чистого функционального программирования.

TRAC является гомоиконным.

TRAC имеет общий с LISP синтаксис, который обычно предполагает наличие многих уровней вложенных скобок.

Основным источником вдохновения для TRAC послужили три статьи Дугласа Макилроя.

Интеллектуальная собственность

Мурс зарегистрировал торговую марку TRAC, чтобы сохранить контроль над определением языка, необычный и новаторский в то время. В какой-то момент он подал иск о нарушении прав интеллектуальной собственности против DEC, утверждая, что контракт на поставку мини-компьютера с переводчиком TRAC нарушает его права. "Первый выпуск журнала доктора Добба, одной из первых публикаций в области персональных компьютеров, содержит резкую редакционную статью против Муерса и его жадности в попытках взимать плату с людей за его вычисления. язык ". Однако товарный знак (# 72301892 ) истек в 1992 году. С тех пор это имя использовалось несколько раз для несвязанных проектов информационных технологий, включая текущий проект с открытым исходным кодом. система управления под названием Trac.

Влияние и использование

TRAC была позже реализована на PDP-8, PDP-10 и PDP -11.

Были разные языки, вдохновленные TRAC. Чтобы избежать проблем с Муерсом, они переименовали примитивы и / или использовали другие метасимволы. В случае SAM76 примитивы были добавлены, по словам Клода Кагана, «потому что TRAC - это детский лепет». В случае MINT примитивы были добавлены, чтобы предоставить доступ к сложному механизму текстового редактора.

  • одним очевидным недостатком TRAC было отсутствие полной расширяемости: некоторые примитивные функции TRAC чувствительны к различию между нулевым (нулевым символом) аргументом и несуществующим (без разделителей) аргументом, но за пределами его последнего ненулевого аргумента, пользовательская функция не может различить. был языком, подобным TRAC, который устранил это ограничение.
  • Расс Нельсон реализовал emacs язык расширения под названием MINT (M INT Is Not T RAC). Этот язык используется редактором FreeDOS. FreeMACS.

TRAC использовался FTP Software в своем продукте PC / TCP в качестве языка сценариев программы набора номера модема.

TRAC также использовался в качестве интерфейса для рендерера Digital Productions Cray для фильмов, включая The Last Starfighter.

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

сценарий TRAC T84 для вычисления чисел Фибоначчи:

: (s, fibo, (: (ei, <1>, 1, 0, (: (ei, <1>, 2, 1, (: (aa,: (ri, fibo, :( как, <1>, 1)), :( ri, fibo, :( as, <1>, 2))))))))) `: (mw, fibo) '
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-09 06:17:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте