Компиляция и интерпретация

Автор работы: Пользователь скрыл имя, 16 Февраля 2013 в 11:44, контрольная работа

Описание работы

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

Содержание работы

Введение 3стр.
Компиляция и интерпретация 4стр.
Заключение 7стр.
Список литературы 8стр.

Файлы: 1 файл

контр. работаOpenDocument (2).docx

— 9.59 Кб (Скачать файл)

Содержание

 

Введение                                                                                                              3стр.

Компиляция и  интерпретация                                                                       4стр.

Заключение                                                                                                         7стр.

Список литературы                                                                                            8стр.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Большая часть работы программистов  связана с написанием исходного  кода, тестированием и отладкой программ на одном из языков программирования. Различные языки программирования поддерживают различные стили программирования. Единственный язык, напрямую выполняемый  процессором — это машинный язык (также называемый машинным кодом). Изначально все программисты прорабатывали программы в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого программисты пишут исходный код на языке программирования высокого уровня, и компьютер (используя компилятор, интерпретатор или ассемблер) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Запись исходных текстов программ при помощи языков программирования облегчает понимание и редактирование человеком. Этому, в частности, помогают комментарии, допустимые в синтаксисе большинства языков. Для выполнения на компьютере готовый текст программы преобразуется (компилируется) в машинный код. Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется динамической компиляцией, и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.

 

 

 

 

 

 

 Компиляция и интерпретация

 

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

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

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

Компиляция — преобразование программой-компилятором исходного текста программы, написанного на языке высокого уровня в машинный язык, в язык, близкий к машинному, или в объектный модуль. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика.

Компилятор читает всю программу  целиком, делает ее перевод и создает  законченный вариант программы  на машинном языке, который затем  и выполняется.

Виды компиляции:

· Пакетная. Компиляция нескольких исходных модулей в одном пункте задания.

· Построчная. То же, что и интерпретация.

· Условная. Компиляция, при которой транслируемый текст зависит от условий, заданных в исходной программе. Так, в зависимости от значения некоторой константы, можно включать или выключать трансляцию части текста программы.

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

Типы интерпретаторов:

Простой интерпретатор анализирует и тут же выполняет (собственно интерпретация)программу покомандно (или построчно), по мере поступления её исходного кода на вход интерпретатора. Его достоинство - мгновенная реакция. Недостаток — такой интерпретатор обнаруживает ошибки в тексте программы только при попытке выполнения команды (или строки) с ошибкой.

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

 

Алгоритм работы простого интерпретатора:

1. прочитать инструкцию;

2. проанализировать инструкцию  и определить соответствующие  действия;

3. выполнить соответствующие действия;

4. если не достигнуто условие  завершения программы, прочитать  следующую инструкцию и перейти  к пункту 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

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

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

 

 

 

 

 

 

 

 

Список литературы

 

1. Каймин В.А. Информатика: Учебник. - М.: ИНФРА-М, 2000. – 232 с.

2. Могилев А.В. И др. Информатика: учеб. Пос. Для вузов. - 7-е изд., стер. - М.:            Академия,2009

3. Степанов А.Н. Информатика: Учебник для вузов 6-е изд. – СПб.: Питер,

2010 – 720 с.

4. Симонович С.В. Информатика. Базовый курс. 2-е изд. - СПб.: Питер,

2004. — 640 с.

5. Цветкова А.В. Информатика и информационные технологии: конспект лекций.  -М.: Эксмо,2008

 

 

 

 

 

 

 

 

 

 

 


Информация о работе Компиляция и интерпретация