Лекция: Приложение Б. Сообщения об ошибках

Таблица 36. Сообщения об ошибках на шаге компиляции

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

 

Код ошибки Сообщение об ошибке Перевод сообщения, возможная причина ошибки и рекомендации для ее устранения
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 «слишком много вложенных файлов» — При включении исходных файлов (с помощью директив {$1 <имя файла >}) компилятор допускает не более 15 уровней вложенности
Unexpected end of file «несвоевременное появление призна­ка конца файла» Возможно, не совпадает количество операторов begin и end или не закрыт комментарий
Line too long «слишком длинная строка» — Длина строки превысила 126 символов
Type identifier expected «ожидается идентификатор типа» — В объявлении отсутствует идентификатор типа
Too many open files «слишком много открытых файлов» — Следует задать большее число файлов в CONFIG.SYS (в записи FILES = < число)
Invalid file name неправильно задано имя файла
File not found файл не найден
Disk full на диске нет свободного места
Invalid compiler directive неправильно записана директива компилятора
Too many files «слишком много файлов» — С помощью директив {$1 <имя файла>} включается чрез­мерное количество исходных файлов
Undefined type in pointer definition «необъявленный тип в объявлении указателя» — Не объявлен тип данных, указанный в объявлении ссылочного типа
Variable identifier expected ожидается идентификатор переменной
Error in type ошибка в объявлении типа
Structure too large «структура слишком большая» — Превышен допустимый размер (65520 байт) области памяти для данных структурированного типа
Set base type out of range «число значений базового типа для множества превышает допустимое» — Базовый тип не должен содержать более 256 значений
File components may not be files or objects компонентами файла не могут быть файлы или объекты
Invalid string length «недопустимая длина строки» — Превышена максимально допустимая длина строки (255)
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 expession expected ожидается выражение целого типа)
Ordinal expession expected ожидается выражение порядкового типа
Boolean expression expected ожидается выражение булевого типа
Operand types do not match operator типы операндов не со­ответствуют оператору
Error in expression ошибка в выражении
Illegal assignment неправильное присваивание
Field identifier expected ожидается идентификатор поля за­писи
Object file too large «объектный файл слишком большой» — OBJ-файл превысил максимально допустимый размер (65520 байт)
Undefined external «не определена внешняя подпрограмма» — Вероятно, во внешней подпрограмме отсутствует соответству­ющее определение PUBLIC
Invalid object file record «нераспознаваемая запись объект­ного файла» — Вероятно, объектный файл искажен
Code Segment too large «кодовый сегмент слишком велик» — Превышен максимально допустимый размер кода програм­мы или модуля (65520 байтов)
Data segment too large «сегмент данных слишком велик» — Превышен максимально допустимый размер сегмента дан­ных (65520 байтов)
Do expected ожидается ключевое слово DO
Invalid PUBLIC definition «неправильное определение public» — Несоответствие определения PUBLIC в программе на Ассемблере и директивы external в программе или модуле на Паскале
Invalid EXTRN definition «неправильное определение extrn» — Вероятно, фрагмент программы на языке Ассемблера не объявлен в программе или модуле
Too many EXTRN ltfinition «слишком много определений extrn» — Максимально допустимое число определений EXTRN в Obj-файле равно 256
OF expected ожидается зарезервированное слово OF
INTERFACE expected ожидается зарезервированное слово INTERFACE
Invalid relocatable «неправильно определена смещенная ссылка» — Вероятно, во фрагменте программы на языке Ассемблера неправильно задано смещение адреса
THEN expected ожидается зарезервированное слово Then
TO or DOWNTO expected ожидается зарезервированное слово To или downto
Undefined forward не завершено опережающее объявление
Too many procedures «слишком много процедур» — Превышено максимально допустимое (512) количество подпрограмм, объявленных в программе или модуле
Invalid Typecast неверно описанное преобразование типов
62 Division by zero деление на нуль
Invalid file type неправильно задан файловый тип
Cannot Read or Write variables of type «нельзя читать или пи­сать переменные этого типа» — Предпринята попытка чтения/записи данных, не обрабаты­ваемых процедурами Read/Readln и Write/Writeln.
Pointer variable expected ожидается переменная ссылочно­го типа
String variable expected ожидается строковая переменная
String expession expected ожидается выражение строкового типа
Circular unit reference «циклические ссылки модулей» — Не допускается, чтобы два модуля ссылались друг на друга
Unit name mismatch «неправильное имя модуля» — Модуль, имя которого задано в директиве Uses, не найден
Unit version mismatch «неверная версия модуля» — Модуль, подключаемый к программе, был изменен после компиляции
Duplicate unit name имя модуля дублируется в директиве uses
Unit file format error ошибка в спецификации файла мо­дуля
Implementation expected ожидается зарезервированное сло­во implementation
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 ожидается выражение ти­па integer или real
Label not within current block метка находится вне текущего блока
Label already defined метка ранее уже объявлена
Undefined label in preceding statement part необъявленная метка в предыдущей части раздела операторов
Invalid @ argument неправильный аргумент оператора @
UNIT expected ожидается зарезервированное слово unit
“;” expected ожидается точка с запятой
”:” expected ожидается двоеточие
“,” expected ожидается запятая
“(“ expected ожидается открывающая круглая скобка
“)” expected ожидается закрывающая круглая скобка
“=”' expected ожидается знак равенства
”:=" expected ожидается знак присваивания
”[“' or "(" expected ожидаются знаки “[“ или “(“
”]” or “)” expected ожидаются знаки ']' или ')'
”.” expected ожидается точка
”..” expected ожидается горизонтальное двоеточие
Too many variables «слишком много переменных» — Максимально допустимый размер памяти для размещения переменных равен 64К: – глобальных, объявленных в программе или модуле; – локальных, объявленных в подпрограмме
Invalid FOR control variable «неправильная переменная цик­ла в операторе for» — Переменная цикла в операторе 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 expession expected ожидается выражение сим­вольного типа
Too many relocation items «слишком много перемещаемых элементов» — Размер таблицы перемещаемых символов в объектном фай­ле превышает 64К байта. Это означает, что программа слишком велика, чтобы ее смог обработать компоновщик Турбо-Паскаля.
Overflow in arithmetic operation. переполнение при выполнении арифметической операции
No enclosing For, While or Repeat statement. использование операторов Break и Continue вне пределов цикла
Case constant out of range «в операторе case константа не вписывается в допустимый диапазон» — Целочисленные константы, используемые в операторе case, должны находиться в пределах от -32768 до 32767.
Error in statement ошибка в операторе
Cannot call an interrupt procedure не вызывается процедура прерывания
Must be in 8087 mode to compile this «для компиляции дан­ной конструкции должен быть установлен режим сопроцессора» — Данная конструкция может быть откомпилирована только в режиме {$ N+}.
Target address not found «заданный адрес отсутствует» — Не обнаружен оператор, расположенный по заданному ад­ресу.
Included files are not allowed here «в заданном месте не до­пускается включение файла» — Исходные файлы нельзя включать внутри раздела операторов.
No inherited methods are accesible here. неправильное использование ключевого слова Inherited
Invalid Qualifier «неправильно указан квалификатор» — Возможны следующие причины появления сообщения: за­дан индекс переменной, не объявленной как массив; задано по­ле переменной, не объявленной как запись; в качестве указателя используется переменная, не объявленная как ссылочная
Invalid variable reference неправильная ссылка на пере­менную
Too many symbols «слишком много символов» — Длина текста программы или модуля превышает 64К байта
Statement part too large «слишком велик раздел опера­торов» — Превышен максимально допустимый размер раздела опера­торов программы (около 24К байт)
Files must be var parameters «файлы должны быть параметрами-переменными» — Параметры файлового типа в объявлении подпрограмм должны описываться как переменные.
Too many conditional symbols «слишком много условных символов» — Недостаточно памяти для размещения имен, указанных в директивах условной компиляции Рекомендуется укоротить од­но или несколько символических имен
Misplaced conditional directive несоответствие директив ус­ловной компиляции
ENDIF directive missing отсутствует директива {$ ENDIF}
Error in initial conditional defines «ошибка в установке услов­ных определений» — Условия компиляции, заданные в Options/Compiler/ Conditional defines, должны разделяться пробелами, запятыми или точками с запятой
Header does not match previous definition «заголовок не соот­ветствует предыдущему определению» — Заголовок подпрограммы, заданный в секции связи модуля или в объявлении, использующем forward, не соответствует дан­ному заголовку
Critical disk error серьезная ошибка дискового накопи­теля
Cannot evaluate this expression данное выражение невоз­можно вычислить
Expession incorrectly terminated «неправильно завершено выражение» — Вероятно, отсутствует точка с запятой
Invalid format specifier неправильная спецификация фор­мата
Invalid indirect reference «неправильная косвенная ссылка» — Возможно, используется переменная типа absolute, базовая переменная которой не объявлена в данном модуле
Structured variables 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 ожидается перемен­ная типа procedure или function
Invalid procedure or function reference неправильная ссыл­ка на процедуру или функцию
Cannot overlay this unit «данный модуль нельзя сделать оверлейным» — Предпринята попытка объявить оверлейным модуль, кото­рый был откомпилирован без директивы {$0+ }.
Too many nested scopes использование недопустимо боль­шого числа вложенных элементов языка
File access denied попытка использовать файл, предназна­ченный только для считывания, как выходной
Object type expected ожидается объектный тип
Local object types are not allowed «локальный объектный тип недопустим» — Объектный тип не должен объявляться в подпрограмме
VIRTUAL expected ожидается зарезервированное слово virtual
Method identifier expected ожидается идентификатор метода
Virtual constructors are not allowed «виртуальные конструк­торы недопустимы» — Метод-конструктор может быть только статическим
Constructor identifier expected ожидается идентификатор конструктора
Destructor identifier expected ожидается идентификатор де­структора
Fail only allowed withing constructors «процедуру 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» — Отсутствует директива компилятора {$G+}, разрешающая использовать операции 286/287
Invalid symbol reference «неправильная ссылка на символ» — Данный символ нельзя использовать в ассемблерном опе­ранде
Code generation error ошибка при генерации кода
ASM expected ожидается зарезервированное слово ASM
еще рефераты
Еще работы по информатике