АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Генерация и оптимизация кодов

Читайте также:
  1. БЕЗУСЛОВНАЯ ОПТИМИЗАЦИЯ: МЕТОД ПОКООРДИНАТНОГО СПУСКА.
  2. Васкуляризация. Иннервация. Возрастные изменения. Регенерация.
  3. Виды хрящевой ткани, возрастные изменения и регенерация хряща
  4. Витрати ВИКОНАВЦЯ відшкодовуються ним із винагороди, що виплачується ЗАМОВНИКОМ.
  5. Внесение изменений и оптимизация разработанной системы обучения в процессе ее внедрения
  6. Возрастные изменения и регенерация
  7. ГЕНЕРАЦИЯ КОДА И СБОРКА
  8. Документ, который представляет собой систематизированные своды кодов и наименований классификационных групп объектов технико-экономической информации
  9. Кількість перевірних символів у кодовій комбінації (верхня межа Варшамова-Гільберта)
  10. КЛАССИФИКАЦИЯ И КОДОВОЕ ОБОЗНАЧЕНИЕ АЭРОДРОМОВ И АЭРОПОРТОВ
  11. КОДОВОЕ ОБОЗНАЧЕНИЕ ТИПА КОНТЕЙНЕРОВ

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

Mov AX, <Op1>

Add AX, <Op2>

Mov AX, <Result>

В такой последовательности команд выполняется подстановка адресов операндов и результата.

Очевидно, что код, полученный таким образом, является не оптимальным. Поэтому при генерации кода выполняется оптимизация.

Все способы оптимизации можно разделить на две группы:

1) машинно-независимая оптимизация;

2) машинно-зависимая оптимизация.

Машинно-независимая оптимизация включает:

а) исключение повторных вычислений одних и тех же операндов;

б) выполнение операций над константами во время трансляции;

в) вынесение из циклов вычисления величин, не зависящих от параметров циклов;

г) упрощение сложных логических выражений и т. п.

Машинно-зависимая оптимизация включает:

а) исключение лишних передач управления типа «память-регистр»;

б) выбор более эффективных команд т. п.

Оба типа оптимизации предполагают разработку соответствующих семантических моделей для представления результатов распознавания конструкций. Обычно с этой целью используют разного типа таблицы.

Литература

  1. Д. Грис. Конструирование компиляторов для цифровых вычислительных машин – М.: Мир, 1975. – 544 с.
  2. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технологии и инструменты. Пер. с англ. – М.: «Вильямс», 2003.
  3. В. Дж. Рейуорд–Смит. Теория формальных языков. Вводный курс. – М.: Радио и связь, 1988. – 128 с.

 

Содержание

 

Введение. Трансляция арифметических выражений. Метод Рутисхаузера. 2

1 Основные понятия и определения............................................................................................. 3

1.1 Классификация компилирующих программ.. 3

1.2 Синтаксис и семантика. Структура компилятора. 3

2 Формальные грамматики и их использование при лексическом и синтаксическом анализе 5

2.1 Формальная грамматика и формальный язык. 5

2.2 Понятие грамматического разбора. 7

2.3 Расширенная классификация грамматик Хомского. 11

2.4 Распознавание регулярных грамматик. 12

2.4.1 Конечный автомат и его программная реализация. 12

2.4.2 Построение лексических анализаторов. 14

2.4.3 Построение синтаксических анализаторов. 16

2.5 Распознавание КС-грамматик. 17

2.5.1 Автомат с магазинной памятью.. 17

2.5.2 Синтаксические анализаторы LL(k) -грамматик. Метод рекурсивного спуска 19

2.5.3 Синтаксические анализаторы LR(k) -грамматик. Грамматики предшествования 24

2.6 Польская запись. Алгоритм Бауэра-Замельзона. 26

3 Распределение памяти................................................................................................................. 28

4 Генерация и оптимизация кодов. 29

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)