Теория и реализация языков программирования

         

и шестом правилах применяются для


Пример 1.3.
(html, txt)
(Индексы в четвертом и шестом правилах применяются для того, чтобы различать вхождения одноименных нетерминалов.). В этих семантических правилах значения атрибутов всех нетерминалов определяются через значения атрибутов их непосредственных потомков, так что окончательные значения определены для всех атрибутов. Предполагается, что смысл обозначений, использованных для записи семантических правил, понятен. Отметим, например, что символ "0" в семантическом правиле v(B) = 0 понимается не так, как символ "0" в синтаксическом правиле B
0. B первом случае "0" обозначает математическое понятие, а именно число нуль, во втором - некоторый символ, имеющий эллиптическую форму. B каком-то смысле, то, что эти два символа выглядят одинаково, - не более чем простое совпадение.
Структуру (рис. 1.2) можно расширить, выписав явно атрибуты при всех узлах.

Рис. 1.4. 
Таким образом, "1101.01" обозначает 13.25 (в десятичной записи).
Такой способ определения семантики КС-языков в сущности хорошо известен, так как он уже использовался несколькими авторами. Однако существует важное расширение этого метода. Именно это расширение и представляет для нас интерес.
Предположим, например, что мы хотим определить семантику двоичной записи другим способом, более близким к нашему обычному ее пониманию. Первая единица в записи 1101.01 на самом деле означает 8, хотя в соответствии с (рис. 1.4) ей приписывается значение 1. Возможно, поэтому будет лучше определять семантику таким образом, чтобы местоположение символа тоже играло определ_нную роль. Можно ввести следующие атрибуты:
символ B имеет атрибут "значение", являющийся рациональным числом и обозначаемый v(B).
символ B имеет целочисленный атрибут "масштаб ", обозначаемый s(B).
символ L имеет атрибут "значение", являющийся рациональным числом и обозначаемый v(L).
символ L имеет целочисленный атрибут "длина", обозначаемый l(L).
символ L имеет целочисленный атрибут "масштаб", обозначаемый s(L).

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий