Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Атрибутные грамматики



Атрибутные грамматики, впервые предложенные Д. Кнутом, в идеале призваны контролировать смысловую корректность формальных грамматик. Смысл обычно задается операционно или декларативно.

Атрибутные грамматики позволяют работать с атрибутами - (дополнительными) характеристиками, которые приписываются операторам и операндам.

В примерах грамматики с синтезируемыми атрибутами (восходящие грамматики) и наследуемыми атрибутами (нисходящие грамматики).

Пусть дан фрагмент грамматики:

S ® T | T * T | (T)

T ® T + T | T * T | a | b | c | d

Тогда дерево вывода и пример атрибутной грамматики с синтезируемыми атрибутами (здесь с числовыми типами) будет:

r * i ® r
       
   


+ -

       
   


a b c d

r r i i

i - integer

r - real

S

           
     


T * T

           
     


T + T T - T

Пример наследуемых атрибутов приведен на следующем рисунке:

x:= if A then b else C

:=

i

x if i r®i

           
     


A B C

b r i

YACC

yacc - программа синтаксического анализа (y et a nother c ompile of c ompiles).

Также как и lex – ‘она начально была написана, как команда для ОС UNIX.

Часто эти команды используются совместно.





Дата публикования: 2014-11-03; Прочитано: 335 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...