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

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы.

Трансля́ция програ́ммы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати текст программы и т. д.

пример

Преобразующая pascal-код в C-код

Реализации

Цель трансляции — преобразование текста с одного языка на язык, понятный адресату. При трансляции компьютерной программы адресатом может быть:

· устройство — процессор (трансляция называется компиляцией);

· программа — интерпретатор (трансляция называется интерпретацией).

Виды трансляции:

· компиляция;

· интерпретация;

· динамическая компиляция.

Компиляция

Язык процессора (устройства, машины) называется машинным языком, машинным кодом. Код на машинном языке исполняется процессором. Обычно, машинный язык — язык низкого уровня, но существуют процессоры, использующие языки

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

Процесс компиляции, как правило, состоит из нескольких этапов:

· лексический анализ;

· синтаксический анализ;

· семантический анализ;

· создание на основе результатов анализов промежуточного кода;

· оптимизация промежуточного кода;

· создание объектного кода, в данном случае машинного.

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

Пример

паскаль

Ассемблер — компилятор, преобразующий текст с языка ассемблера на машинный язык. Язык ассемблера — язык, близкий к машинному языку, язык низкого уровня.

Интерпретация

Интерпретация — процесс чтения и выполнения исходного кода. Реализуется программой — интерпретатором.

Интерпретатор может работать двумя способами:

1. читать код и исполнять его сразу (чистая интерпретация[6]);

2. читать код, создавать в памяти промежуточное представление кода (байт-код или p-код), выполнять промежуточное представление кода (смешанная реализация).

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

Этапы работы интерпретатора:

· лексический анализ;

· синтаксический анализ;

· семантический анализ;

· создание промежуточного представления кода (при чистой интерпретации не выполняется);

· исполнение.

Интерпретатор моделирует машину (виртуальную машину), реализует цикл выборки-исполнения команд машины. Команды машины записываются не на машинном языке, а на языке высокого уровня. Интерпретатор можно назвать исполнителем языка виртуальной машины.

Чистая интерпретация применяется, обычно, для языков с простой структурой, например, языков сценариев, языков АПЛ и Лисп.

Примеры интерпретаторов, создающих байт-код: Perl, PHP, Python, Erlang.джава скрипт

Архитектура компьютера

Основным элементом материнская плата. На ней разведены линии связи (шины) между всеми (и друг с другом) посредством разъемов и портов. Не существует универсальных материнских плат, так как каждая из них предназначена для работы с совершенно определенным классом процессоров.

Центральный процессор – вычислительное ядро всего компьютера. Представлен крупной микросхемой с миллиардами транзисторов внутри, формирующими функциональные блоки. Любая запущенная на выполнение программа незаметно для пользователя преобразуется (интерпретируется) в машинный код и исполняется именно на центральном процессоре. Архитектура компьютера во многом определяется типом CPU.

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

Постоянная заводские

кэш быстродействующая память помогает озу для кратковременного хранение
внешняя память .

Кроме внутренних комплектующих, существует огромное количество внешних устройств. Лишь благодаря им удается обеспечивать взаимодействие человека и машины. Например, монитор, мышка, клавиатура, тачскрин, а также сканер, принтер и т.д. – все это внешние устройства, без которых компьютер оставался бы простым металлическим ящиком, вещью в себе.

Наши рекомендации