Компиляторы и интерпретаторы
С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы).
Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно.
Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код.
Основной недостаток компиляторов — трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, часто заранее неизвестной или динамически меняющейся во время работы программы.
С помощью интерпретатора, наоборот, допустимо в любой момент остановить работу программы, исследовать содержимое памяти, организовать диалог с пользователем, выполнить сколь угодно сложные преобразования данных и при этом постоянно контролировать состояние окружающей программно-аппаратной среды, благодаря чему достигается высокая надежность работы.
В реальных системах программирования перемешаны технологии и компиляции, и интерпретации.
-
Yandex.RTB R-A-252273-3
Содержание
- Информатизация общества
- Роль и значение информационных революций
- Что такое информационное общество?
- Процесс информатизации общества
- Информационная культура
- Информационные ресурсы
- Информационные продукты и услуги
- Контрольные вопросы по теме «Информатизация общества»
- Информатика — предмет и задачи
- Появление и развитие информатики
- Структура информатики
- Контрольные вопросы по теме «Информатика ‑ предметы и задачи»
- Информация в материальном мире
- Сигналы и данные
- Данные и методы
- Понятие об информации
- Диалектическое единство данных и методов в информационном процессе
- Свойства информации
- Носители данных
- Операции с данными
- Кодирование данных двоичным кодом
- Кодирование текстовых данных
- Универсальная система кодирования текстовых данных
- Единицы измерения данных
- Единицы хранения данных
- Понятие о файловой структуре
- Контрольные вопросы по теме «Информация в материальном мире»
- Информационные системы
- Понятие информационной системы
- Этапы развития информационных систем
- Процессы в информационной системе
- Структура информационной системы
- Классификация информационных систем по функциональному признаку
- Контрольные вопросы по теме «Информационные системы»
- Информационные технологии
- Понятие информационной технологии
- Этапы развития информационных технологий
- Виды информационных технологий
- Контрольные вопросы по теме «Информационные технологии»
- Устройство персонального компьютера
- Системный блок
- Монитор
- Клавиатура
- Внутренние устройства системного блока
- Материнская плата
- Жесткий диск
- Дисковод гибких дисков
- Дисковод компакт-дисков cd-rom
- Периферийные устройства персонального компьютера
- Устройства ввода знаковых данных
- Устройства вывода данных
- Устройства хранения данных
- Устройства обмена данными
- Операционные системы
- Контрольные вопросы по теме «Устройство персонального компьютера»
- Основы программирования
- Алгоритм и программа
- Что такое язык программирования
- Компиляторы и интерпретаторы
- Уровни языков программирования
- Поколения языков программирования
- Обзор языков программирования высокого уровня
- Прочие языки программирования
- Средства создания программ
- Контрольные вопросы по теме «Основы программирования»
- Компьютерная графика
- Виды компьютерной графики
- Растровая графика
- Векторная графика
- Фрактальная графика
- Представление графических данных
- Средства для работы с растровой графикой
- Классификация баз данных
- Функциональные возможности субд
- Обзор субд
- Характеристики субд:
- Контрольные вопросы по теме «Базы данных»
- Компьютерные сети
- Локальные и глобальные сети. Основные понятия
- Протоколы компьютерной сети
- Контрольные вопросы по теме «Компьютерные сети»
- Интернет. Основные понятия
- Теоретические основы Интернета
- Службы Интернета
- Терминальный режим
- Электронная почта (e-Mail)
- Списки рассылки (Mail list)
- Служба телеконференций (Usenet)
- Служба World Wide Web (www)
- Служба irc
- Служба icq
- Поиск в Интернете
- Всемирные поисковые машины
- Русскоязычные поисковые системы
- Сложный поиск в Интернет
- Контрольные вопросы по теме «Интернет. Основные понятия»
- Защита информации
- Компьютерные вирусы и их классификация
- Средства защиты от вирусов
- Разработка политики информационной безопасности
- Технические, организационные и программные средства обеспечения сохранности и защиты от несанкционированного доступа
- 2. Защита пароля.
- 4. Предосторожности при работе.
- Защита носителей информации (исходных документов, лент, картриджей, дисков, распечаток).
- Контрольные вопросы по теме «Защита информации»
- Список литературы по информатике