ESPOL (Executive Systems Problem Oriented Language)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:16, 10 января 2019.
ESPOL
Семейство ALGOL 60
Спроектировано Burroughs Corporation
Разработчики Burroughs Corporation
Первый   появившийся 1966
Платформа вычислительные машины Burroughs
Лицензия Проприетарное
Главная реализация
Вычисление и расчеты
Под влиянием
ALGOL 60
Влияние
NEWP
ESPOL (сокращенно ориентированный на Executive Systems Problem Oriented Language) был надмножеством ALGOL 60, который обеспечивал возможности того, что позже будет известно как Моголы, машинные языки высокого порядка, такие как прерывание процессора в многопроцессорной системе (крупные системы Burroughs были многопроцессорными).

Он использовался для написания MCP (Master Control Program) на компьютерных системах Burroughs от B5000 до B6700. Однопотоковый компилятор для ESPOL может скомпилировать более 250 строк в секунду.[Источник 1]

ESPOL относится к проблемно-ориентированным языкам

ESPOL (проблемно - ориентированный язык)

ESPOL (проблемно - ориентированный язык) - был надмножеством ALGOL 60, который обеспечивал возможности того, что машинные языки высокого порядка, такие как прерывание процессора в многопроцессорной системе (крупные системы Burroughs были многопроцессорными операционными системами). ESPOL использовался для написания MCP (Master Control Program) на компьютерных системах Burroughs от B5000 до B6700. Однопроходный компилятор для ESPOL может скомпилировать более 250 строк в секунду. ESPOL был заменён на NEWP. (Дата обращения: 14.05.2018)

Схожесть ESPOL и ALGOL

ESPOL (проблемно-ориентированный системный язык) - это язык, похожий на ALGOL с добавлением примитивов для помощи в таких проблемах программирования, как прерывание обработки, хранения, наложения и полных объектов 1/0. Это зависит и от машинного языка для Burroughs B500, который позволяет использовать встроенный язык ассемблера. В нем есть полноразмерные манипуляции, но средства управления персонажами ограничены входом и вывод. Типы данных в языке включают целые числа и действительные числа, логические значения, и символьные строки, которые ограничены максимальной длиной в шесть. Катушка обеспечивает стеки многомерных массивов: нет таких структур данных, как объекты "Языка программирования №1" или "Автоматическое техническое проектирование". Средства отладки включают в себя мониторинг и сброс переменных, когда они используются, а также мониторинг определенных условий ошибки.[Источник 2]

ESPOL-язык,похожий на ALGOL

Примитивы

В вычислениях примитивы языка являются простейшими элементами, доступными на языке программирования.

Примитив - это наименьшая «единица обработки», доступная программисту данной машины или может быть атомарным элементом выражения на языке.[1]

Примитивы - это единицы со значением, т.е. семантическое значение на языке. Таким образом, они отличаются от токенов в парсере, которые являются минимальными элементами синтаксиса.

Парсер

Парсер - программный компонент, который принимает входные данные (часто текст) и строит структуру данных - часто это какое-то дерево разбора, абстрактное синтаксическое дерево или другую иерархическую структуру - дает структурное представление ввода, проверяя правильный синтаксис процесса. [2] Парсеру часто предшествует отдельный лексический анализатор, который создает маркеры из последовательности входных символов; их можно комбинировать при разборке без сканера.

Парсеры могут быть запрограммированы вручную или могут автоматически или полуавтоматически определятся генератором синтаксического анализатора. Разбор дополняет шаблонизацию, которая производит форматированный вывод. Они могут применяться к разным доменам, но часто появляются вместе, например, пара scanf/printf или этапы обработки входного (front end parsing) и выходного (back end code generation) компилятора.

Токен

Лексический токен или просто токен - это пара, состоящая из имени токена и необязательного значения токена. Название токена - это категория лексической единицы. [3] Общие имена токенов:

  • идентификаторы: имена, которые выбирает программист;
  • ключевые слова: имена уже на языке программирования;
  • разделители (также называемые пунктуаторами): знаки пунктуации и парные разделители;
  • операторы: символы, которые работают по аргументам и дают результаты;
  • литералы: числовые, логические, текстовые, справочные литералы;
  • комментарии: line, блок.

Компилятор

Компилятор — программа или техническое средство, выполняющее компиляцию. Сама же компиляция - это трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код)

Компили́ровать — проводить трансляцию машинной программы с предметно-ориентированного языка на машинно-ориентированный язык. [4]

Ссылки

Источники

  1. Алгол 68 // Википедия [2002–2018]. Дата изменения: 06.04.2018. URL: https://ru.wikipedia.org/wiki/Алгол_68 (Дата обращения: 17.06.2018).
  2. Burroughs B5000 Computer // Nick Bywater and Matt Chandler [2008-2010]. Дата изменения: 04.10.2010. URL: https://www.cs.uaf.edu/2010/fall/cs441/proj1/b5000/ (Дата обращения: 17.06.2018).