よくある質問(FAQ)

C言語仕様(ANSI-C,C99,GNU-C)に準拠しない記述(キーワード)で解析エラーが発生しました。

解析エラーの回避策について

質問

C言語仕様 (ANSI-C,C99,GNU-C) に準拠しない記述で、解析エラー「CasePlayer2-E-SYN : ; が必要です」が発生しました。どのように対処すれば良いですか?

回答

「CasePlayer2-E-SYN : ; が必要です. 」のメッセージは、ソースコードにコンパイラ特有の記述など、標準の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、C99、GNU-C) では使われません。このワードがCasePlayer2で正しく解釈できず、その結果エラーが発生します。

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

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

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

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

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

【参考情報】「Cオプションパラメータ」について 詳細はこちら