УНКОЛ

UNCOL ( Universal Computer Oriented Language ) — универсальный промежуточный язык для компиляторов . Идея была предложена в 1958 году специальным комитетом SHARE . [1] Она никогда не была полностью определена или реализована; во многих отношениях это была скорее концепция, чем язык.

UNCOL был призван сделать компиляторы экономически доступными для каждой новой архитектуры набора инструкций и языка программирования , тем самым сведя проблему N×M к N+M. [2] Каждая архитектура машины потребовала бы только одного компилятора back end, а каждый язык программирования потребовал бы одного компилятора front end. Это была очень амбициозная цель, поскольку технология компиляторов находилась в зачаточном состоянии, и мало что было стандартизировано в компьютерном оборудовании и программном обеспечении.

История

Концепция такого универсального промежуточного языка стара: в отчете SHARE (1958) уже говорится, что «[она] обсуждалась многими независимыми лицами еще в 1954 году». Макракис (1993) резюмирует ее судьбу:

UNCOL был амбициозным усилием для начала 1960-х. Попытка решить проблему написания компилятора, в конечном итоге провалилась, поскольку язык и технология компиляторов еще не были зрелыми. В 1970-х компиляторы-компиляторы в конечном итоге внесли свой вклад в решение проблемы, которую поставил перед собой UNCOL: экономичное производство компиляторов для новых языков и новых машин.

UNCOL иногда используется как общий термин для идеи универсального промежуточного языка. Архитектурно-нейтральный формат распределения является примером UNCOL в этом смысле, как и различные системы байт-кода , такие как p-код UCSD Pascal и , в частности, байт-код Java . [3]

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

Примечания

  1. ^ Стронг, Дж.; Вегштейн, Дж.; Триттер, А.; Ольштын, Дж.; Мок, О.; Стил, Т. (август 1958 г.). «Проблема программирования связи с изменяющимися машинами: предлагаемое решение». Communications of the ACM . 1 (8): 12–18. doi : 10.1145/368892.368915 . Получено 21 февраля 2022 г.
  2. ^ Джон Левин (23 ноября 2021 г.). «UNCOL и отмена изменений из списков рассылки». dmarc-ietf (список рассылки) . Получено 24 ноября 2021 г.
  3. ^ Джон Инглиш, Введение в операционные системы: за рабочим столом , Palgrave MacMillan 2005, ISBN 0230374085 , стр. 10 

Ссылки

  • Conway, Melvin E. (1 октября 1958 г.). «Предложение о UNCOL». Сообщения ACM . 1 (10): 5–8. doi : 10.1145/368924.368928 . ISSN  0001-0782.
  • Жан Э. Саммет, Языки программирования: история и основы , Prentice-Hall, 1969. Глава X.2: UNCOL (Значительные нереализованные концепции), стр. 708.
  • SHARE Специальный комитет по универсальным языкам (Дж. Стронг, Дж. Ольштын, Дж. Вегштейн, О. Мок, А. Триттер, Т. Стил), «Проблема программирования связи с изменяющимися машинами», Сообщения ACM 1 :8:12–18 (август 1958 г.) и 1 :9:9–15 (сентябрь 1958 г.).
  • Ставрос Макракис, «От UNCOL к ANDF: прогресс в стандартных промежуточных языках», Белая книга, Исследовательский институт Open Software Foundation , RI-ANDF-TP2-1, январь 1992 г. Доступно на CiteSeer
  • TB Steel, Jr., «UNCOL: Универсальный компьютерно-ориентированный язык: новый взгляд», Datamation (январь/февраль 1960 г.), стр. 18.
  • TB Steel, Jr., «Первая версия UNCOL», Proc. Western Joint Computer Conference 19 :371 (Лос-Анджелес, 9–11 мая 1961 г.).
  • ТБ Стил, младший, «UNCOL: миф и факт», Ежегодный обзор автоматического программирования 2 :325 (1961).
Взято с "https://en.wikipedia.org/w/index.php?title=UNCOL&oldid=1184193028"