ACSL设置逻辑/ frama-c语法错误

时间:2012-03-31 13:12:45

标签: frama-c

我在Mac上使用的是Frama-c的氮版本,似乎无法使用 “集合”逻辑,如ACSL手册中所述,例如,我无法声明 一个ghost变量,如“// @ ghost set< integer> someSet;”。

frama-c程序总是抱怨在声明一个集合的行中出现语法错误,无论如何。

我也试过“Set”而不是“set”,其他类型代替“integer”(例如“char *”)并指定“// @ open set;”导入模块。

也许我需要指定一些命令行选项?执行“frama-c -kernel-help”虽然不清楚它会是什么。

或许Mac版本(我下载了英特尔二进制版本)已经过时了,我应该编译最新的源代码?

谢谢,最好的问候,

爱德华

1 个答案:

答案 0 :(得分:2)

ACSL是一种独立于Frama-C的注释语言,尽管有些人同时使用它们。从在Frama-C插件中使用ACSL的角度来看,有三个级别的定义/实现,您需要这三个级别才能使用功能:

同一区别的另一种解释是here

  

我无法在“// @ ghost set someSet;”中声明一个ghost变量。

在您的情况下,部分实现的功能似乎不是那么多集合(在快速查看后似乎在前端实现),而是ghost代码,目前只能使用C构造和类型。

  

或者Mac版本(我下载了英特尔二进制版本)是   过时了,我应该编译最新的源代码?

您目前拥有最新版本。