Интерактивный АЛГОЛ 68 - Interactive ALGOL 68

В Интерактивный АЛГОЛ 68 компилятор для АЛГОЛ 68 был предоставлен Питер Крейвен из Приложения на Алголе с 1984 г.[1] Затем в 1994 году из OCCL (Oxford and Cambridge Compilers Ltd) по 2004 год.[2]

Платформы

Расширения стандарта ALGOL 68

  1. Возможность включать исходный код и версии исходного кода.
  2. Вложенные комментарии
  3. ДЛЯ ВСЕХ синтаксический элемент для перебора массивов.
  4. ЛЮБОЙ РЕЖИМ объединение всех РЕЖИМОВ, известных компилятору, и, следовательно, динамическая типизация.
  5. Усиленное принуждение (литье), позволяющее стрингер, затем «сильное» принуждение.
  6. Строительство автоматически приводит переменную из тип к структура (тип)
  7. Соответствие приводит UNION (THING, MOODS) к THING, но если это не текущее настроение объединения, то будет сгенерирована ошибка времени выполнения.
  8. Интерфейс библиотеки к собственной операционной системе и другим библиотекам.
  9. Оператор РАЗМЕР
  10. Псевдооператоры ANDTH и OREL, а также ANF и ORF для Оценка короткого замыкания логических выражений.
  11. Массивы могут быть срезами с шагом для выбора подмножества элементов.
  12. MOID трактуется иначе.

Пример кода

МОДУЛЬ vectorsBEGIN INT dim = 3; РЕЖИМ ВЕКТОР = [тусклый] РЕАЛЬНЫЙ; OP + = (VECTOR a, b) VECTOR: (VECTOR out; FOR i FROM LWB a TO UPB a DO out: = a [i] + b [i] OD; out), - = (VECTOR a, b) VECTOR : (VECTOR out; FOR i FROM LWB a TO UPB a DO out: = a [i] -b [i] OD; out), DOT = (VECTOR a, b) REAL: (REAL out: = 0; FOR i ОТ LWB a ДО UPB a DO out +: = a [i] * b [i] OD; out); ENDKEEP VECTOR, +, -, DOT

Ограничения на язык из стандартного АЛГОЛ 68

  1. Переменные, режимы и операторы должны быть объявлены перед использованием.
  2. Анонимная процедура может использовать объявитель строк в качестве параметра.
  3. Никаких временных подименов гибких массивов.
  4. Без форматирования Транспут (или формат-тексты).
  5. Ограниченное использование выпрямления нескольких значений во время Transput.
  6. Ограниченное использование BYTES, BITS и BOOL.
  7. ограниченное использование меток после операторов EXIT.

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

использованная литература

  1. ^ «AB52.3.1: Обзор жизнеспособных реализаций Алгола 68». Архивировано из оригинал 27 сентября 2007 г.. Получено 26 апреля, 2007.
  2. ^ "Домашняя страница Oxford and Cambridge Compilers Ltd". Архивировано из оригинал 12 июня 2004 г.. Получено 26 апреля, 2007.

внешние ссылки