Транслятор: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
ESSch (обсуждение | вклад) пунктуация |
Derevtso (обсуждение | вклад) м →Реализации: Исправление последствий "неполной" поправки. (Лёгкая несогласованность предложения). |
||
Строка 35:
{{конец цитаты}}</ref>), но они являются исключением из правила в силу сложности и дороговизны. Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется '''компилятором'''.<ref name="Себеста">{{книга|автор=Роберт У. Себеста.|часть=1.7. Методы реализации|заглавие=Основные концепции языков программирования|оригинал=Concepts of Programming Languages|ответственный=Пер. с англ|издание=5-е изд|место=М.|издательство=[[Вильямс (издательство)|Вильямс]]|год=2001|страницы=45—52|страниц=672|isbn=5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)|тираж=5000}}</ref>
Процесс компиляции, как правило, состоит из нескольких этапов: [[лексический анализ|лексического]], [[синтаксический анализ|синтаксического]] и [[семантический анализ|семантического анализов]], генерации на основе результатов анализов промежуточного кода, [[оптимизация компилятора|оптимизации]] промежуточного кода и генерации результирующего объектного кода, в данном случае машинного. Помимо этого, программа, как правило,
Достоинство компилятора: программа компилируется один раз и при каждом выполнении не требуется дополнительных преобразований. Соответственно, не требуется наличие компилятора на целевой машине, для которой компилируется программа. Недостаток: отдельный этап компиляции замедляет написание и отладку и затрудняет исполнение небольших, несложных или разовых программ.
|