Мэри (язык программирования) - Mary (programming language)
Эта статья не цитировать любой источники.Июнь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Парадигма | императив |
---|---|
Семья | АЛГОЛ |
Разработчик | ЗАПУСТИТЬ ЕГО |
Впервые появился | 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; КОНЕЦ