Jump to content

Язык программирования S/SL

Язык синтаксиса /семантики ( S/SL ) — исполняемый высокого уровня язык спецификации для парсеров рекурсивного спуска , семантических анализаторов и генераторов кода, разработанный Джеймсом Корди , Риком Холтом и Дэвидом Вортманом в Университете Торонто в 1980 году. [1]

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

Процессор S/SL компилирует этот псевдокод в таблицу (байт-коды), которая интерпретируется обработчиком таблиц S/SL ( интерпретатором ). Язык псевдокода обрабатывает входной язык в LL(1), стиле рекурсивного спуска но расширения позволяют ему относительно легко обрабатывать любой язык LR(k) . [2] S/SL разработан для обеспечения превосходного восстановления и исправления синтаксических ошибок. Он более мощный и прозрачный, чем Yacc , но может работать медленнее.

«Семантические механизмы» S/SL расширяют его возможности на все этапы компиляции, и он использовался для реализации всех этапов компиляции, включая сканеры , парсеры , семантические анализаторы , генераторы кода и интерпретаторы виртуальных машин в многопроходных языковых процессорах. [3]

S/SL использовался для реализации коммерческих коммерческих компиляторов для таких языков, как PL/I , Euclid , Turing , Ada и COBOL , а также интерпретаторов, командных процессоров и различных предметно-ориентированных языков. Это основная технология, используемая в . компиляторе IBM ILE/400 COBOL [4] и ZMailer агент передачи почты использует S/SL [5] для определения как языка обработки почтового маршрутизатора, так и проверки адреса электронной почты RFC 822.

  1. ^ Дж. Р. Корди, Р. К. Холт и Д. Б. Вортман, «S/SL: Синтаксис/Семантический язык - Введение и спецификация», Технический отчет CSRG-118, Группа исследования компьютерных систем, Университет Торонто, сентябрь 1980 г.
  2. ^ Барнард, DT; Корди, младший (1988). «SL анализирует языки LR». Компьютерные языки . 13 (2): 65–74. дои : 10.1016/0096-0551(88)90010-0 .
  3. ^ Холт, Ричард С.; Корди, Джеймс Р.; Вортман, Дэвид Б. (1982). «Введение в S/SL: синтаксис/семантический язык» . Транзакции ACM в языках и системах программирования . 4 (2): 149–178. дои : 10.1145/357162.357164 .
  4. ^ Ян Х. Кармайкл и Стивен Перелгут. «Возвращение к S/SL». Учеб. CASCON'95, Конференция Центра перспективных исследований совместных исследований, Торонто, Канада, ноябрь 1995 г. http://portal.acm.org/citation.cfm?id=781915.781926
  5. ^ Руководство ZMailer, http://www.zmailer.org/zman/zmanual.shtml.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f86aef75a074b3c9ca45fbcb30cb3ea9__1699483560
URL1:https://arc.ask3.ru/arc/aa/f8/a9/f86aef75a074b3c9ca45fbcb30cb3ea9.html
Заголовок, (Title) документа по адресу, URL1:
S/SL programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)