Jump to content

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

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

Платформы

[ редактировать ]

Расширения стандарта АЛГОЛ 68

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

Пример кода

[ редактировать ]
MODULE vectors
BEGIN
    INT dim=3;
    MODE VECTOR = [dim]REAL;
    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 FROM LWB a TO UPB a DO out+:=a[i]*b[i] OD; out );
END
KEEP VECTOR, +, -, DOT

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

[ редактировать ]
  1. Переменная, режимы и операторы должны быть объявлены перед использованием.
  2. Анонимная процедура может использовать в качестве параметра средство объявления строк.
  3. Никаких временных подимен гибких массивов.
  4. Нет форматированного Transput (или форматированных текстов).
  5. Ограничено использование выпрямления нескольких значений во время передачи.
  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 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8bbaa51832977ffd0c81b76b7b4fbd2f__1569820020
URL1:https://arc.ask3.ru/arc/aa/8b/2f/8bbaa51832977ffd0c81b76b7b4fbd2f.html
Заголовок, (Title) документа по адресу, URL1:
Interactive ALGOL 68 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)