Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП часть 1.doc
Скачиваний:
15
Добавлен:
22.02.2015
Размер:
187.9 Кб
Скачать

4. Трансляция программ. Виды трансляторов. Типы ошибок в программах. Компиляция и отладка программ.

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

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

Транслятор - в узком смысле - программа, преобразующая: программу, написанную на одном (входном) языке в программу, представленную на другом (выходном) языке.

Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.

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

Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком илиобъектным кодом.

Трансляторы подразделяют:

  • Адресный. Функциональное устройство, преобразующее виртуальный адрес(англ.Virtual address) в реальный адрес.

  • Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени.

  • Многопроходной. Формирует объектный модульза несколько просмотров исходной программы.

  • Обратный. То же, что детранслятор.

  • Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.

  • Оптимизирующий. Выполняет оптимизациюкода в создаваемом объектном модуле.

  • Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксисаисемантикиязыка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.

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

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

Типы ошибок в программах:

  1. ошибки компиляции.Среда Турбо-Паскаля обладает мощными средствами обнаружения и локализации ошибок. В случае обнаружения ошибки она идентифицируется курсором. При этом в верхней строке окна редактора появляется диагностическое сообщение. После нажатия на любую клавишу, кроме(F1) верхняя строка восстанавливает свой первоначальный вид, и среда переходит к режиму редактирования. Если после появления сообщения об ошибке нажать функциональную клавишу F1, на экране появиться окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора.

  2. ошибки, возникающие во время выполнения программы. Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида: Runtime error nnn at xxxx:yyyy (ошибка периода исполнения nnn по адресу xxxx:yyyy), где nnn- номер ошибки, xxxx:yyyy- адрес (сегмент и смещение). После этого сообщения программа завершает свою работу. Ошибки периода исполнения делятся на четыре категории: 1) Ошибки, обнаруживаемые ДОС (коды ошибок 1-99); 2) Ошибки ввода\вывода (100-149); 3) Критические ошибки (150-199); 4) Фатальные ошибки (200-255);

  3. ошибки, обнаруживаемые ДОС (например, File not found (Не найден файл) и Path not found (Путь не найден)).

  4. критические ошибки (например, Disk is write protected (Диск защищен от записи)).

  5. фатальные ошибки. Эти ошибки всегда приводят к немедленной остановке программы(например, Division by zero (Деление на нуль))

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]