コンパイラの構成(字句解析・構文解析・最適化)とは?
コンパイラの構成(字句解析・構文解析・最適化)とは、ソースコードを機械語に翻訳するコンパイラの内部処理の流れ。文字列を意味のある単語(トークン)に分割する「字句解析」、トークン列が文法規則に沿っているか確認し構文木を作る「構文解析」、無駄な処理を省くなどして実行効率を高める「最適化」、最終的に目的コードを生成する「コード生成」の段階で進む。
システムアーキテクト試験の過去問では2回出題されています。
こんぱいらのこうせい
コンパイラの構成(字句解析・構文解析・最適化)の意味
ソースコードを機械語に翻訳するコンパイラの内部処理の流れ。文字列を意味のある単語(トークン)に分割する「字句解析」、トークン列が文法規則に沿っているか確認し構文木を作る「構文解析」、無駄な処理を省くなどして実行効率を高める「最適化」、最終的に目的コードを生成する「コード生成」の段階で進む。
コンパイラの構成(字句解析・構文解析・最適化)の具体例
x = a + b * c という式は、字句解析で「x」「=」「a」「+」「b」「*」「c」というトークンに分割され、構文解析で乗算を先に計算する優先順位を反映した構文木に組み立てられる。
コンパイラの構成(字句解析・構文解析・最適化)は試験でどう引っ掛けられる?
字句解析と構文解析の担当が入れ替わりやすい。単語(トークン)への切り出しまでが字句解析で、文法規則に合っているかの判定・構文木の構築は構文解析。したがって x = = a のような文法の誤りは字句解析では検出されない。また変数の型の不一致など意味の誤りは構文解析ではなく意味解析の段階で見つかる。最適化を省略してもコンパイル自体は成立するため、必須の段階ではない点も問われる。
コンパイラの構成(字句解析・構文解析・最適化)と関連する用語
コンパイラの構成(字句解析・構文解析・最適化)が出た過去問
純粋関数型言語がもつ特性の一つである参照透過性の説明はどれか。
正解:同じ引数を渡せば、関数は常に同じ結果を返す。
要点:同じ引数なら常に同じ結果を返す性質が参照透過性
参照透過性とは、式をその評価結果で置き換えてもプログラム全体の意味が変わらない性質のことである。関数が外部の状態を読み書きしないため、同じ引数に対しては常に同じ結果が返り、実行順序や実行回数に依存しないので推論やテスト、最適化が容易になる。
出典:令和6年度 春期 システムアーキテクト試験 am2 問8(IPA)リーンソフトウェア開発の説明として、適切なものはどれか。
正解:製造業の現場から生まれた考え方をソフトウェア開発に適用したものであり、“ムダをなくす”、“品質を作り込む”といった七つの原則を重視して、具体的な開発プロセスやプラクティスを策定する。
要点:製造業由来の七つの原則でムダを省くのがリーン開発
リーンソフトウェア開発は、トヨタ生産方式に代表される製造業の現場の考え方をソフトウェア開発へ移したもので、ムダをなくす、品質を作り込む、知識を作り出す、決定を遅らせる、速く提供する、人を尊重する、全体を最適化する、という七つの原則を柱とする。個別の手順というより、開発プロセスやプラクティスを組み立てるための指針を与える点が特徴である。
出典:令和6年度 春期 システムアーキテクト試験 am2 問12(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。