「Dafny雜記」修訂間的差異

出自Tan Kian-ting的維基
跳至導覽 跳至搜尋
行 41: 行 41:


== 參考 ==
== 參考 ==
* https://dafny.org/dafny/Installation
* [https://www.cse.unsw.edu.au/~anymeyer/2011/refs/GettingStarted.pdf Tutorial: Making a start in Dafny] by Albert Nymeyer

於 2023年8月10日 (四) 02:01 的修訂

安裝

  1. Ubuntu 系Linux:先灌 .NET 6.0 sudo apt install dotnet-sdk-6.0
  2. 下載最新版本,解壓縮 (unzip) 後,dafny/dafny 就是執行檔了。
  • 註:這東西打包到 appimage 失敗。可能不適合用 appimage 打包成獨立程式檔。

測試

Hello World

hello.dfy

method Main(){ // 記得大寫
    var a := 1 + 1; // 局域變數用 := 設定值
    print "Hello,汝好\n";
    assert a == 2; // 斷言 a == 2,編譯會過
}


編譯並執行:

dafny/dafny /compile:3 /path/to/hello.dfy

(其中/compile:1 變成 /compile:1是純編譯)


編譯結果,沒有錯誤:

$ dafny/dafny /compile:3 /path/to/hello/a.dfy

Dafny program verifier finished with 1 verified, 0 errors
Compiled assembly into a.dll
Running...

Hello,汝好

參考