Sign in Join
Wiki copytemporary

Reserved words/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
2-\
31Зарезервированные слова отдельных [режимов компилятора](/wiki-category/Modes/ru) объединены следующим образом:
42
53- [[Mode TP/ru|Режим Turbo Pascal]]: для использования доступны зарезервированные слова Turbo Pascal.
64- [[Mode Delphi/ru|Режим Delphi]]: для использования доступны зарезервированные слова Turbo Pascal и Object Pascal.
75- [[Mode ObjFPC/ru|Режим Free Pascal]]: для использования доступны зарезервированные слова Turbo Pascal и Object Pascal.
86
97## Зарезервированные слова в Turbo Pascal
108
119Следующие зарезервированные слова встречаются в режиме Turbo Pascal:
1210
1311| ключевое слово | описание |
1412|----|----|
1513| [[And/ru|and]] | логический оператор, требующий, чтобы оба операнда были равны true для того. чтобы результат был равен true |
1614| [[Array/ru|array]] | множество элементов с одинаковым именем |
1715| [[Asm/ru|asm]] | начало кода, написанного на языке ассемблера |
1816| [[Begin/ru|begin]] | начало [[Block/ru|блока]] кода |
1917| [[Break/ru|break]] | выход из условия [[Case/ru|case]] |
2018| [[Case/ru|case]] | выбирает определенный сегмент кода для выполнения в зависимости от значения |
2119| [[Const/ru|const]] | объявляет идентификатор с неизменяемым значением или переменную с инициализированным значением |
2220| [[Constructor/ru|constructor]] | процедура, используемая для создания объекта |
2321| [[Continue/ru|continue]] | пропускает инструкции в цикле **for** и возобновляет выполнение с начала цикла |
2422| [[Destructor/ru|destructor]] | процедура, используемая для "уничтожения" объекта |
2523| [[Div/ru|div]] | оператор целочисленного деления |
2624| [[Do/ru|do]] | используется для указания начала цикла |
2725| [[Downto/ru|downto]] | используется в цикле [[For/ru|for]] для указания декремента (уменьшения) переменной-счетчика |
2826| [[Else/ru|else]] | используется в условной конструкции [[If/ru|if]] для выполнения альтернативной ветви, когда ветвь **if** не выполняется |
2927| [[End/ru|end]] | конец блока кода, записи или некоторых других конструкций |
3028| [[False/ru|false]] | логическое значение, означающее что условие не выполняется; противоположно значению [[True/ru|true]] |
3129| [[File/ru|file]] | внешняя структура данных, обычно хранящаяся на диске |
3230| [[For/ru|for]] | цикл с использованием увеличения или уменьшения управляющей переменной |
3331| [[Function/ru|function]] | объявляет начало процедуры, которая возвращает значение результата |
3432| [[Goto/ru|goto]] | осуществляет выход из сегмента кода и переходит в другое место |
3533| [[If/ru|if]] | проверяет условие и по результату сравнения выполняет набор инструкций |
3634| [[Implementation/ru|implementation]] | определяет внутренние процедуры в [[Unit/ru|модуле]] |
3735| [[In/ru|in]] | определяет элементы в коллекции |
3836| [[inline/ru|inline]] | непосредственно встраивает машинный код в процедуру |
3937| [[Interface/ru|interface]] | глобальные объявления процедур в [[Unit/ru|unit]] |
4038| [[Label/ru|label]] | определяет точку перехода для оператора [[Goto/ru|goto]] |
4139| [[Mod/ru|mod]] | оператор, возвращающий остаток целочисленного деления |
4240| [[Nil/ru|nil]] | значение указателя, означающее, что указатель ни на что не ссылается |
4341| [[Not/ru|not]] | логический оператор, который инвертирует значение результата проверки |
4442| [[Object/ru|object]] | определяет конструкцию типа "объект" |
4543| [[Of/ru|of]] | определяет характеристики переменной |
4644| [[On/ru|on]] | |
4745| [[Operator/ru|operator]] | определяет процедуру, использующуюся для реализации оператора |
4846| [[Or/ru|or]] | логический оператор, который позволяет использовать любой из двух вариантов |
4947| [[Packed/ru|packed]] | указывает, что элементы в массиве используют меньше памяти (данное ключевое слово необходимо, прежде всего, для совместимости с устаревшими программами, когда элементы массива упаковывались обычно автоматически) |
5048| [[Procedure/ru|procedure]] | определяет начало процедуры, которая не возвращает значение результата |
5149| [[Program/ru|program]] | определяет начало приложения. Данное ключевое слово обычно является необязательным |
5250| [[Record/ru|record]] | набор разнотипных переменных, объединенных под одним именем |
5351| [[Repeat/ru|repeat]] | цикл, представляющий секцию кода до условной инструкции [[Until/ru|until]], выполняющийся до тех пор, пока результат сравнения равен true |
5452| [[Set/ru|set]] | набор значений |
5553| [[Shl/ru|shl]] | оператор сдвига значения влево; эквивалентен умножению на степень 2 |
5654| [[Shr/ru|shr]] | оператор сдвига значения вправо; эквивалентен делению на степень 2 |
5755| [[String/ru|string]] | объявляет переменную, содержащую множество символов |
5856| [[Then/ru|then]] | указывает начало кода в условии сравнения [[If/ru|if]] |
5957| [[To/ru|to]] | используется в цикле [[For/ru|for]] для указания инкремента (увеличения) переменной-счетчика |
6058| [[True/ru|true]] | логическое значение, указывающее что сравнение выполняется; противоположно значению [[False/ru|false]] |
6159| [[Type/ru|type]] | объявляет типы записей или новых классов переменных |
6260| [[Unit/ru|unit]] | раздельно компилируемые модули |
6361| [[Until/ru|until]] | указывает окончание блока проверки в цикле [[Repeat/ru|repeat]] |
6462| [[Uses/ru|uses]] | перечисление названий [[Unit/ru|модулей]] в текущей программе или модулей, на которые есть ссылки |
6563| [[Var/ru|var]] | объявление переменных |
6664| [[While/ru|while]] | проверяет значение и, если оно равно [[True/ru|true]], выполняет инструкции цикла |
6765| [[With|with]] | reference the internal variables within a record without having to refer to the record itself |
6866| [[Xor/ru|xor]] | логический оператор, являющийся исключающим [[Or/ru|ИЛИ]] |
6967
7068## Зарезервированные слова в Object Pascal
7169
7270Object 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).\
7371In addition to the reserved words in Turbo Pascal, the following reserved words are available in Delphi mode as well:\
7472[[As|as]]\
7573[[Class|class]]\
7674[[Dispose|dispose]]\
7775[[Except|except]]\
7876[[Exit|exit]]\
7977[[Exports|exports]]\
8078[[Finalization|finalization]]\
8179[[Finally|finally]]\
8280[[Inherited|inherited]]\
8381[[Initialization|initialization]]\
8482[[Is|is]]\
8583[[Library|library]]\
8684[[New|new]]\
8785[[On|on]]\
8886[[Out|out]]\
8987[[Property|property]]\
9088[[Raise|raise]]\
9189[[Self|self]]\
9290[[Threadvar|threadvar]]\
9391[[Try|try]]\
94-\
9592
9693## Зарезервированные слова в Free Pascal
9794
9895Зарезервированные слова в режиме Free Pascal включают:
9996
10097- зарезервированные слова [[Mode TP/ru|режима Turbo Pascal]]
10198- зарезервированные слова [[Mode Delphi/ru|режима Object Pascal]]\
10299
103-\
104-
105100## Модификаторы (директивы)
106101
107102Ниже представлен список модификаторов. Модификаторы не являются строго зарезервированными словами, однако они используются так же, как зарезервированные слова.\
108103Подробнее см. в руководстве по Free Pascal.\
109104[[Absolute/ru|absolute]]\
110105[[abstract]]\
111106[[alias]]\
112107[[assembler]]\
113108[[cdecl]]\
114109[[Cppdecl|cppdecl]]\
115110[[default]]\
116111[[export]]\
117112[[external]]\
118113[[forward]]\
119114[[index]]\
120115[[local]]\
121116[[name]]\
122117[[nostackframe]]\
123118[[oldfpccall]]\
124119[[override]]\
125120[[pascal]]\
126121[[private]]\
127122[[protected]]\
128123[[public]]\
129124[[published]]\
130125[[read]]\
131126[[Register/ru|register]]\
132127[[Reintroduce|reintroduce]]\
133128[[safecall]]\
134129[[softfloat]]\
135130[[stdcall]]\
136131[[virtual]]\
137132[[write]]\
138-\
139133
140134## Неподдерживаемые модификаторы Turbo Pascal
141135
142136The 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.
143137
144138As Free Pascal does not support 16 bit code (only 32 and 64 bit), these modifiers are irrelevant in Free Pascal code.
145139
146140> **Note:** However, these modifiers are supported in the [[DOS]] crosscompiler present in the FPC development version
147141
148142[[Far|far]]\
149143[[Near|near]]\
150144
151145## More functionality
152146
153147Apart 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:
154148
155149- RTL: Run-Time Library, available for all FPC and Lazarus programs
156150- 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)
157151- FPC Packages: other packages provided by FPC
158152- Lazarus components: these are Lazarus components that can be dropped on a form and often based on FCL or FPC packages
159153- Lazarus utility functions: e.g. the [fileutil](http://wiki.lazarus.freepascal.org/Category:fileutil) unit.
160154
161155Apart from the libraries provided by FPC and Lazarus, there are more libraries/components available:
162156
163157- FPC user-supplied units: see the FPC wiki
164158- Lazarus CCR: components
165159- User-supplied code on the internet: see
166160
167161---
168162*From the Free Pascal wiki, page "Reserved words/ru", as it stood on 2020-04-04 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history