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 – правый потомок.
Процесс 
генерации кода осуществляется от листьев дерева к его корню, таким образом, что корню будет приписана итоговая цепочка кода. При таком подходе, процесс генерации кода может быть объединен с процессом восходящего грамматического разбора. Т.е. по мере распознавания отдельных конструкций программы, вызывается не только семантика программы, но и программы генерации кода для этих конструкций.


 

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

73558. Українська історіографія на початку національного відродження (кінець XVIII — перша половина XIX ст.) 97 KB
  Україна переживала з кінця XVIII століття складний етап своєї історії. Після поділу Польщі українські землі опинилися у складі двох імперій: Російської (80% території) і Австрійської. Суспільне життя краю характеризувалося кризою кріпосницького ладу, розгортанням російського визвольногопольського національно-визвольного та процесом українського національного відродження.
73559. Источники энергии высокотемпературных теплотехнологических установок 261 KB
  Классификация реакторов высокотемпературной теплотехнологической установки; Структурная схема теплотехнологического реактора; Схемы размещения источников энергии и движения дымовых газов в камерах (зонах) реакторов высокотемпературных технологических установок; Схема тепломассообмена в рабочем пространстве высокотемпературных теплотехнических установках;
73560. Розрахунок лінійних електричних кіл синусоїдного змінного струму методом провідностей 404.5 KB
  Визначення співвідношень опорів для перетворення схеми з послідовним зєднанням опорів в схему з їх паралельним зєднанням. Визначення співвідношень провідностей для перетворення схеми з паралельним зєднанням опорів в схему з їх послідовним зєднанням...
73561. Українська iсторiографiя другої половини ХIХ – початку ХХ століть 201 KB
  Народницький напрям в українськiй iсторiографiї сформувався в 40-вi роки ХIХ столiття. Вiн став домiнуючим у другiй половинi ХIХ ст. i поширився на першi десятилiття ХХ столiття. Його засновниками були Михайло Олександрович Максимович i Микола Iванович Костомаров, а, за висловом М.С.Грушевського, він сам був «останнiм могiканом» української народницької iсторiографii.
73562. Резонансні режими в лінійних електричних колах СЗС 757.5 KB
  Резонансом напруг Іф. ЛЕК СЗС називається такий режим роботи нерозгалуженого кола, що містить послідовно з’єднані активний, індуктивний і ємнісні опори, при якому повний опір кола набуває активного характеру, спади напруг на індуктивних і ємнісних опорах компенсують один одного, а повна напруга співпадає за фазою зі струмом.
73563. М.С. ГРУШЕВСЬКИЙ В УКРАЇНСЬКІЙ ІСТОРІОГРАФІЇ 101.5 KB
  Життя і науково-організаційна діяльність. Історіософія М. С. Грушевського. Історіографічна спадщина. «Історія України-Руси». Історичні школи М.С. Грушевського та їх значення.
73564. Кола синусоїдного змінного струму з взаємною індуктивністю 688 KB
  Магнітне поле – це невідємна складова частина електромагнітного поля, що виникає при русі електричних зарядів в просторі або в провідниках у вигляді електричного струму (постійного чи змінного), а також у вигляді молекулярних струмів в постійних магнітах.
73565. Новітня українська історіографія. Розвиток історичної науки в Галичині і на еміграції в міжвоєнний період (1919-1939) 104.5 KB
  Умови розвитку історичної науки. Наукові установи по дослідженню історії України. Державницький напрям в українській історіографії та його засновники: В.Липинський, Ст.Томашівський, Д.І.Дорошенко.
73566. Розвиток української історичної науки на еміграції (1945 – 2000-і роки) 117 KB
  Установи з дослідження української історії на еміграції. Дослідження історії України в працях Н. №12 Установи з дослідження української історії. Спробуємо охарактеризувати діяльність окремих наукових установ що займалися дослідженням історії України.