Lustre语言

Lustre是形式化定义的、声明式和同步式的数据流程编程语言，用于响应式系统编程。它在1980年代前期成为了研究项目，受到过Lucid语言的影响。这个语言的形式表述可以在1991年的《Proceedings of the IEEE》找到。在1993年，它发展进入实际的商业和工业使用，成为一个商业产品，它是开发的工业环境SCADE的核心语言。它被用于在空中客车、空客直升机和核电厂的关键控制软件中。

Lustre程序的结构

Lustre程序是一系列的“节点”定义，写为：
 node foo(a : bool) returns (b : bool);
 let
   b = not a;
 tel

这里的foo是节点的名字，a是这个节点的单一输入的名字，而b是单一输出的名字。在这个例子中，节点foo返回对它的输入a的否定，这是于预期的结果。

内在变量
额外的内部变量可以声明如下： 
  node Nand(X,Y: bool) returns (Z: bool);
    var U: bool;
  let
    U = X and Y;
    Z = not U;
  tel
注意：等式的次序并不重要，行U = X and Y;和Z = not U;的次序不改变结果。

特殊算子

例子

边缘检测
 node Edge (X : bool) returns (E : bool);
 let
   E = false -> X and not pre X;
 tel

参见

（另一种面向数据流程同步语言）
同步式编程
Lucid (编程语言)
数据流程编程

引用

外部链接
Synchrone Lab  Official website
SCADE product page

宣告式编程语言
硬件描述语言
同步式编程语言