ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

CasePlayer2解析に関する問題

019_07 : CasePlayer2にソースを登録して解析しましたが、「CasePlayer2-E-SYN : ; が必要です」のエラーが発生します。

【質問】
CasePlayer2にCソースを登録してプロジェクトメニューの「全仕様書生成」を実行してみましたが、「CasePlayer2-E-SYN : ; が必要です」のエラーが発生して、解析が進みません。どのように対処すれば良いですか?

【回答】
「CasePlayer2-E-SYN : ; が必要です. 」のメッセージは、ソースコードにクロスコンパイラコンパイラ特有の記述など、ANSI-Cに準拠しない記述が含まれており、その構文をCasePlayer2が解析できない場合に表示されます。

下の例では、etos.cの2行目に該当する記述が含まれていることを示しています。

仕様書生成開始...
Cソースの詳細解析中...
C:\SL1\SL1 0 Management\support\etc\FAQ\019_07\test\src\etos.c
CasePlayer2-E-SYN : ; が必要です.
C:\SL1\SL1 0 Management\support\etc\FAQ\019_07\test\src\etos.c(2)
CasePlayer2-I-COMP : エラー:1 警告:0
仕様書生成エラー終了.

以下の様な記述がある場合に、このエラーが発生します。

direct int var1;

この例では、「direct」はコンパイラ特有の記述であり、一般的なC言語(ANSI-C)では使われません。このワードがCasePlayer2で正しく解釈できず、その結果エラーが発生します。

CasePlayer2には、このようなコンパイラ特有の記述の意味を指定する機能があります。「direct」は記憶クラスを指定するキーワードであるため、これをCasePlayer2に設定して正しく解釈させるようにします。

「設定」タブにある「Cオプションパラメータ」を開いて下さい。「ユーザーキーワード」の指定にて、

キーワード: direct  種類: STRAGE  後置記述: 空欄

に設定することで、directを記憶クラスのワードとして正しく解釈するようになります。

「ユーザキーワード」「置き換えキーワード」の設定は、*.rvcファイルに書き込まれます。*.rvcファイルはCasePlayer2のプロジェクトフォルダ(*.vprojファイルがあるフォルダ)に自動生成されるテキストファイルです。下記例をご覧ください。

【解析エラーとなる記述とユーザーキーワードの例】

その他ユーザキーワードの設定によってエラー回避可能な例として、下記のようなものがあります。

INT32 value;
キーワード: INT32  種類: TYPE  後置記述: 空欄
※INT32を「型の定義」として解釈させる


near int value;
キーワード: near  種類: TYPEATT  後置記述: 空欄
※nearを「型修飾子の定義」として解釈させる。

キーワードに続いて( )にパラメータを持つような記述の場合は、「後置記述」の項目に「(EXPRESSION)」を指定します。

__asm("LAB2:");
キーワード: __asm  種類: ASM  後置記述: (EXPRESSION)
※インラインアセンブラ記述の定義として解釈させる

応用として、以下の様な記述では、

#define _ARMABI __declispec(__nothrow) __pure
_ARMABI volatile int *func(void);

キーワード: __declispec  種類: IGNORE  後置記述: (EXPRESSION)
※キーワード「__declispec」及び後置記述「__nothrow」を無視
キーワード: __pure  種類: IGNORE  後置記述: 空欄
※キーワード「__pure」を無視


関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: 解析エラー | ユーザーキーワード

他のキーワード検索


参考情報・リンク