29380

Семантическое дерево как форма представления программ в языковых процессорах САПР

Доклад

Информатика, кибернетика и программирование

Семантическое дерево 2 польская запись 3 список тетрад. Семантическое дерево СД – модифицированное дерево грамматического разбора из которого исключили вершины соответствующие нетерминальным символам.Пример: E→ET TT→TM MM→E a b cabcДерево разбора:При построении СД скобки не требуются т.

Английский

2013-08-21

38 KB

4 чел.

20) Семантическое дерево как форма представления программ в языковых процессорах САПР.

Все внутренние формы представления программ в трансляторе содержат элементы 2 видов:
-операторы
-операнды
Операторы задают выполняемые действия, и в простейшем случае могут рассматриваться как знаки выполняемых операций.
Операнды – это переменные, константы, промежуточные данные, формируемые транслятором, переменные с индексом и другие данные над которыми выполняются соответствующие операторы.
В результате семантического анализа формируется программа, эквивалентная исходной программе и представленная во внутренней форме, удобной для дальнейшей оптимизации.
1. Семантическое дерево, 2 польская запись, 3 список тетрад.
1. Семантическое дерево (СД) – модифицированное дерево грамматического разбора из которого исключили вершины соответствующие нетерминальным символам. Листья СД соответствуют операндам, а вершины операторам. Расположение операторов по уровням дерева определяет порядок их выполнения. 
СД удобно использовать для описания выражений и операторов их использующих.
Пример: 

EE+T / T
TT*M / M
M→(E) | a | b| c
a+b*c
Дерево разбора:

При построении СД скобки не требуются т.к. порядок выполнения операций определяется структурой дерева. Таким образом если дерево разбора показывает порядок вывода цепи языка из начальных символов (синтаксис предложения), то СД отражает только порядок выполнения операторов над заданными операндами (семантика предложения).