
- •2. Операционная система
- •3. Системы программирования
- •4. Таблица идентификаторов.
- •5. Кэш адресация
- •6. Формальные языки и грамматики.
- •7. Понятие языка
- •8. Запись грамматики в форме Бэкуса-Наура.
- •9. Запись правил грамматики с использованием метасимволов.
- •10. Запись правил грамматики в графическом виде
- •11. Классификация грамматик
- •12. Классификация языков.
- •14. Цепочка вывода
- •15. Дерево вывода
- •16. Правила задающие неоднозначность грамматик
- •17. Распознаватель
- •18. Задача разбора
- •19. Этапы семантического анализа
- •20. Распознаватели регулярных языков.
- •21. Граф переходов конечного автомата
- •22. Способы задания регулярных языков
- •23. Назначение лексических анализаторов
- •24. Контекстно-свободные языки и грамматики
- •25. Распознаватели кс языков
- •26. Распознаватели кс языков с возвратом.
- •27. Нисходящий распознаватель с возвратом
- •28. Принципы работы восходящего распознавателя
- •29. Распознаватели кс языков без возврата
- •30. Распознаватель на основе грамматик
- •31. Свойства кс языков
- •32. Назначение синтаксических анализаторов.
- •33. Дерево операций.
- •35. Общие принципы оптимизации кода.
35. Общие принципы оптимизации кода.
Оптимизация - это необязательный этап компиляции.
Выделение оптимизации в отдельный этап генерации кода- это вынужденный этап.
Оптимизация существенно влияет на результат программы.
Оптими-я проги – обр-ка связ-ая с переупорядочиванием и изм-нием операций в комп-ой программе с целью получения более эфф-ной результир-ей объектной программы. Оптим. может вып-ся неск-ко раз, по фазе подготовки генерации кода и по фазе генерации кода. В качестве показ-лей эфф-ти результир проги исп-ся след критерии:
1) объем памяти, необх-ый для вып-я результир проги
2) скорость вып-я проги
Различают 2 осн-х вида оптимизации преобр-я:
1) преобр-ие исх проги в форме её внутр. представления, незав-й от рез-го объект-го кода
2) данные преобр-ия не зависят от архитектуры целевой выч-ой системы. Они основаны на хорошо известных и обоснованных матем-х и логич-х преобр-ях, произвед-х над внутр. предст-ем проги
3) преобразование результир-ей объектной проги
Данная группа преобр-ий зависит от арх-ры целевой выч. системы
Оптим-я может вып-ся для след. типовых синтакс-х конструкций:
1) линейные участки программ;
2) логические выражения
3) циклов
4) вызовов процедуры функций
5) других конструкций языка