Lustre語言
外觀
Lustre是形式化定義的、聲明式佮仝步數的資料流程編程語言,用佇咧回應式系統編程。伊佇一九八空年代前期成做研究專案,受著過 Lucid 語言的影響。這个語言的形式表述會當佇一九九一年的《Proceedings of the IEEE》揣著。佇一九九三年,伊發展進入實際的商業佮工業使用,成做一个商業產品,伊是愛斯特爾技術公司開發的工業環境 SCADE 的核心語言。伊予人用佇空中 bá-suh、空客直升機佮核電廠的關鍵控制軟體中。
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 ` ` `
參見
- Esterel
- SIGNAL(另外一種面向資料流程仝步語言)
- 仝步數編程
- Lucid ( 程式語言 )
- 資料流程編程
參照
外部連結
- Synchrone Lab Official website
- SCADE product page