0

私は kframework を学ぼうとしています。演習として、ビデオ ゲーム用のスクリプト言語にコンパイルされる高水準言語を作成しようとしました。この高水準言語は実際には実行せず、書き換え規則を使用してスクリプト言語にコンパイルするだけです。

以下の元のスクリプト言語構文の例

variables {
  0: 'message'
}

init {
  SetVariable("message", "Test message");
}

rule("press button") {
  conditions {
    IsButtonPressed(EventPlayer, INTERACT_KEY);
  }
  actions {
    SendMessage(EventPlayer, GetVariable("message"))
  }
}

高水準言語で適切な変数宣言ができるようにしたかったので、代わりにこのようなものを書くことができ、上記のスクリプトにコンパイルされます。

init {
  var message = "Test message";
}

rule("press button") {
  conditions {
    IsButtonPressed(EventPlayer, INTERACT_KEY);
  }
  actions {
    SendMessage(EventPlayer, message)
  }
}

変数宣言var x = ySetVariable("x", y).

K の機能、またはこれを行う方法を誤解している可能性が非常に高いです。どんな助けでも大歓迎です。

4

1 に答える 1