Определение компилятора, интерпретатора и транслятора. Изучение классификации языков программирования и различных компиляторов для языка программирования Basic. Характеристика соотношения классов языков программирования и программных интерпретаторов.
Система исполнения программ в операционной системеОна преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. В программы на машинном языке , транслирующая программа должна за миллисекунды выполнять большую работу, связанную с программированием: организация подпрограмм, выделение памяти компьютера, преобразование команд высокого уровня в машинные команды. В отличие от построчной интерпретации текста, применяемой в «Кратком коде», компилятор Хоппер вначале целиком преобразовывал всю программу, записанную на языке высокого уровня, в машинный код.Различные компиляторы для одного языка программирования (на примере языка Basic в виде таблицы) Тип генерируемого кода Native Native Bytecode Bytecode Native Bytecode Native Сигнатура создаваемого PE файла PE COFF PE COFF PE Corrupted PE COFF PE COFF PE Corrupted PE COFF Скорость компиляции Высокая Низкая, двухпроходной компилятор Высокая Высокая Низкая Низкая Высокая Скорость работы скомпилированного кода Высокая Высокая Средняя Низкая Высокая Средняя Высокая Оптимизация кода компилятором Есть Нет Нет Нет Есть Нет Есть Поддержка COM automation Есть, только "раннее" связывание Нет Есть, только "позднее" связывение Нет Нет Есть, можно использовать ACTIVEX НетПростой интерпретатор анализирует и тут же выполняет (собственно интерпретация) программу покомандно (или построчно), по мере поступления ее исходного кода на вход интерпретатора. Интерпретатор компилирующего типа - это система из компилятора , переводящего исходный код программы в промежуточное представление, например, в байт-код или р-код , и собственно интерпретатора, который выполняет полученный промежуточный код (так называемая виртуальная машина ). Причем исходный код для такого интерпретатора не обязательно должен иметь текстовый формат или быть байт-кодом, который понимает только данный интерпретатор, это может быть машинный код какой-то существующей аппаратной платформы. В таком режиме интерпретатор считывает законченную конструкцию языка (например, s-expression в языке Lisp), выполняет ее, печатает результаты, после чего переходит к ожиданию ввода пользователем следующей конструкции. Уникальным является язык Forth , который способен работать как в режиме интерпретации, так и компиляции входных данных, позволяя переключаться между этими режимами в произвольный момент, как во время трансляции исходного кода, так и во время работы программ.Так, де-факто признано, что в настоящий момент все компиляторы Паскаля должны быть совместимы по синтаксису и набору системных библиотек с версией Borland Pascal 7.0. Delphi версии 1.0 предназначена для разработки приложений под Windows 3.x, хотя есть и недокументированная возможность заставить ее компилировать программы для платформ DOS real mode и DOS 16-bit Protected Mode (как и Borland Pascal). Delphi 1.0, как и все версии Turbo Pascal и Borland Pascal, является 16-битным компилятором, а это значит ограничения на объем памяти, используемой приложением, наличие сложностей при работе с большими массивами памяти (например, работа с изображениями) и другие ограничения, характерные для 16-битных приложений. Да и сам язык Object Pascal в каждой новой версии Delphi обзаводится новыми интересными возможностями. невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.В данной курсовой работе рассмотрены следующие вопросы: даны определения компилятора, интерпретатора, транслятора, дан краткий исторический обзор. Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать ее (если конечно вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста.
План
Содержание
Введение
Глава 1. Подсистема исполнения программ в операционной системе
1.1.Различные компиляторы для одного языка программирования (на примере языка Basic в виде таблицы)