29362

Генерация объектного кода по семантическому дереву

Доклад

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

Существует 3 формы объектного кода1. Чтобы показать процесс генерации кода можно рассмотреть теоретическую вычислительную машину с одним сумматором и неограниченной памятью.Генерация кода осуществляется для программы представленной в некоторой внутренней форме наиболее удобной из которых для генерации кода является список тетрад.

Английский

2013-08-21

52.5 KB

3 чел.

30) Генерация объектного кода по семантическому дереву.

Существует 3 формы объектного кода
1. последовательность команд, загруженных в фиксированные ячейки памяти
2. последовательность перемещенных машинных команд
3. программа на языке ассемблера
Объектный код в компиляторах (К) может формироваться как в двоичном виде, т.е. в виде кодов (1,2), так и в символьном виде (на языке ассемблера) (3). Пусть объектный код формируется в символьном виде. Чтобы показать процесс генерации кода, можно рассмотреть теоретическую вычислительную машину с одним сумматором и неограниченной памятью. Предположим, что сумматор может выполнять 4 арифметические операции (+,-,*,/), а в целом система команд также включает еще 2 команды: загрузки сумматора из памяти и сохранение результатов в память.
Для упрощения будем считать, что 
объектная программа формируется в символьном виде, а каждая переменная представляется своим именем, а не указателем, на соотв. ячейку памяти.
Систему команд такой машины можно представить следующим образом:

При выполнении любой из первых двух команд содержимое источника копируется в приемник, а при выполнении оставшихся 4 команд, содержимое ячейки памяти не изменяется.
Генерация кода осуществляется для программы, представленной в некоторой внутренней форме, наиболее удобной из которых для генерации кода является 
список тетрад.

Основная идея метода заключается в следующем: 
В процессе 
генерации кода, каждой вершине xi семантического дерева сопоставляется цепочка кода α(xi). При этом эта кодовая цепочка формируется путем объединения кодов цепочек, приписанных потомкам вершины xi. Xi1 – левый потомок, xi2 – правый потомок.
Процесс 
генерации кода осуществляется от листьев дерева к его корню, таким образом, что корню будет приписана итоговая цепочка кода. При таком подходе, процесс генерации кода может быть объединен с процессом восходящего грамматического разбора. Т.е. по мере распознавания отдельных конструкций программы, вызывается не только семантика программы, но и программы генерации кода для этих конструкций.


 

А также другие работы, которые могут Вас заинтересовать

67258. ОБЩАЯ ХАРАКТЕРИСТИКА ЛЕГИРОВАННЫХ СТАЛЕЙ 29.5 KB
  Классификация примесей Все примеси содержащиеся в стали можно разделить на 4 группы: Это невредные примеси: марганец 0307 вес кремний 0204 их введение необходимо при производстве стали для раскисления жидкого металла причем в кипящей стали кремния мало 007.
67259. Мотивація й оплата праці 58.12 KB
  Результативність праці на кожному робочому місці зумовлює рівень економічної ефективності функціонування аграрного підприємства загалом. З-поміж різноманітних чинників, котрі становлять основу активізації зусиль персоналу підприємства...
67260. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ И ПРОЦЕДУРЫ ИХ МАШИННОЙ ГЕНЕРАЦИИ 127 KB
  Количество случайных чисел используемых для получения статистически устойчивой оценки характеристики процесса функционирования системы S при реализации моделирующего алгоритма на ЭВМ. Количество случайных чисел колеблется в достаточно широких пределах в зависимости от...
67261. Культура 18 века 55 KB
  Сущность эпохи Просвещения заключается в том что общественное бытие стало приводиться в соответствие с новым типом общественного сознания. Характерные черты Просвещения: В основе этого процесса – развитие промышленного производства рынок финансовое обращение завершение стадии...
67262. Методика гидрореабилитации детей 6-7лет, имеющих круглую спину 293.87 KB
  Анализ результатов реабилитации детей 6-7лет, имеющих круглую спин. Теоретические аспекты гидрореабилитации при нарушениях осанки у детей 6-7. Влияние водных процедур на организм человека. Этиопатогенез и клиническая картина нарушений осанки у детей 6-7.
67263. ПЕРЕЛОМЫ. КЛИНИКА И ДИАГНОСТИКА. ПЕРВАЯ ПОМОЩЬ. КОНСЕРВАТИВНОЕ ЛЕЧЕНИЕ 105 KB
  В развитых странах несмотря на увеличивающееся количество травм, число погибших меньше, чем в Российской Федерации. Основная причина этому - правильное оказание помощи пострадавшим. В 1994 г. в автомобильных катастрофах в России погибли более 35 тыс. чел., а свыше 189 тыс. получили увечья и стали инвалидами
67264. Перевантаження унарних операторів «++» та «--» 91.5 KB
  Можна перевантажувати унарні оператори інкремента "++" та декремента "--", або унарні "-" і "+". Як уже зазначалося вище, при перевантажені унарного оператора за допомогою функції-члена класу операторній функції жоден об'єкт не передається безпосередньо.
67265. Организационные основы безопасности жизнедеятельности. Организационные основы управления 24.64 KB
  Управление охраной труда. Оно осуществляется в соответствии с Основами законодательства по охране труда Министерством труда и социального развития РК и его территориальными органами представители которых наделены широкими полномочиями по контролю за условиями и охраной труда постановкой продукции...
67266. Толерантность как принцип поведения в мультикультурном мире 38 KB
  Основные подходы к определению понятия толерантность. Противостоять этому может толерантность как общечеловеческая обстановка культурного сознания и поведения. Благодаря усилиям ЮНЕСКО понятие толерантность стало международным термином. В ней толерантность определяется как признание единства и многообразия человечества взаимозависимости...