意味解析

更新日:

用語解説

意味解析は、構文解析で得た構文木に対し、宣言、型、スコープ、引数、アクセス規則等を確認し、文法だけでは表せない意味上の整合性を検査する工程です。

■ 試験で押さえるポイント

  • 識別子の宣言・参照を記号表で結び付け、変数の有効範囲、重複宣言、関数の引数数・型、代入可能性を確認します。

  • 必要に応じ暗黙の型変換を挿入し、各構文木ノードへ型や参照先等の属性を付け、後続の中間コード生成へ渡します。

  • 「整数+文字列」や未宣言変数はトークン列・構文として正しくても、言語規則に合わなければ意味エラーです。

  • プログラムが業務要求どおりか、停止するか、全実行時エラーがないかまで一般に証明する工程ではありません。

■ 選択肢での判断ポイント

構文木に対する型検査、宣言・スコープ確認、記号表利用が該当します。括弧対応の検査は構文解析です。

例: 「int n; n = "abc";」は文法上は代入文ですが、記号表でnが整数型と分かるため、文字列を代入できない意味エラーになります。

音声で聞く

同じ分野の用語