Reserved words/ru

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)


Зарезервированные слова отдельных режимов компилятора объединены следующим образом:

  • Режим Turbo Pascal: для использования доступны зарезервированные слова Turbo Pascal.
  • Режим Delphi: для использования доступны зарезервированные слова Turbo Pascal и Object Pascal.
  • Режим Free Pascal: для использования доступны зарезервированные слова Turbo Pascal и Object Pascal.


Зарезервированные слова в Turbo Pascal

Следующие зарезервированные слова встречаются в режиме Turbo Pascal:

ключевое слово описание
and логический оператор, требующий, чтобы оба операнда были равны true для того. чтобы результат был равен true
array множество элементов с одинаковым именем
asm начало кода, написанного на языке ассемблера
begin начало блока кода
break выход из условия case
case выбирает определенный сегмент кода для выполнения в зависимости от значения
const объявляет идентификатор с неизменяемым значением или переменную с инициализированным значением
constructor процедура, используемая для создания объекта
continue пропускает инструкции в цикле for и возобновляет выполнение с начала цикла
destructor процедура, используемая для "уничтожения" объекта
div оператор целочисленного деления
do используется для указания начала цикла
downto используется в цикле for для указания декремента (уменьшения) переменной-счетчика
else используется в условной конструкции if для выполнения альтернативной ветви, когда ветвь if не выполняется
end конец блока кода, записи или некоторых других конструкций
false логическое значение, означающее что условие не выполняется; противоположно значению true
file внешняя структура данных, обычно хранящаяся на диске
for цикл с использованием увеличения или уменьшения управляющей переменной
function объявляет начало процедуры, которая возвращает значение результата
goto осуществляет выход из сегмента кода и переходит в другое место
if проверяет условие и по результату сравнения выполняет набор инструкций
implementation определяет внутренние процедуры в модуле
in определяет элементы в коллекции
inline непосредственно встраивает машинный код в процедуру
interface глобальные объявления процедур в unit
label определяет точку перехода для оператора goto
mod оператор, возвращающий остаток целочисленного деления
nil значение указателя, означающее, что указатель ни на что не ссылается
not логический оператор, который инвертирует значение результата проверки
object определяет конструкцию типа "объект"
of определяет характеристики переменной
on
operator определяет процедуру, использующуюся для реализации оператора
or логический оператор, который позволяет использовать любой из двух вариантов
packed указывает, что элементы в массиве используют меньше памяти (данное ключевое слово необходимо, прежде всего, для совместимости с устаревшими программами, когда элементы массива упаковывались обычно автоматически)
procedure определяет начало процедуры, которая не возвращает значение результата
program определяет начало приложения. Данное ключевое слово обычно является необязательным
record набор разнотипных переменных, объединенных под одним именем
repeat цикл, представляющий секцию кода до условной инструкции until, выполняющийся до тех пор, пока результат сравнения равен true
set набор значений
shl оператор сдвига значения влево; эквивалентен умножению на степень 2
shr оператор сдвига значения вправо; эквивалентен делению на степень 2
string объявляет переменную, содержащую множество символов
then указывает начало кода в условии сравнения if
to используется в цикле for для указания инкремента (увеличения) переменной-счетчика
true логическое значение, указывающее что сравнение выполняется; противоположно значению false
type объявляет типы записей или новых классов переменных
unit раздельно компилируемые модули
until указывает окончание блока проверки в цикле repeat
uses перечисление названий модулей в текущей программе или модулей, на которые есть ссылки
var объявление переменных
while проверяет значение и, если оно равно true, выполняет инструкции цикла
with reference the internal variables within a record without having to refer to the record itself
xor логический оператор, являющийся исключающим ИЛИ

Зарезервированные слова в Object Pascal

Object Pascal extends the (Turbo) Pascal language with both support for dealing more easily with objects (object orientation) as well as other newer/more advanced concepts (threads, etc).
In addition to the reserved words in Turbo Pascal, the following reserved words are available in Delphi mode as well:
as
class
dispose
except
exit
exports
finalization
finally
inherited
initialization
is
library
new
on
out
property
raise
self
threadvar
try

Зарезервированные слова в Free Pascal

Зарезервированные слова в режиме Free Pascal включают:


Модификаторы (директивы)

Ниже представлен список модификаторов. Модификаторы не являются строго зарезервированными словами, однако они используются так же, как зарезервированные слова.
Подробнее см. в руководстве по Free Pascal.
absolute
abstract
alias
assembler
cdecl
cppdecl
default
export
external
forward
index
local
name
nostackframe
oldfpccall
override
pascal
private
protected
public
published
read
register
reintroduce
safecall
softfloat
stdcall
virtual
write

Неподдерживаемые модификаторы Turbo Pascal

The reason why these modifiers are not supported is that these modifiers deal with 16 bit code for DOS. In other words, these modifiers have special meaning for 16 bit programming under DOS and Windows 3.x.

As Free Pascal does not support 16 bit code (only 32 and 64 bit), these modifiers are irrelevant in Free Pascal code.

Note-icon.png

Примечание: However, these modifiers are supported in the DOS crosscompiler present in the FPC development version

far
near

More functionality

Apart from the language features provided by the reserved words/keywords mentioned above, there is a lot of functionality available for the programmer in the various libraries:

  • RTL: Run-Time Library, available for all FPC and Lazarus programs
  • FCL: Free Component Library: a core set of libraries available for Lazarus programs and usually for FPC (FPC can be compiled without it, but that only happens on purpose for low-memory embedded systems etc)
  • FPC Packages: other packages provided by FPC
  • Lazarus components: these are Lazarus components that can be dropped on a form and often based on FCL or FPC packages
  • Lazarus utility functions: e.g. the fileutil unit.

Apart from the libraries provided by FPC and Lazarus, there are more libraries/components available:

  • FPC user-supplied units: see the FPC wiki
  • Lazarus CCR: components
  • User-supplied code on the internet: see