簡體   English   中英

WP插件:Alt-Ergo語法錯誤

[英]WP plugin: Alt-Ergo Syntax Error

對於下面的C函數,我從Alt-Ergo獲取了最新版本的Frama-c的語法錯誤。

frama-c -wp -wp-rte -lib-entry  RoundNearestFive.c   -wp-out temp -wp-model="nat, real"

我不確定在此生成的行中出了什么問題:

 ...
      let r_0 = dat_0 / 5.0e0 : real in   /* syntax error here */
    ...

正在分析的C函數

typedef unsigned short int uint16;


/*@
  @ requires 0<=dat<= 300;
*/
uint16 RoundNearestFive(float dat)
{
    uint16 result= 0;
    float fra = 0;

    result = (uint16)(dat/5);

    fra = dat - (float)result*5; // fractional part of the input

    if (fra < 2.5)
        result = (uint16) (dat-fra);
    else
        result = (uint16) (dat+(5-fra));

        return result;
}

我在下面的公式上嘗試了Alt-Ergo(0.95.2版和主干),但沒有語法錯誤。 您是否在使用舊版本的Alt-Ergo? 或語法錯誤可能在其他地方。

-

邏輯dat_0:真實

目標g:讓r_0 = dat_0 / 5.0e0:實於(*此處語法錯誤*)否

WP用戶手冊明確指出不支持0.95之前的Alt-Ergo版本(請參閱第21頁)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM