概述
Lustre v6 中的 Lustre Core 部分支持的表达式种类中,支持数组操作表达式。相关的表达式包含数组构造、数组拼接、数组切片、取数组元素等操作。相应的文法定义如下
Expression ::= [ ExpressionList ]
| Expression ^ Expression
| Expression | Expression
| Expression [ Expression ]
| Expression [ Select ]
Select ::= Expression .. Expression Step
Step ::= [ step Expression ]
数组构造
构造数组有两种方式,一种为使用 []
构造,另一种为使用 ^
构造。相应的文法定义如下
Expression ::= [ ExpressionList ]
| Expression ^ Expression
使用[]
构造数组的例子如下。在该例程中,构造一维数组,元素分别为1,2,3
。
function arrDefExpr() returns (o: int^3)
let
o = [1,2,3];
tel
使用 ^
构造数组的例子如下。在该例程中,构造了一维数组,元素类型为布尔类型,长度为3,元素值为 true。
function caretExpr() retur