表达式是语言的重要组成部分。表达式有很多种。编译器中的表达式规则是最大的规则。
下表按照编译器识别的顺序列出了各种表达式类型。某些表达式类型将在单独的主题中介绍。
正如您所看到的,大多数表达式类型都是递归的。它们包含一个或多个对子表达式的引用
表达式类型 |
语法 |
---|---|
成员访问 |
表达式? (.|:) 标识符 |
使用标点符号访问成员(在运行时解决) |
表达式? (.|:) &标识符 |
方法调用 |
表达式 ( 参数列表? ) |
数组元素访问 |
表达式 [ 参数列表] |
有条件的访问 |
表达式 ? boundexpression |
类型 |
( datatype ) |
后缀 |
表达式 (++ | --) |
等待 |
AWAIT 表达式 |
StackAlloc(堆栈分配) |
STACKALLOC 表达式 |
前缀 |
(+|-|~|@|++|--|^) 表达式 |
类型检查 |
表达式 IS datatype VAR newVariable |
As 类型检查 |
表达式 ASTYPE datatype |
幂 |
表达式 (^|**) 表达式 |
百分比 |
表达式 (*|/|%) 表达式 |
正数 |
表达式 (+|-) 表达式 |
LShift |
表达式 << 表达式 |
RShift |
表达式 >> 表达式 |
比较 |
表达式 OPERATOR 表达式, |
Bitwise And |
表达式 & 表达式 |
Bitwise XOR |
表达式 ~ 表达式 |
Bitwise OR |
表达式 | 表达式 |
Not 表达式 |
(.NOT. | !) 表达式 |
逻辑和表达式 |
表达式 (.AND.|&&) 表达式 |
逻辑或表达式 |
表达式 (.OR. | ||) 表达式 |
Default 表达式 |
表达式 DEFAULT 表达式 |
赋值表达式 |
表达式 ASSIGN_OP 表达式 |
Primary 表达式 |