29362

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

Доклад

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

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

Английский

2013-08-21

52.5 KB

4 чел.

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

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

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

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


 

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

19659. Реформы Столыпина и Витте в конце XIX – начале XX в 13.66 KB
  Реформы Столыпина и Витте в конце XIX начале XX в. В конце XIX в. экономическое присутствие российского государства подверглось изменениям. Скачкообразное взрывное развитие экономики сопровождающееся структурными кризисами порождало потребности в координации процес
19661. Первая русская революция 105-1907, формирование многопартийности 14.95 KB
  Первая русская революция 1051907 формирование многопартийности. Госная дума. Причины: Революцию вызвали экономические тяжелые условия труда рабочих помещ. Землевладение отработки выкупные платежи и политические отсутствие демократических свобод сохранение самоде...
19662. Первая Мировая война и участие в ней России 14.59 KB
  Первая Мировая война и участие в ней России. Причины: 1 Борьба за передел колониальных владений и рынков сбыта промышленной продукции.Изменение границ в Европе 2 Стремление отвлечь рабочих от борьбы за свои права 3 Стремление милитаристских кругов к развязыван
19663. Предпосылки и причины Февральской революции 1917 года 27 KB
  Предпосылки и причины Февральской революции 1917 года. Экономические:экономический кризис вызванный I Мировой войной и его негативные последствия: рост цен инфляция голодПолитические: консервативная политика Николая II усугубляла ситуацию. Германия была заинтерес
19664. Экономическое и социально-политическое развитие СТРАН ЗАПАДА В 1924—1929 гг 34.5 KB
  Экономическое и социальнополитическое развитие СТРАН ЗАПАДА В 1924 1929 гг. Экономическое развитие. Постепенно экономика западных стран преодолевала трудности вызванные войной. Первым фактором ее оживления стал отложенный спрос населения т. е. с
19665. Установление фашистской диктатуры в Германии. Внутренняя политика национал-социалистов 38 KB
  Установление фашистской диктатуры в Германии. Внутренняя политика националсоциалистов 30 января 1933 г. 86летний президент Германии фельдмаршал Гинденбург назначил Гитлера рейхсканцлером и поручил ему сформировать правительство. Начался 12летний период фашистской дик...
19666. НАУКА И КУЛЬТУРА ЗАПАДНЫХ СТРАН В МЕЖВОЕННЫЙ ПЕРИОД 39.5 KB
  НАУКА И КУЛЬТУРА ЗАПАДНЫХ СТРАН В МЕЖВОЕННЫЙ ПЕРИОД Естественные науки и техника. Еще на рубеже XIX XX вв. начался революционный переворот в естествознании который в межвоенные годы привел к важным изменениям в производстве и в быту людей. Прежде всего он затронул физику...
19667. Осуществление индустриализации и коллективизации в СССР 20.09 KB
  Осуществление индустриализации и коллективизации в СССР. Разрушения мировой и гражданской войн обусловили тяжелый экономический кризис в Советской стране. Благодаря нэпу удалось достигнуть довоенного 1913 г.уровня развития промышленности и сельского хозяйства. Но ст