Среда Турбо Паскаля дает исчерпывающую информацию о характере и месте обнаруженной компилятором ошибки. При обнаружении ошибки среда автоматически загружает в окно редактора исходный файл и помещает курсор около того места, где в исходном тексте обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение. После нажатия на любую клавишу (кроме F1) верхняя строка восстанавливает свой первоначальный вид, и среда переходит к режиму редактирования. Если после появления сообщения об ошибке нажать F1, на экране появится окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора. Например, несоответствие типов в операторе присваивания не может быть обнаружено до тех пор, пока не будет вычислено целиком выражение в правой части этого оператора. В таких случаях ищите ошибку слева от курсора или в предыдущей строке текста. Ниже приводятся сообщения об ошибках в том виде, в каком они появляются в верхней строке редактора, а также перевод сообщений справочной службы.
№ ошибки
| Название
|
| Out of memory (Выход за границы памяти).
|
| Identifier expected (Не указан идентификатор).
|
| Unknown identifier (Неизвестный идентификатор).
|
| Duplicate identifier (Двойной идентификатор).
|
| Syntax error (Синтаксическая ошибка).
|
| Error in real constant (Ошибка в вещественной константе).
|
| Error in integer constant (Ошибка в целой константе).
|
| String constant exceeds line (Строковая константа превышает допустимые размеры).
|
| Too many nested files (Слишком много вложенных файлов).
|
| Unexpected end of file (He найден конец файла).
|
| Line too long (Слишком длинная строка)
|
| Type identifier expected (Здесь нужен идентификатор типа).
|
| Too many open files (Слишком много открытых файлов).
|
| Invalid file name (Неверное имя файла).
|
| File not found (Файл не найден).
|
| Disk full (Диск заполнен).
|
| Invalid compiler directive (Неправильная директива компилятора).
|
| Too many files (Слишком много файлов).
|
| Undefined type in pointer definition (Неопределенный тип в объявлении указателя).
|
| Variable identifier expected (Отсутствует идентификатор переменной).
|
| Error in type (Ошибка в объявлении типа).
|
| Structure too large (Слишком большая структура).
|
| Set base type of range (Базовый тип множества нарушает границы).
|
| File components may not be files (Компонентами файла не могут быть файлы) .
|
| Invalid string length (Неверная длина строки).
|
| Type mismatch (Несоответствие типов).
|
| Invalid subrange base type (Неправильный базовый тип для типа-диапазона).
|
| Lower bound greater than upper bound (Нижняя граница больше верхней).
|
| Ordinal type expected (Нужен порядковый тип).
|
| Integer constant expected (Нужна целая константа).
|
| Constant expected (Нужна константа).
|
| Integer or real constant expected (Нужна целая или вещественная константа) .
|
| Type identifier expected (Нужен идентификатор типа)
|
| Invalid function result type (Неправильный тип результата функции)
|
| Label identifier expected (Нужен идентификатор метки).
|
| BEGIN expected (Нужен BEGIN).
|
| END expected (Нужен END).
|
| Integer expression expected (Нужно выражение типа INTEGER).
|
| Ordinal expression expected (Нужно выражение перечисляемого типа).
|
| Boolean expression expected (Нужно выражение типа BOOLEAN).
|
| Operand types do not match operator (Типы операндов не соответствуют операции).
|
| Error in expression (Ошибка в выражении).
|
| Illegal assignment (Неверное присваивание).
|
| Field identifier expected (Нужен идентификатор поля) .
|
| Object file too large (Объектный файл слишком большой).
|
| Undefined external (Неопределенная внешняя процедура).
|
| Invalid object file record (Неправильная запись объектного файла).
|
| Code segment too large (Сегмент кода слишком большой).
|
| Data segment too large (Сегмент данных слишком велик).
|
| DO expected (Нужен оператор DO).
|
| Invalid PUBLIC definition (Неверное PUBLIC-определение).
|
| Invalid EXTRN definition (Неправильное EXTRN-определение).
|
| Too many EXTRN definition (Слишком много EXTRN-определений).
|
| OF expected (Требуется OF).
|
| INTERFACE expected (Требуется интерфейсная секция).
|
| Invalid relocatable reference (Неправильная перемещаемая ссылка).
|
| THEN expected (Требуется THEN).
|
| TO or DOWNTO expected (Требуется TO или DOWNTO).
|
| Undefined forward (Неопределенное опережающее описание).
|
| Too many procedures (Слишком много процедур).
|
| Invalid typecast (Неверное преобразование типа).
|
| Division by zero (Деление на ноль).
|
| Invalid file type (Неверный файловый тип).
|
| Cannot Read or Write variables of this type (Нет возможности считать или записать переменные данного типа).
|
| Pointer variable expected (Нужно использовать переменную-указатель).
|
| String variable expected (Нужна строковая переменная).
|
| String expression expected (Нужно выражение строкового типа).
|
| Circular unit reference (Перекрестная ссылка модулей).
|
| Unit name mismatch (Несоответствие имен программных модулей).
|
| Unit version mismatch (Несоответствие версий модулей).
|
| Duplicate unit name (Повторное имя программного модуля).
|
| Unit file format error (Ошибка формата файла модуля).
|
| IMPLEMENTATION expected (Отсутствует исполняемая часть модуля).
|
| Constant and case types do not match (Типы констант и тип выражения опе- ратора CASE не соответствуют друг другу).
|
| Record variable expected (Нужна переменная типа запись).
|
| Constant out of range (Константа нарушает границы).
|
| File variable expected (Нужна файловая переменная).
|
| Pointer expression expected (Нужно выражение типа указатель).
|
| Integer or real expression expected (Нужно выражение вещественного или целого типа).
|
| Label not within current block (Метка не находится внутри текущего блока)
|
| Label already defined (Метка уже определена).
|
| Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов).
|
| Invalid @ argument (Неправильный аргумент операции @).
|
| Unit expected (Нужно кодовое слово UNIT).
|
| ”;” expected (Нужно указать”;”).
|
| ”:” expected (Нужно указать”:”).
|
| ”,”expected (Нужно указать”,”).
|
| ”(” expected (Нужно указать ”(”).
|
| ”)” expected (Нужно указать”)”).
|
| ”=” expected (Нужно указать”=”)
|
| ”:=” expected (Нужно указать”:=”)
|
| ”[” or ”(.”expected (Нужно указать ”[” или ”(.”).
|
| ”]” or ”.)” expected (Нужно указать”]” или ”.)”).
|
| ”.” expected (Нужно указать”.”)
|
| ”..” expected (Нужно указать”..”).
|
| Too many variables (Слишком много переменных).
|
| Invalid FOR control variable (Неправильный параметр цикла оператора FOR).
|
| Integer variable expected (Нужна переменная целого типа).
|
| File and procedure types are not allowed here (Здесь не могут использоваться файлы или процедурные типы).
|
| String length mismatch (Несоответствие длины строки).
|
| Invalid ordering of fields (Неверный порядок полей).
|
| String constant expected (Нужна константа строкового типа).
|
| Integer or real variable expected (Нужна переменная типа INTEGER или REAL).
|
| Ordinal variable expected (Нужна переменная порядкового типа).
|
| INLINE error (Ошибка в операторе INLINE)
|
| Character expression expected (Предшествующее выражение должно иметь символьный тип).
|
| Too many relocation items (Слишком много перемещаемых элементов).
|
| Overflow in arithmetic operator (Переполнение при выполнении арифметического оператора).
|
| No enclosing FOR, WHILE or REPEAT statement (Нет операторов, заканчивающих операторы FOR, WHILE или REPEAT).
|
| Debug information table overflow (Переполнение информационной таблицы отладки)
|
| N/A
|
| CASE constant out of range (Константа CASE нарушает допустимые границы) .
|
| Error in statement (Ошибка в операторе).
|
| Cannot call an interrupt procedure (Невозможно вызвать процедуру npерывания).
|
| N/A
|
| Must be in 8087 mode to compile this (Для компиляции необходим режим 8087).
|
| Target address not found (Указанный адрес не найден).
|
| 118 Include files are not allowed here (Здесь не допускаются включаемые файлы).
|
| No inherited methods are accessible here (В этом месте программы нет унаследованных методов).
|
| N/A
|
| Invalid qualifier (Неверный квалификатор).
|
| Invalid variable reference (Недействительная ссылка на переменную).
|
| Too many symbols (Слишком много символов).
|
| Statement part too large (Слишком большой раздел операторов).
|
| N/A
|
| Files must be var parameters (Файлы должны передаваться как параметры-переменные).
|
| Too many conditional symbols (Слишком много условных символов).
|
| Misplaced conditional directive (Пропущена условная директива).
|
| ENDIF directive missing (Пропущена директива ENDIF).
|
| Error in initial conditional defines (Ошибка в условных определениях).
|
| Header does not match previous definition (Заголовок не соответствует предыдущему определению).
|
| Critical disk error (Критическая ошибка диска).
|
| Cannot evaluate this expression (Нельзя вычислить данное выражение).
|
| Expression incorrectly germinated (Некорректное завершение выражения).
|
| Invalid format specifier (Неверный спецификатор формата).
|
| Invalid indirect reference (Недопустимая косвенная ссылка).
|
| Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа).
|
| Cannot evaluate without System unit (Нельзя вычислить выражение без мо-дуля SYSTEM).
|
| Cannot access this symbol (Нет доступа к данному символу).
|
| Invalid floating-point operation (Недопустимая операция с плавающей запятой).
|
| Cannot compile overlay to memory (Нельзя выполнить компиляцию оверлейных модулей в память).
|
| Procedure or function variable expected (Должна использоваться перемен- ная процедурного типа).
|
| Invalid procedure or function reference (Недопустимая ссылка на процедуру или функцию) .
|
| Cannot overlay this unit (Этот модуль не может использоваться в качестве оверлейного).
|
| Too many nested scopes (Слишком много вложений).
|
| File access denied (Отказано в доступе к файлу).
|
| Object type expected (Здесь должен быть тип OBJECT) .
|
| object types are not allowed (Нельзя объявлять локальные объекты).
|
| VIRTUAL expected (Пропущено слово VIRTUAL).
|
| Method identifier expected (Пропущен идентификатор инкапсулированного правила).
|
| Virtual constructor are not allowed (Конструктор не может быть виртуальным).
|
| Destructor identifier expected (Пропущен идентификатор деструктора).
|
| Fail only allowed within constructor (Обращение к стандартной процедуре FAIL может содержаться только в конструкторе).
|
| Invalid combination of opcode and operands (Недопустимая комбинация кода команды и операндов).
|
| Memory reference expected (Отсутствует адрес).
|
| Cannot add or subtract relocatable symbols (Нельзя складывать или вычитать перемещаемые символы).
|
| Invalid register combination (Недопустимая комбинация регистров).
|
| 286/287 instructions are not enabled (Недоступен набор команд микропроцессоров 286/287).
|
| Invalid symbol reference (Недопустимая ссылка на символ).
|
| Code generation error (Ошибка генерации кода).
|
| ASM expected (Отсутствует зарезервированное слово ASM).
|