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

Автор работы: Пользователь скрыл имя, 30 Января 2011 в 10:35, реферат

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

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

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

Введение……………………………………………………..……………………3

1) Языки программирования для микроконтроллеров……..………………….5

2) Виды компиляторов………………………………………..………………….9

3) Компиляторы и интерпретаторы……………………………...……………..15

4) Командный интерпретатор…………………………………………...………18

Заключение……………………………………………………………….………25

Список использованной литературы………………………………...…………27

Файлы: 1 файл

РЕФЕРАТ!!!!.doc

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

      Отличительной особенностью программ интерпретаторов, являются две буквы sh, в конце  их имени (от англ. shell — оболочка, командный интерпретатор). Как работает командный интерпретатор?

      Интерпретатор большую часть времени проводит, ожидая команды пользователя. При  этом он выводит на экран приглашение, напоминающее это:

   [user@host dir]

      По  умолчанию приглашение содержит информацию об имени пользователя, имени компьютера и текущем каталоге. Завершающим символом является $ или # в зависимости от того, обладает ли пользователь, от имени которого запущен интерпретатор, привилегиями суперпользователя (#) или нет ($).

      Формат  приглашения можно настроить  при помощи переменной командного интерпретатора PS1

      После того как пользователь ввёл команду, командный интерпретатор анализирует  ее и выполняет соответствующие  действия. Если команда является именем внешней программы, управление передается ей. Если это наименование внутренней команды интерпретатора, он сам знает что делать — выполняются действия соответствующие введенной команде. После того как команда выполнена, управление возвращается назад интерпретатору.

      Команда может выполняться в фоновом режиме. Для этого после ее названия нужно поставить символ & амперсанд. В этом случае, управление сразу же возвращается интерпретатору, команда при этом продолжает выполняется. При ее завершении на экран будет выдано информационное сообщение об этом

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

  • Файловые шаблоны. Специальные метасимволы, необходимые для описания групп файлов;
  • Перенаправление. Механизм, обеспечивающий взаимодействие несвязанных между собой программ: данные, поступающие с выхода одной программы попадают на вход другой.
  • Переменные интерпретатора. Командный интерпретатор использует переменные как временное хранилище данных, необходимое ему для нормальной работы: например, переменные могут использоваться в скриптах интерпретатора или для передачи настроек. Переменные также обеспечивают удобный доступ к среде окружения программ.
  • Скриптинг. Команды могут не вводится пользователем в интерактивном режиме, а считываться из заранее подготовленного файла. Это облегчает многократное исполнение одинаковых или схожих между собой действий. Интерпретаторы развивают эту идею, позволяя обрабатывать не просто последовательность подряд идущих команд, а целые сценарии, содержащие конструкции алгоритмических языков программирования: циклы, ветвления, функции.

Ввод командной строки

      Командный интерпретатор bash делает редактирование командной строки предельно эффективным. Ввод строки осуществляется быстро и  точно. Для выполнения этих требований bash обладает несколькими особенностями:

  • Мощный и гибко настраиваемый интерфейс редактирования командной строки;
  • История команд;
  • Автопродолжение.

Редактирование

      Командный интерпретатор bash предоставляет очень  богатый интерфейс для ввода  и редактирования командной строки. Интерфейс в значительной мере повторяет  интерфейсы таких текстовых редакторов как vi и emacs. Поддерживаются команды быстрого перемещения, удаления, вставки, управления историей, автозавершения, макрокоманды и многие другие.

Перечисленные привязки к клавишам не являются жесткими. Интерфейс может быть гибко настроен с помощью библиотеки GNU readline. Интерпретатор bash поддерживает более сотни встроенных команд, облегчающих редактирование

История команд

      Все команды, введенные пользователем  в интерпретаторе bash, сохраняются. Перечень ранее введенных команд называется историей. После того как нажимается клавиша Enter, команда записывается в историю. Если при этом размер списка истории слишком велик (максимальный размер определяется переменной HISTSIZE), первая команда из него удаляется. При завершении работы bash история сохраняется в файле, а в начале его работы — восстанавливается.

      Если  команда раньше была введена, ее можно  не вводить полностью, а просто выбрать  из списка истории. Наиболее простые  команды для передвижения по списку истории: клавиши вверх и вниз для перехода соответственно к предыдущему и следующему элементу истории. [Предостережение] Предостережение

Первая  команда это первая команда в  списке истории, т.е. первая введенная  команда. Последняя — последняя  команда в списке, последняя введенная  команда.

Комбинации  клавиш для управления историей.

вверх

    Извлечь предыдущую команду из списка истории  и передвинуться на одну команду  назад 

вниз

    Извлечь следующую команду из списка истории  и передвинуться на одну команду  вперед

Page Up

    Перейти к началу списка истории и извлечь первую введенную команду

Page Down

    Перейти к концу списка истории, т.е. к  строке, которая сейчас редактируется 

Ctrl-r

    Обратный  поиск в истории. Просматриваются  все строки, начиная с последней, и сравниваются с искомым текстом

Ctrl-s

    Прямой  поиск в истории. Просматриваются  все строки, начиная с первой, и сравниваются с искомым текстом 

Meta-Ctrl-y

    Вставить  первый аргумент последней введенной  команды (второе слово в строке)

Meta-.

    Вставить  последний аргумент последней введенной команды (последней слово в строке)

Ctrl-o

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

Автопродолжение

      Автопродолжение (автодополнение, автозавершение — англ. autocompletion) является чрезвычайно удобной способностью bash. После того как набраны первые символы имени, нажатие клавиши Tab заставляет bash показать возможные варианты окончания набранного слова. Если вариант только один, bash использует его и автоматически завершает слово. Если вариантов несколько, bash выводит их все на экран. Если вариантов слишком много, bash предварительно спросит, стоит ли выводить их все? Наконец, если варианты завершения слова отсутствуют, bash издаст звуковой сигнал. Это хороший повод подумать о том, что при наборе слова, вероятно, уже допущена ошибка.

      По  умолчанию bash автопродолжает названия команд, имена файлов, а при использовании  в начале имени специальных символов еще и имена пользователей (~), название хостов (@) и имена переменных ($).

      Для автопродолжения имени команды bash просматривает названия встроенных команд и предопределенных алиасов, если совпадений не найдено — имена  всех файлов в каталогах с исполняемыми файлами. Кандидатами на завершение считаются имена всех исполняемых файлов, которые начинаются также как и вводимое имя.  
 

 

Заключение 

      Изобретение языка программирования высшего  уровня позволило нам общаться с  машиной, понимать её (если конечно  Вам знаком используемый язык), как  понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ.  Поверьте мне это не сарказм вы только посмотрите  как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования "высочайшего" уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где нибудь в Запорожье, Амстердаме, Токио или Иерусалиме, перед стареньким 133MHz горбится молодой, никем не признанный специалист и разрабатывает новейшую систему  искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.

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

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

Единственный способ изучать новый язык программирования – писать на нём программы. 

                                            Брайэн Керниган 

 

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

  1. В.Ю. Демьяненко. Программные средства создания и ведения баз данных. –М.: Финансы и статистика, 1984.
  2. В.А. Мясников, С.А. Майоров, Г.И. Новиков. ЭВМ для всех. –М.: Знание, 1985.
  3. А.Г. Гейн. Основы информатики и вычислительной техники. –М.: Просвещение, 1997.
  4. В.Ф. Ляхович. Основы информатики. –Ростов-на-Дону: Феникс, 1996.
  5. Вычислительная техника и программирование / Под ред. А.В. Петрова –М.: Высш. шк., 1990.
  6. Информатика: Базовый курс / С.В. Симонович и др. – СПб.: Питер, 1999.
 

 

Тесты: 

1) Прогресс компьютерных  технологий определил процесс  появления: 

а) вычислительных формул

б) знаковых систем

в) новых алгоритмов

г) языки программирования 

2) Существуют два основных вида трансляторов: интерпритаторы и .. ? 

а) микропроцессоры

б) детранслятор

в) декомпилятор

г) компиляторы 

3) Как называются языки программирования «низкого уровня»? 

а) С + +

б) С

в) ассемблерами

г) PLMO 

4) Во что преобразуется исходный текст программы при использовании компиляторов? 

а) в машинные коды

б) в исходный текст интерпретаторов

в) в исходный код

г) остается прежним 

5) Назовите виды компиляторов? 

а) оценочные и профессиональные

б) оценочные и готовые

в) только профессиональный

г) только оценочный 

6) В языке SIMPLE существуют несколько обязательных видов лексем, назовите их? 

а) ключевые слова, числа, символы.

б) ключевые слова, идентификаторы, числа, спецсимволы и нечто в квадратных скобках

в) идентификаторы и спецсимволы и числа

г) числа, ключевые слова, нечто в скобках. 

7) С помощью интерпретатора допустимо в любой момент…? 

а) закрыть программу

б) возобновить программу

в) удалить программу

г) остановить программу 

8) Задачи администрирования системы обычно решаются в … режиме? 

а) текстовом

б) числовом

в) кодовом

г) фоновом 

9) Формат приглашения можно настроить при помощи переменной командного… ? 

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