跳至內容

Lustre語言

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

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