1.标识符与保留字
在Object Pascal中,符号由一个或多个字符组成,是最基本的语言元素。
1.1标识符
标识符是ObjectPascal语言中变量、常量、类型、过程、函数、方法、单元等的名称。
- 标准标识符标准标识符是ObjectPascal语言预先分配给标准函数、标准过程、标准类型、标准常量、标准文件使用的标识符。标准常量 如:False、True、Maxint等标准类型 如:Boolean、Char、Real等标准函数 如:Sin、Cos、Abs、Arctan等标准过程 如:Dispose、Get、New、Pack、Put等标准文件 如:Input、Output等
- 自定义标识符自定义标识符是根据程序设计的需要,自己定义的常量、变量、类型、函数、过程等的名称。在Object Pascal中定义标识符的规则:1.标识符不区分大小写
2.标识符只能以字母或下划线开头
3.标识符可以是任意长度,但只有前255个字符有效
4.标识符中间不允许有空格
5.不允许使用Object Pascal保留字作为标识符 - 限定标识符在Object Pascal中可以引用多个单元,而各个单元中的全局变量、函数、过程等可能会重名,所以,在程序中引用时需要使用限定标识符来区分。如:Var
Y: real;
Y := System.cos(pi);代码中的System就是限定标识符,限定cos标识符是System单元中声明的标识符。
1.2保留字
保留字时系统规定的,具有特殊意义和用途的单词,在编程时不能被重新定义。Object Pascal中定义了65个保留字:
|
保留字 |
|||||
|
and |
array |
as |
asm |
begin |
case |
|
class |
Const |
constructor |
destructor |
dispinterface |
div |
|
do |
downto |
else |
end |
except |
exports |
|
file |
finalization |
finally |
for |
function |
goto |
|
if |
implementation |
in |
inherite |
initialization |
inline |
|
is |
interface |
label |
library |
mod |
Nil |
|
not |
object |
of |
or |
out |
packed |
|
procedure |
program |
property |
raise |
record |
repeat |
|
resourcestring |
set |
shl |
shr |
string |
then |
|
threadvar |
to |
try |
type |
until |
unit |
|
uses |
var |
while |
with |
xor |
1.3指令符
指令符也是具有特殊意义的单词。指令符只在特殊的程序位置或当上下文关联时有意义的程序片段中使用,在其他场合可以对其进行重新定义。Object Pascal中规定了39个指令符:
|
指令符 |
|||||
|
absolute |
abstract |
assembler |
automated |
cdecl |
contains |
|
default |
dispid |
dynamic |
export |
external |
far |
|
forward |
implements |
index |
message |
name |
near |
|
nodefault |
overload |
override |
package |
pascal |
private |
|
protected |
public |
published |
read |
readonly |
register |
|
reintroduce |
requires |
resident |
safecall |
stdcall |
stored |
|
virtual |
write |
writeonly |
1.4保留字和指令符汇总
|
保留字或指令符 |
用途 |
|
absolute |
指令(变量) |
|
abstract |
指令(方法) |
|
and |
运算符(布尔) |
|
array |
类型 |
|
as |
运算符(RTTI) |
|
asm |
语句 |
|
assembler |
向后兼容(汇编) |
|
at |
语句(异常处理) |
|
automated |
访问类别符(类) |
|
begin |
块标记 |
|
case |
语句 |
|
cdecl |
函数调用协定 |
|
class |
类型 |
|
const |
声明或指令(参数) |
|
constructor |
特殊方法 |
|
contains |
运算符(集合) |
|
default |
指令(属性) |
|
destructor |
特殊方法 |
|
dispid |
dispinterface 接口类别符 |
|
dispinterface |
类型 |
|
div |
运算符 |
|
do |
语句 |
|
downto |
语句(for) |
|
dynamic |
指令(方法) |
|
else |
语句(if或case) |
|
end |
块标记 |
|
except |
语句(异常处理) |
|
export |
向后兼容(类) |
|
exports |
声明 |
|
external |
指令(函数) |
|
far |
向后兼容(类) |
|
file |
类型 |
|
finalization |
单元结构 |
|
finally |
语句(异常处理) |
|
for |
语句 |
|
forward |
函数指令 |
|
function |
声明 |
|
goto |
语句 |
|
if |
语句 |
|
implementation |
单元结构 |
|
implements |
指令(属性) |
|
in |
运算符(集合) |
|
index |
指令(dispinterface 接口) |
|
inherited |
语句 |
|
initialization |
单元结构 |
|
inline |
向后兼容(见asm) |
|
interface |
类型 |
|
is |
运算符(RTTI) |
|
label |
声明 |
|
library |
程序结构 |
|
message |
指令(方法) |
|
mod |
运算符(数学) |
|
name |
指令(函数) |
|
near |
向后兼容(类) |
|
nil |
数值 |
|
nodefault |
指令(属性) |
|
not |
运算符(布尔) |
|
object |
向后兼容(类) |
|
of |
语句(case) |
|
on |
语句(异常处理) |
|
or |
运算符(布尔) |
|
out |
指令(参数) |
|
overload |
函数指令 |
|
override |
函数指令 |
|
package |
程序结构(控件包) |
|
packed |
指令(记录) |
|
pascal |
函数调用协定 |
|
private |
访问类别符(class) |
|
procedure |
声明 |
|
program |
程序结构 |
|
property |
声明 |
|
protected |
访问类别符(类) |
|
public |
访问类别符(类) |
|
published |
访问类别符(类) |
|
raise |
语句(异常处理) |
|
read |
属性类别符 |
|
readonly |
dispatch 接口类别符 |
|
record |
类型 |
|
register |
函数调用协定 |
|
reintroduce |
函数指令 |
|
repeat |
语句 |
|
requires |
程序结构(控件包) |
|
resident |
指令(函数) |
|
resourcestring |
类型 |
|
safecall |
函数调用协定 |
|
set |
类型 |
|
shl |
运算符(数学) |
|
shr |
运算符(数学) |
|
stdcall |
函数调用协定 |
|
stored |
指令(属性) |
|
string |
类型 |
|
then |
语句(if) |
|
threadvar |
声明 |
|
to |
语句(for) |
|
try |
语句(异常处理) |
|
type |
声明 |
|
unit |
单元结构 |
|
until |
语句 |
|
uses |
单元结构 |
|
var |
声明 |
|
virtual |
指令(方法) |
|
while |
语句 |
|
with |
语句 |
|
write |
属性类别符 |
|
writeonly |
dispatch 接口类别符 |
|
xor |
运算符(布尔) |
1.5注释
Object Pascal语言中的注释:
- 组合符号 { 与 } 成对使用表明被包括的内容为注释内容。
- 组合符号 (* 与 *) 成对使用表明被包括的内容为注释内容。
- 符号 // 的单个使用表明所在行的该符号之后的内容为注释内容。
例如:
{花括号注释}
(*圆括号/星号注释*)
//C++风格的注释
注意,一样类型的注释不要嵌套使用。虽然不同类型的注释进行嵌套在语法上是合法的,但不提议这样做。例如:
{(*这是合法的*)}
(*{这是合法的}*)
(*(*这是非法的*)*)
{{这是非法的}}
















- 最新
- 最热
只看作者