- •4. Трансляция программ. Виды трансляторов. Типы ошибок в программах. Компиляция и отладка программ.
- •5. Синтаксис языка Pascal. Алфавит, комментарии, идентификаторы, константы, служебные слова.
- •6. Свойства данных. Основные (простые) типы данных. Объявление, инициализация данных. Внутренние и внешние данные.
- •7. Pascal. Организация процедур и функций Формальные и фактические аргументы. Вызов процедур и функций.
- •8. Способы описания и передачи параметров процедур и функций.
- •Var var
4. Трансляция программ. Виды трансляторов. Типы ошибок в программах. Компиляция и отладка программ.
Трансля́тор — программаили техническое средство, выполняющее трансляцию программы.
Транслятор - в широком смысле - программа, преобразующая текст, написанный на одном языке, в текст на другом языке.
Транслятор - в узком смысле - программа, преобразующая: программу, написанную на одном (входном) языке в программу, представленную на другом (выходном) языке.
Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.
Трансляция программы— преобразование программы, представленной на одном изязыков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.
Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком илиобъектным кодом.
Трансляторы подразделяют:
Адресный. Функциональное устройство, преобразующее виртуальный адрес(англ.Virtual address) в реальный адрес.
Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени.
Многопроходной. Формирует объектный модульза несколько просмотров исходной программы.
Обратный. То же, что детранслятор.
Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.
Оптимизирующий. Выполняет оптимизациюкода в создаваемом объектном модуле.
Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксисаисемантикиязыка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.
Тестовый. Набор макрокомандязыка ассемблера, позволяющих задавать различныеотладочныепроцедурыв программах, составленных на языке ассемблера.
Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется компилятором.
Типы ошибок в программах:
ошибки компиляции.Среда Турбо-Паскаля обладает мощными средствами обнаружения и локализации ошибок. В случае обнаружения ошибки она идентифицируется курсором. При этом в верхней строке окна редактора появляется диагностическое сообщение. После нажатия на любую клавишу, кроме(F1) верхняя строка восстанавливает свой первоначальный вид, и среда переходит к режиму редактирования. Если после появления сообщения об ошибке нажать функциональную клавишу F1, на экране появиться окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора.
ошибки, возникающие во время выполнения программы. Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида: Runtime error nnn at xxxx:yyyy (ошибка периода исполнения nnn по адресу xxxx:yyyy), где nnn- номер ошибки, xxxx:yyyy- адрес (сегмент и смещение). После этого сообщения программа завершает свою работу. Ошибки периода исполнения делятся на четыре категории: 1) Ошибки, обнаруживаемые ДОС (коды ошибок 1-99); 2) Ошибки ввода\вывода (100-149); 3) Критические ошибки (150-199); 4) Фатальные ошибки (200-255);
ошибки, обнаруживаемые ДОС (например, File not found (Не найден файл) и Path not found (Путь не найден)).
критические ошибки (например, Disk is write protected (Диск защищен от записи)).
фатальные ошибки. Эти ошибки всегда приводят к немедленной остановке программы(например, Division by zero (Деление на нуль))