よくある質問(FAQ)

解析エラーが発生しました。エラー発生原因の調査方法を教えてください。

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

質問

解析エラーが発生していますが、原因の調査方法が分かりません。解析エラーの調査手順を教えてください。

回答

■手順1

使用コンパイラの言語仕様に合わせて、CasePlayer2の言語仕様を選択します。
(※ CasePlayer2は ANSI-C,C99,GNU-C 3種類の言語仕様に対応しています)

言語仕様を変更したときは、再解析「仕様書生成」を行ってください。エラーが回避されない場合は「手順2」へ進んでください。

【参考情報】
・CasePlayer2で解析可能な C99 の記述です。 詳細はこちら
・CasePlayer2で解析可能な GNU-C の記述です。 詳細はこちら

★注意
ANSI-C から C99 (又はGNU-C) へ変更する場合は、使用中の CasePlayer2プロジェクト環境をバックアップしてください。(※変更した C99 及び GNU-C から、元の ANSI-C へ戻すことができません)

■手順2

解析エラーの内容毎に 下記①~④の対策を行います。同時に多数の解析エラーが発生する場合は、先に発生したエラーから順番に対策を行ってください。(※ 先に発生したエラーが原因で後続のエラーが発生しているケースがあります)

① ヘッダファイルのI/Oエラーが発生している場合
「システムヘッダーファイル」や「ユーザ作成のヘッダファイル」のインクルードパスの設定が誤っていたり、設定されていないとき発生します。

【回避策】
正しいインクルードパスを設定することで回避します。 詳細はこちら

② システムヘッダー内で使用しているキーワードが未定義エラーとなる場合
システムヘッダー(stdio.h, ...,_types.h 等)内の記述には、本来「#define ...」定義されているべきキーワードが「暗黙のキーワード」として使用されていることがあります。CasePlayer2では「暗黙のキーワード」の影響を受けた記述は、解析エラーになります。

【回避策】
「暗黙のキーワード」を定義したファイルを「プレインクルードファイル」へ設定することで回避します。 詳細はこちら

③ ①及び②以外の原因で発生しているエラーの場合
ANSI-C、C99、GNU-C から 言語拡張された「キーワード」の影響を受け、解析エラーが発生している可能性があります。

【回避策】
言語拡張された「キーワード」については「Cオプションパラメータ」を設定することで、回避します。詳細はこちら

④ マイコン(コンパイラ)依存の解析エラーの場合
一部のマイコン(コンパイラ)については マイコン固有の記述が存在する場合があり、①~③の対策では回避できません。CasePlayer2では これらのマイコンについて、個別の対策方法を提供しています。

【マイコン】V850、RH850、RL78 【コンパイラ】CA850、CC-RH、CC-RL の対策方法です。 詳細はこちら
【マイコン】RL78、ARM Cortex 【コンパイラ】IAR の対策方法です。 詳細はこちら