类型表达式
基本类型
- 基本类型是类型表达式
- integer
- real
- char
- boolean
- type_error(出错类型)
- void(无类型)
可以为类型表达式命名,类型名也是类型表达式,将类型构造符作用于类型表达式可以构成新的类型表达式
类型构造符
数组构造符
若T是类型表达式,则array(I,T)是一个类型表达式(I是一个整数)
例如:
指针构造符
若T是类型表达式,则pointer(T)是类型表达式,它表示一个指针类型。
笛卡尔乘积构造符$✖$
若$T_1$和$T_2$是类型表达式,则笛卡尔乘积$T_1*T_2$是类型表达式
函数构造符$\rightarrow$
若彤$T_1$、$T_2$、…、$T_n$和R都是类型表达式,则$T_1*T_2*...*T_n\rightarrow{R}$是类型表达式
其中,$T_1$、$T_2$、…、$T_n$为函数参数,R为返回值
记录构造符
若有标识符$N_1$、$N_2$、…、$N_n$与类型表达式$T_1$、$T_2$、…、$T_n$,则$record((N_1*T_1) * (N_2*T_2) *...* (N_n*T_n))$是一个类型表达式。
例如: