类型表达式
基本类型
- 基本类型是类型表达式
- 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))$
是一个类型表达式。
例如: