2

Macで窒素バージョンのFrama-cを使用していますが、ACSLマニュアルに記載されているように、「設定」ロジックを使用できないようです。たとえば、「//@」のようにゴースト変数を宣言できません。 ghost set <integer>someSet;"。

frama-cプログラムは、セットが宣言されている行の構文エラーについて、何があっても常に文句を言います。

また、「set」の代わりに「Set」を試し、「integer」の代わりに他のタイプ(「char *」など)を使用して、「//@openset;」を指定しました。モジュールをインポートします。

たぶん私はいくつかのコマンドラインオプションを指定する必要がありますか?「frama-c-kernel-help」を実行すると、それがどうなるかは明確ではありません。

または、Macバージョン(Intelバイナリバージョンをダウンロードした)が古くなっているため、最新のソースコードをコンパイルする必要がありますか?

感謝をこめて、

エドゥアルド

4

1 に答える 1

2

ACSLは、Frama-Cとは独立して存在する注釈言語ですが、同じ人物の中には両方で作業している人もいます。Frama-CプラグインでのACSLの使用の観点から、定義/実装には3つのレベルがあり、機能を使用するには3つすべてが必要です。

  • この機能はACSL言語の一部である必要があります。
  • 現在のFrama-Cフロントエンドで利用できるようにする必要があります。ACSL言語のすべての機能がフロントエンドにすぐに実装されるわけではありません。
  • 使用するプラグインはそれを利用する必要があります。

同じ区別の別の説明はここにあります。

「//@ghostsetsomeSet;」のようにゴースト変数を宣言できません。

あなたの場合、部分的に実装された機能はそれほど多くのセットではなく(簡単に見てみるとフロントエンドに実装されているように見えます)、現在C構造と型のみを使用できるゴーストコードのようです。

または、Macバージョン(Intelバイナリバージョンをダウンロードした)が古くなっているため、最新のソースコードをコンパイルする必要がありますか?

現在、最新バージョンを使用しています。

于 2012-03-31T13:36:00.407 に答える