Мэри (язык программирования) - Mary (programming language)

Мэри
Парадигмаимператив
СемьяАЛГОЛ
РазработчикЗАПУСТИТЬ ЕГО
Впервые появился1971; 49 лет назад (1971)
Печатная дисциплинастатический, сильный
Операционные системыКроссплатформенность: Kongsberg Våpenfabrikk СМ-4, Norsk Data Норд-10 / НД-100, Унивак-1100 серии, НД-100 /Синтран -III, i386, SPARC
Под влиянием
АЛГОЛ 68

Мэри это язык программирования разработан и реализован ЗАПУСТИТЬ ЕГО в Тронхейм, Норвегия в 1970-е гг. Многие функции он заимствовал у АЛГОЛ 68 но был разработан для системное программирование (машинно-ориентированное программирование).

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

Похожий на C, похоже, существовало несколько языковых функций, позволяющих создавать достаточно хорошо оптимизированный код, несмотря на довольно примитивный генератор кода в компиляторе. К ним относятся операторы, похожие на += и др. в C и явный регистр декларации за переменные.

Примечательные особенности:

  • Поток данных синтаксис - значения перемещаются слева направо, включая присваивание
  • Большинство конструкций можно использовать в выражениях: блоки, IF, CASE и т. Д.
  • Текстовые рекурсивные макросы
  • Перегруженные пользовательские операторы, не ограниченные предопределенными идентификаторами, как в C ++
  • Автоматическое построение и разыменование указателей из контекста типа
  • Типы скалярных диапазонов
  • Перечисление массивов и наборов в итераторах цикла
  • Дескрипторы динамических массивов (ROW)

В 1974 году была напечатана книга с описанием Марии (четвертое и последнее издание в 1979 году): Мэри Учебник Рейдар Конради и Пер Холагер.

Компиляторы созданы для Kongsberg Våpenfabrikk СМ-4 и Norsk Data Мини-компьютеры Норд-10 / НД-100. Первоначальный компилятор Mary был написан в NU АЛГОЛ, работал на серии Univac-1100 и использовался для начальной загрузки собственного компилятора для НД-100 /Синтран -III. ЗАПУСТИТЬ ЕГО реализовал ХОЛОД компилятор, написанный на Мэри, который работал на ND-100 и имел Intel 8086 и 80286 цели. Когда этот компилятор был перенесен на VAX платформа, реализован общий бэкэнд для Mary и CHILL. Позже бэкенды для i386 и SPARC были доступны. Поскольку компилятор Mary был реализован в Mary, компилятор можно было запустить на всех этих платформах.

Мэри больше не поддерживается.

Пример

НАЧАТЬ INT i: = 10; %% Переменная с начальным значением. REF INT ri: = i; %% Указатель инициализирован, чтобы указывать на i. INT j: = 11; j: - REF INT =: ri; %% Преобразование и присвоение типа %% ri теперь указывает на j. i =: (ri: - VAL REF INT); %% Назначение и преобразование типа %% ri указывает на j, поэтому j изменяется. IF j> 10 %% Условный оператор с результатом THEN %% используется внутри арифметического выражения. 1 Иначе 2 FI + j =: j; КОНЕЦ

Смотрите также