Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Компилятор. Интерпретатор. Компоновщик.



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

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

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

Виды компиляторов

Векторизующий. Транслирует исходный код в машинный код компьютеров, оснащённых векторным процессором.

Гибкий. Сконструирован по модульному принципу, управляется таблицами и запрограммирован на языке высокого уровняили реализован с помощью компилятора компиляторов.

Диалоговый. См.: диалоговый транслятор.

Инкрементальный. Повторно транслирует фрагменты программы и дополнения к ней без перекомпиляции всей программы.

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

Компилятор компиляторов . Транслятор, воспринимающий формальное описание языка программирования и генерирующий компилятор для этого языка.

Отладочный. Устраняет отдельные виды синтаксических ошибок.

Резидентный. Постоянно находится в оперативной памяти и доступен для повторного использования многими задачами.

Самокомпилируемый. Написан на том же языке, с которого осуществляется трансляция.

Универсальный. Основан на формальном описании синтаксиса и семантики входного языка. Составными частями такого компилятора являются: ядро, синтаксический и семантический загрузчики.

Интерпретатор — программа (разновидность транслятора) или аппаратное средство, выполняющее интерпретацию.

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

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

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

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

Компоновщик (также реда́ктор свя́зей, линкер — от англ. link editor, linker) — программа, которая производит компоновку: принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль.

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

Определённые или экспортируемые имена — функции и переменные, определённые в данном модуле и предоставляемые для использования другим модулям;

Неопределённые или импортируемые имена — функции и переменные, на которые ссылается модуль, но не определяет их внутри себя.

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

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

4.Основные операторы языка программирования языков Basic и С (присваивания, логический и цикла).

Бейсик (Basic) - диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие версии Basic: GWBasic, QBasic 4.5, Turbo Basic для DOS, Visual Basic 3.0-6.0 для Windows. Здесь мы рассмотрим QBasic 4.5. QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.

Бейсик - язык программирования, т.е. средство для записи алгоритма решения задачи в виде, понятном для ЭВМ.
Любая ЭВМ обрабатывает информацию по программе.
Программой называется алгоритм, записанный на языке программирования. Существуют различные языки программирования, и каждый из них предназначен для определенного круга задач.
Для решения вычислительных задач используются операторные языки программирования. К таким языкам относятся: Fortran, Paskal, Basic и др.

Оператор — это конструкция языка Си, которая вызывает выполнение действия.

В языке программирования Си существуют следующие операторы :

· простые операторы

· блоки операторов (блоки, составные операторы)

· управляющие операторы

Простой оператор или оператор-выражение — это выражение, заканчивающееся символом ; (точка с запятой).

Специальным случаем простого оператора является пустой оператор, который ничего не делает. Пустой операторсостоит из единственного символа ; (точка с запятой). Он используется в тех случаях, когда синтаксис языка требует наличия оператора там, где не требуется никаких действий.

Блок операторов (блок, составной оператор) — это последовательность операторов, заключенная в фигурные скобки{}.

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

"Тело" функции также представляет собой блок операторов.

Управляющие операторы — операторы языка Си, реализующие ветвления алгоритма, циклы и передачу управления.

Все управляющие операторы начинаются с ключевого слова, такого как: if, while, for и т.д.


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 246; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь