構文解析

更新日:

用語解説

構文解析は、字句解析で得たトークン列が文脈自由文法等の構文規則に適合するかを調べ、解析木又は抽象構文木を構築する工程です。

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

  • 演算子の優先順位・結合規則、文、式、宣言、ブロックの入れ子を認識し、括弧不足や不正なトークン順を構文エラーとして検出します。

  • 上から規則を展開するLL・再帰下降等のトップダウン方式と、入力から規則を還元するLR等のボトムアップ方式があります。

  • 解析木は文法上の全記号を表し、抽象構文木は括弧等を省いて演算・文の本質的構造を表し、後続工程で利用します。

  • 字句解析の後、意味解析の前に位置し、変数が宣言済みか、型が一致するか等は構文が正しくても意味解析でエラーになり得ます。

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

トークン列→構文木の工程です。字句解析、意味解析、コード生成との入力・出力の違いを対応付けます。

例: トークン列「a + b * c」は乗算優先規則により、根が+、左がa、右が「b * c」の部分木となる抽象構文木へ変換されます。

音声で聞く

同じ分野の用語