Jump to content

Абстрактный синтаксис

В информатике абстрактный синтаксис данных — это их структура, описываемая как тип данных (возможно, но не обязательно, абстрактный тип данных ), не зависящий от какого-либо конкретного представления или кодировки. [1] Это особенно используется при представлении текста на компьютерных языках . [2] которые обычно хранятся в древовидной структуре в виде абстрактного синтаксического дерева . Абстрактный синтаксис, который состоит только из структуры данных, противопоставляется конкретному синтаксису , который также включает информацию о представлении. Например, конкретный синтаксис включает такие функции, как круглые скобки (для группировки) или запятые (для списков), которые не включены в абстрактный синтаксис, поскольку они неявно присутствуют в структуре.

Абстрактные синтаксисы классифицируются как абстрактный синтаксис первого порядка (FOAS), если структура абстрактна, но имена (идентификаторы) все еще конкретны (и, следовательно, требуют разрешения имен ), и абстрактный синтаксис более высокого порядка , если сами имена абстрактны. [3]

Использование

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

Для реализации как для вычислений, так и для связи необходимо определить отображение абстрактного синтаксиса на конкретные машинные представления и кодировки; их можно назвать « конкретным синтаксисом » (в языковой реализации). [4] или «синтаксис передачи» (в средствах связи).

. Внутреннее представление программы компилятором обычно задается абстрактным синтаксисом в терминах таких категорий, как «оператор», «выражение» и «идентификатор» Это не зависит от исходного синтаксиса ( конкретного синтаксиса ) компилируемого языка (хотя зачастую он очень похож). Дерево синтаксического анализа похоже на абстрактное синтаксическое дерево , но обычно оно также содержит такие функции, как круглые скобки, которые синтаксически значимы, но неявно присутствуют в структуре абстрактного синтаксического дерева.

Алгебраические типы данных особенно хорошо подходят для реализации абстрактного синтаксиса. [5]

См. также

[ редактировать ]
  1. ^ Фиоре, М.; Плоткин, Г. ; Тури, Д. (1999). «Абстрактный синтаксис и привязка переменных» . Слушания. 14-й симпозиум по логике в информатике (кат. № PR00158) . стр. 193–202. дои : 10.1109/LICS.1999.782615 . ISBN  0-7695-0158-3 . S2CID   7384052 . Проверено 2 ноября 2023 г.
  2. ^ «ASTLOG: язык для изучения абстрактных синтаксических деревьев» . DSL'97: Материалы конференции по предметно-специфичным языкам на конференции по предметно-специфичным языкам (DSL), 1997 . Ассоциация ЮСЕНИКС. 15 октября 1997 г. с. 18.
  3. ^ Пфеннинг, Ф .; Эллиотт, К. (1 июня 1988 г.). «Абстрактный синтаксис высшего порядка» . Уведомления ACM SIGPLAN . 23 (7): 199–208. дои : 10.1145/960116.54010 . ISSN   0362-1340 .
  4. ^ Уайл, Дэвид С. (1997). «Абстрактный синтаксис из конкретного синтаксиса» . Материалы 19-й международной конференции по программной инженерии - ICSE '97 . АКМ Пресс. стр. 472–480. дои : 10.1145/253228.253388 . ISBN  978-0-89791-914-2 . S2CID   14351497 .
  5. ^ Коррадини, Андреа; Гаддуччи, Фабио (17 сентября 2002 г.). «Функториальная семантика мультиалгебр и частичных алгебр с приложениями к синтаксису» . Теоретическая информатика . 286 (2): 293–322. дои : 10.1016/S0304-3975(01)00319-X . ISSN   0304-3975 .


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 50e8e0927880428feddfe802e163b492__1708156020
URL1:https://arc.ask3.ru/arc/aa/50/92/50e8e0927880428feddfe802e163b492.html
Заголовок, (Title) документа по адресу, URL1:
Abstract syntax - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)