(*) С2. Сообщения сканера

На верх  Назад  Вперёд

В этом разделе описаны сообщения, которые генерируются сканером. Сканер выполняет работу по проверке лексической структуры файлов Pascal, например, пытается найти зарезервированные слова, строки и т.п. Он также обрабатывает директивы и условия компиляции.

Сообщение

Описание

Fatal: Unexpected end of file

Это сообщение обычно появляется в одном из следующих случаев:

Исходный файл закончился, но оператор end. не был найден. Это происходит в основном, когда заявления begin и end не сбалансированы;

Подключаемый файл закончился на середине.

Комментарий не был закрыт

Fatal: String exceeds line

Это означает, что строка не была закрыта кавычкой ' и поэтому заняла несколько строк исходного кода.

Fatal: illegal character «Сообщение1» (Сообщение2)

Неправильный символ был обнаружен во входном файле.

Fatal: Syntax error, «Символ1» expected but «Символ2» found

Это означает, что компилятор ожидал появления Символа1, но обнаружил Символ2. Это может случиться практически в любом месте (ошибка в языке Pascal).

Start reading includefile Сообщение1

Вы используете опцию –vt и компилятор говорит вам, что началось чтение подключаемого файла.

Warning: Comment level Сообщение found

Если используется опция –vw, то компилятор предупреждает вас, если находит вложенные комментарии. Вложенные комментарии не допускаются в Turbo Pascal и в Delphi, и могут вызвать ошибку в исходном коде.

Note: Ignored compiler switch «Сообщение1»

Если используется опция –vn, то компилятор предупреждает вас, если игнорирует этот переключатель.

Warning: Illegal compiler switch «Сообщение1»

Вы подключили директиву компилятора (например, {$...}), которую он не может распознать.

Warning: Misplaced global compiler switch

Опция компилятора неуместна, и должна быть размещена в начале модуля или программы.

Error: Illegal char constant

Это сообщение появится, если вы укажете символ с помощью ASCII-кода, например, #96, но число будет слишком большое и лежать за пределами таблицы ASCII.

Fatal: Can’t open file «Сообщение1»

Free Pascal не может найти исходный файл программы или модуля, указанный вами в командной строке.

Fatal: Can’t open include file «Сообщение1»

Free Pascal не может найти исходный файл, указанный вами в скобках {$include..}.

Error: Illegal record alignment specifier «Сообщение1»

Вы указали {$PACKRECORDS n} или {$ALIGN n} с неправильным значением n. Для $PACKRECORDS правильные значения – это 1, 2, 4, 8, 16, 32, C, NORMAL, DEFAULT, а для $ALIGN – это значения 1, 2, 4, 8, 16, 32, ON, OFF. В режиме MacPas $ALIGN также поддерживает MAC68K, POWER и RESET.

Error: Illegal enum minimum-size specifier «arg1»

Вы указали {$PACKENUM n} с неправильным значением n. Только 1,2,4, NORMAL или DEFAULT являются правильными.

Error: $ENDIF expected for Сообщ1 Сообщ2 defined in Сообщ3 line Сообщ4

Ваши операторы условной компиляции не сбалансированы.

Error: Syntax error while parsing a conditional compiling expression

Это ошибка в выражении следующих директив компилятора: {$if ..}, {$ifc } или {$setc }.

Error: Evaluating a conditional compiling expression

Это ошибка в выражении следующих директив компилятора: {$if ..}, ifcorsetc.

Warning: Macro contents are limited to 255 characters in length

Содержимое макроса не может быть более 255 символов.

Error: ENDIF without IF(N)DEF

Ваши операторы {$IFDEF ..} and {$ENDIF} не сбалансированы.

Fatal: User defined: Сообщение1

Произошла ошибка, определённая пользователем. См. также «Руководство программиста».

Error: User defined: Сообщение1

Произошла ошибка, определённая пользователем. См. также «Руководство программиста».

Warning: User defined: Сообщение1

Предупреждение, определённое пользователем. См. также «Руководство программиста».

Note: User defined: Сообщение1

Замечание, определённое пользователем. См. также «Руководство программиста».

Hint: User defined: Сообщение1

Подсказка, определённая пользователем. См. также «Руководство программиста».

Info: User defined: Сообщение1

Информация, определённая пользователем. См. также «Руководство программиста».

Error: Keyword redefined as macro has no effect

Вы не можете переопределить ключевые слова в макросе.

Fatal: Macro buffer overflow while reading or expanding a macro

Ваш макрос или результат его работы слишком большие для компилятора.

Warning: Expanding of macros exceeds a depth of 16.

При извлечении уровень вложенности вашего макроса превысил 16. Компилятор не будет дальше разворачивать макрос, потому что это может означать, что используется рекурсия.

Warning: compiler switches aren’t supported in // styled comments

Переключатели компилятора установлены нормальном стиле комментариев Pascal, и не поддерживают стиль С++ (//).

Handling switch «Сообщение1»

Если вы включили отладочную информацию (-vd), то компилятор сообщает вам, если он оценивает условия операторов компиляции.

ENDIF Сообщение1 found

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

IFDEF Сообщение1 found, arg2

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

IFOPT Сообщение1 found, Сообщение2

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

IF Сообщение1 found, Сообщение2

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

IFNDEF Сообщение1 found, Сообщение2

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

ELSE Сообщение1 found, Сообщение2

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы.

Skipping until...

Если вы включили условные сообщения (-vc), то компилятор выдаёт сообщение, если находит условные операторы, и какие части он пропускает или компилирует.

Info: Press <return> to continue

Если используется опция –vi, то компилятор останавливает компиляцию, если обнаруживает директиву {$STOP} и ожидает, пока не будет нажата клавиша ENTER.

Warning: Unsupported switch «Сообщение»

Если включены предупреждения (-vw), то компилятор предупреждает вас о неподдерживаемых переключателях. Это означает, что данные переключатели используются в Delphi или Turbo Pascal, но не используются в Free Pascal.

Warning: Illegal compiler directive «Сообщение»

Если включены предупреждения (-vw), то компилятор предупреждает вас о нераспознанных переключателях. Список распознаваемых переключателей см. в руководстве программиста.

Back in Сообщение

Если вы используете переключатель –vt, то компилятор говорит вам, когда он заканчивает читать подключаемый файл.

Warning: Unsupported application type: «Сообщение»

Вы получите это предупреждение, если вы указали неизвестный тип приложения с директивой {$APPTYPE}.

Warning: APPTYPE is not supported by the target OS

Директива {$APPTYPE} поддерживается только определёнными операционными системами.

Warning: DESCRIPTION is not supported by the target OS

Директива {$DESCRIPTION} не поддерживается целевой операционной системой.

Note: VERSION is not supported by target OS

Директива {$VERSION} не поддерживается целевой операционной системой.

Note: VERSION only for exes or DLLs

Директива {$VERSION} используется только для исполняемых файлов или исходных кодов DLL.

Warning: Wrong format for VERSION directive «Сообщение»

Неправильный формат директивы {$VERSION}. Директива должна иметь формат ПолнаяВерсия.СокращённаяВерсия, где ПолнаяВерсия и СокращённаяВерсия – это слова.

Error: Illegal assembler style specified «Сообщение»

Если вы указали режим ассемблера директивой {$ASMMODE xxx}, а компилятор не распознал указанный вами режим.

Warning: ASM reader switch is not possible inside asm statement, «Сообщение» will be effective only for next

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

Error: Wrong switch toggle, use ON/OFF or +/­

Вы должны использовать ON или OFF или + или для переключателя.

Error: Resource files are not supported for this target

Целевая платформа, для которой выполняется компиляция, не поддерживает файлы ресурсов.

Warning: Include environment «Сообщение» not found in environment

Подключаемая переменная окружения не была найдена в среде окружения. Она будет заменена пустой строкой.

Error: Illegal value for FPU register limit

Правильные значения для этой директивы 0…8 и NORMAL/DEFAULT.

Warning: Only one resource file is supported for this target

Целевая платформа, для которой выполняется компиляция, поддерживает только один файл ресурсов. Первый найденный файл ресурсов будет использоваться, остальные игнорируются.

Warning: Macro support has been turned off

Объявление макроса было найдено, но поддержка макросов отключена, поэтому макрос будет игнорироваться. Включение поддержки макросов при компиляции выполняется опцией –Sm в командной строке или директивой {$MACRO ON} в исходном коде.

Error: Illegal interface type specified. Valids are COM, CORBA or DEFAULT.

Указанный тип интерфейса не поддерживается.

Warning: APPID is only supported for PalmOS

Директива {$APPID} поддерживается только для целевой платформы PalmOS.

Warning: APPNAME is only supported for PalmOS

Директива {$APPNAME} поддерживается только для целевой платформы PalmOS.

Error: Constant strings can’t be longer than 255 chars

Одна строковая константа должна содержать не более 255 символов. Попытайтесь разделить строку на несколько более мелких частей, а затем соединить их с помощью оператора +.

Fatal: Including include files exceeds a depth of 16.

Если используются подключаемые файлы, то уровень вложенности должен быть не более 16. Компилятор не будет дальше разворачивать файлы, потому что это может означать, что используется рекурсия.

Fatal: Too many levels of PUSH

Максимально допускается 20 уровней при использовании инструкции PUSH. Эта ошибка возможна только в режиме MacPas.

Error: A POP without a preceding PUSH

Эта ошибка возможна только в режиме MacPas.

Error: Macro or compile time variable «Сообщение» does not have any value

Выражение условной компиляции нельзя вычислить.

Error: Wrong switch toggle, use ON/OFF/DEFAULT or +/-/*

Вы должны использовать ON или OFF или DEFAULT или + или или * для данного переключателя.

Error: Mode switch «Сообщение» not allowed here

Переключатель режима уже был использован, или, в случае с опцией –Mmacpas, переключатель режима обнаружен после UNIT.

Error: Compile time variable or macro «Сообщение» is not defined.

Выражение условной компиляции нельзя вычислить. Только в режиме MacPas.

Error: UTF-8 code greater than 65535 found

Free Pascal обрабатывает строки UTF-8 как widestrings, то есть код символа ограничен 65535.

Error: Malformed UTF-8 string

Данная строка не является правильной строкой UTF-8.

UTF-8 signature found, using UTF-8 encoding

Компилятор нашёл закодированную сигнатуру UTF-8 ($ef, $bb, $bf) в начале файла, поэтому будет интерпретировать его как файл UTF-8.

Error: Compile time expression: Wanted Сообщ1 but got Сообщ2 at Сообщ3

Во время компиляции обнаружено неправильное выражение при проверке типов.

Note: APPTYPE is not supported by the target OS

Директива {$APPTYPE} поддерживается только определённой операционной системой.

Error: Illegal optimization specified «Сообщение»

Вы указали оптимизацию директивой {$OPTIMIZATION xxx}, но компилятор не распознаёт указанную вами оптимизацию.

Warning: SETPEFLAGS is not supported by the target OS

Директива {$SETPEFLAGS} не поддерживается целевой операционной системой.

Warning: IMAGEBASE is not supported by the target OS

Директива {$IMAGEBASE} не поддерживается целевой операционной системой.

Warning: MINSTACKSIZE is not supported by the target OS

Директива {$MINSTACKSIZE} не поддерживается целевой операционной системой.

Warning: MAXSTACKSIZE is not supported by the target OS

Директива {$MAXSTACKSIZE} не поддерживается целевой операционной системой.

Error: Illegal state for $WARN directive

Только ON и OFF можно использовать как значения с директивой компилятора {$WARN}.

Error: Illegal set packing value

Только 0, 1, 2, 4, 8, DEFAULT и NORMAL распознаются как параметры упаковки.

Warning: PIC directive or switch ignored

Некоторые целевые ОС, такие как WINDOWS, не поддерживают и не нуждаются в PIC, поэтому директива PIC игнорируется.

Warning: The switch «Сообщение» is not supported by the currently selected target

Некоторые переключатели компилятора, такие как $E, не поддерживаются на всех целевых ОС.

Warning: Framework-related options are only supported for Darwin/Mac OS X

Фреймворк является неизвестной концепцией, или не поддерживается FPC, или операционная система отличается от Darwin/Mac OS X.

Error: Illegal minimal floating point constant precision «Сообщение»

Правильная минимальная точность для плавающей точки может быть константой по умолчанию, 32 и 64, что означает соответственно минимум (обычно 32 бит), 32 бита и 64 бита точности.

Warning: Overriding name of «main» procedure multiple times, was previously set to «Сообщение»

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

Warning: Illegal identifier ”arg1” for $WARN directive

Identifier is not known by a {$WARN} compiler directive.

Идентификатор не известна {$WARN} директивы компилятора.

Error: Illegal alignment directive

The alignment directive is not valid. Either the alignment type is not known or the alignment value is not a power of two.

Директива выравнивание не является действительным. Или тип выравнивания не известно или значение выравнивание не является степенью двойки.

Fatal: It is not possible to include a file that starts with an UTF-8 BOM in a module that uses a different code page

All source code that is part of a single compilation entity (program, library, unit) must be encoded in the same code page

Весь исходный код, что является частью единого целого компиляции (программа, библиотека, единицу) должны быть закодированы в той же кодовой страницы