Dafny 能否以非交互方式使用,例如从 python 程序中使用?

Can Dafny be used non-interactively, for example from a python program?

我想查询特定的 Dafny 程序是否验证。 Dafny 通常用于在 visual studio IDE.

中以交互方式开发程序

但是,我需要以非交互方式执行查询。特别是我需要从 python 程序中查询 Dafny。这可能吗?

您可以从 python 调用 dafny.exe,将包含您要验证的愚蠢程序的文件的名称作为参数传递。请看这个 other answer on how to call external commands from python

您可以通过 运行 dafny.exe/? 开关获得有关 dafny 命令行参数的帮助。

您将需要解析 dafny 的输出以确定验证是否成功dafny test suite 以这种方式工作。

您可能想看看 code of this project 做类似的事情,但是来自 Java.