(1)はこちら、(2)はこちらから。 静的解析を行うプログラムを書いてみる 静的解析を行うプログラムやツールは世の中にたくさんありますが、特定の機能を満足させるために自分で書きたくなることもあるでしょう。本節では、ソースコード内の変数名(簡単化のため、ローカル変数かつスカラ変数に限定します)がミススペリングしていた場合に警告を出す静的解析プログラムをCompiler::Lexerを使って書いていくことで、静的解析をするプログラムの書き方を俯瞰(ふかん)します。 本節で解析の対象とするソースコードは次に示すspell.plです。 nameは英語辞書に載っている正しい英単語なので警告を出さず、namaeは「なまえ」を単純にローマ字にしただけの言葉で英単語ではないので警告を出す、という挙動を実装するのがゴールです。 Compiler::Lexerでトークン列に分割する まず、ソースコードを解析