L-атрибутивная грамматика
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2020 г. ) |
L-атрибутивные грамматики — это особый тип атрибутных грамматик . [1] слева направо в глубину Они позволяют оценивать атрибуты за один обход абстрактного синтаксического дерева . В результате оценка атрибутов в грамматиках с атрибутами L может быть удобно включена в синтаксический анализ сверху вниз .
Определение, ориентированное на синтаксис, является L-атрибутивным, если каждый унаследованный атрибут на правой стороне зависит только от
- атрибуты символов
- унаследованные атрибуты (но не его синтезированные атрибуты)
Каждое определение синтаксиса с атрибутом S также является атрибутом L.
Реализация определений с атрибутом L в синтаксических анализаторах снизу вверх требует переписывания определений с атрибутом L в схемы трансляции.
Многие языки программирования имеют L-атрибуцию. Специальные типы компиляторов , узкие компиляторы, основаны на той или иной форме L-атрибутивной грамматики. Это строгое расширение с атрибутом S. грамматик Используется для синтеза кода.
Либо «унаследованные атрибуты», либо «синтезированные атрибуты», связанные с появлением символа. .
Ссылки
[ редактировать ]- ^ Кнут, Дональд Э. (июнь 1968 г.). «Семантика контекстно-свободных языков». Теория математических систем . 2 (2): 127–145. CiteSeerX 10.1.1.455.1434 . дои : 10.1007/BF01692511 . ISSN 0025-5661 . S2CID 5182310 . ИД 56672530 .