本篇 Scade 语言教程将讲述 Scade 语法中的常量声明块。
在 Scade 文法定义中,与常量声明块相关的定义部分如下
const_block ::= const {{ const_decl ; }}
const_decl ::= interface_status ID : type_expr [[ = expr ]]interface_status ::= [[ visibility ]] [[ external ]]
visibility ::= private
| public
external ::= imported
const
声明块由关键字 const
作为开始,随后以 0 至多个常量声明语句组成。
常量声明语句的文法形式为 const_decl ::= interface_status ID : type_expr [[ = expr ]]
。其中,interface_status
中的 external
组成部分,指示该常量类型是否是导入常量(imported constant)。导入常量指的是,该常量不由 Scade 语言定义,而是由外部 C 程序定义常量的值。
当常量是导入常量时,常量声明中 [[ = expr ]]
定义部分需要被忽略。当常量不是导入常量时,常量声明中 [[ = expr ]]
需要存在。
样例常量声明块如下
const
CIVAL : int8 = 0;
CBVAL : bool = false;
CFVAL : float32 = 0.0;function constBlock() returns (ival: int8; bval: bool; fval: float32)
letival = CIVAL;bval = CBVAL;fval = CFVAL;
tel