О языках программирования и трансляторах

Раздел Информатика
Класс 8 класс
Тип Конспекты
Автор
Дата
Формат doc
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

О языках программирования и трансляторах.

Для программирования на современных ЭВМ применяются системы программирования (СП). Они предназначены для создания программ управления компьютером.

«Родным» языком ЭВМ является язык машинных команд. В программах на таких языках данные обозначаются их адресами в памяти машины, а выполняемые операции - числовыми кодами.

Системы программирования позволяют исполнять на ЭВМ программы, написанные на языках более высокого уровня, чем язык машинных команд. Что понимается под уровнем языка? Уровень связан со степенью его удаленности от языка процессора ЭВМ и приближенности к естественному человеческому языку. Чем выше уровень, тем дальше от ЭВМ и ближе к человеку.

Язык машинных команд - это язык самого низкого уровня. Первые языки программирования, отличные от ЯМК, появились на машинах первого поколения и назывались они Автокодами. Автокоды стали называть Ассемблерами. В наше время на Ассемблере программируют довольно редко. Это, как правило, делают системные программисты.

Сегодня большинство программистов работают на языках программирования высокого уровня Паскаль, Бейсик, СИ, Фортран.

Вот пример записи одной и той же команды сложения двух чисел на трех языках разного уровня: ЯМК, Автокоде и Паскаль:

С:=А+В Паскаль

ADD A, B, c Автокод

01 24 28 2C ЯМК

Видно, как с повышением уровня языка повышается «понятность» команды (по-английски слово ADD означает «сложить»).

Как сделать так, чтобы человек мог писать программы на Автокоде или Паскале, а компьютер мог исполнить эти программы? Ответ на поставленный вопрос такой же, как ответ на вопрос: «Как мне общаться с японцем, если я не знаю японского языка?. Нужен переводчик! По-английски переводчик - translator.

Таким образом, компьютер сам производит перевод под управлением программы - транслятора. Процесс перевода программы на язык машинных команд называется трансляцией.

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

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

Язык программирования, с которым работает СП, называется ее входным языком. Системы программирования именуются по названию своего входного языка. Например: «Система Бейсик», «Система Паскаль», «Система Фортран». Иногда в название систем включаются префиксы, обозначающие, например, ее фирменное происхождение. Очень популярны системы с приставкой «Турбо»: Турбо-Паскаль, Турбо-Си, и др. Это системы программирования, разработанные фирмой Borland.

О двух способах трансляции.

Существует два принципиально различных метода трансляции. Они называются «компиляция» и «интерпретация».

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

  1. полный предварительный перевод: лектор заранее передает текст выступления переводчику, тот записывает перевод, размножает его и раздает слушателям (после этого лектор может уже и не выступать).

  2. синхронный перевод: лектор читает доклад, переводчик одновременно с ним, слово за словом, переводит выступление.

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

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

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

Один раз откомпилированная программа может быть сохранена в памяти, и затем многократно выполняться.

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

2

© 2010-2022