Интернет магазин китайских планшетных компьютеров



Компьютеры - Кодогенерация

22 января 2011


Оглавление:
1. Кодогенерация
2. Задачи генератора кода
3. Генерация кода во время выполнения



часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов, каждый из которых генерирует промежуточный код, который подаётся на вход кодогенератору.

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

Сложные компиляторы, как правило, делают несколько проходов через различные промежуточные формы кода. Этот многоступенчатый процесс используется потому, что многие алгоритмы оптимизации кода проще реализовать каждый отдельно, или же потому, что какой-то шаг оптимизации зависит от результата отработки другого шага. Кроме того, при такой организации, легко создать один компилятор, который будет создавать код для нескольких платформ, так как достаточно заменить последний шаг генерации кода.

Дальнейшие этапы компиляции могут и не относиться к «генерации кода», в зависимости от того, насколько значительными будут изменения, вносимые ими. Так, локальная оптимизация вряд ли может называться «генерацией кода», однако сам генератор кода может включать в себя этап локальной оптимизации.



Просмотров: 2646


<<< Код операции