|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Генерация и оптимизация кодовГенерация машинного кода выполняется заменой распознанной конструкции соответствующими машинными командами, например, тройка сложения целых чисел может заменяться последовательностью команд: Mov AX, <Op1> Add AX, <Op2> Mov AX, <Result> В такой последовательности команд выполняется подстановка адресов операндов и результата. Очевидно, что код, полученный таким образом, является не оптимальным. Поэтому при генерации кода выполняется оптимизация. Все способы оптимизации можно разделить на две группы: 1) машинно-независимая оптимизация; 2) машинно-зависимая оптимизация. Машинно-независимая оптимизация включает: а) исключение повторных вычислений одних и тех же операндов; б) выполнение операций над константами во время трансляции; в) вынесение из циклов вычисления величин, не зависящих от параметров циклов; г) упрощение сложных логических выражений и т. п. Машинно-зависимая оптимизация включает: а) исключение лишних передач управления типа «память-регистр»; б) выбор более эффективных команд т. п. Оба типа оптимизации предполагают разработку соответствующих семантических моделей для представления результатов распознавания конструкций. Обычно с этой целью используют разного типа таблицы. Литература
Содержание
Введение. Трансляция арифметических выражений. Метод Рутисхаузера. 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
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |