Лекция: Интерпретация и компиляция

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. При трансляции выполняется перевод программы, понятной человеку, на язык, понятный компьютеру. Выполняется специальными программными средствами (транслятором).

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются. Если цель трансляции – преобразование всего исходного текста на внутренний язык компьютера (т.е. получение некоторого нового кода) и только, то такая трансляция называется также компиляцией. Исходный текст называется также исходной программой или исходным модулем, а результат компиляции – объектным кодом или объектным модулем. Если же трансляции подвергаются отдельные операторы исходных текстов и при этом полученные коды сразу выполняются, такая трансляция называется интерпретацией. Поскольку трансляция выполняется специальными программными средствами (трансляторами), последние носят название компилятора или интерпретатора, соответственно.

Программа-компилятор работает как литературный переводчик. Сначала компилятор несколько раз внимательно просматривает исходный код, потом обращается к необходимым справочникам (они называются библиотеками), после чего выдает готовую программу — ее называют исполнимым кодом или рабочим кодом. Исполнимый код всегда Машино-зависим. Его можно запускать только на компьютерах тех систем, на которые был рассчитан компилятор. Чтобы программа могла работать на компьютерах других систем, ее надо перекомпилировать из исходного кода другими компиляторами, рассчитанными на эти системы.

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

 

еще рефераты
Еще работы по информатике