コンパイラ
字句解析でトークンを見分ける規則を表すのによく使われるものはどれか。
- A浮動小数点の丸めの規則
- B正規表現と、それを処理する有限オートマトン
- Cキャッシュの置き換えの規則
答えと解説を見る
正解:B. 正規表現と、それを処理する有限オートマトン
識別子は「英字で始まり英数字が続く」、数値は「数字が1つ以上続く」のように、トークンの種類は正規表現で簡潔に書けます。正規表現は有限オートマトン(状態の数が有限の機械)に変換でき、文字を1つ読むごとに状態を移していくだけで、入力の長さに比例する時間でトークンを切り出せます。そのため字句解析器は、正規表現から自動で生成する道具で作られることも多くあります。丸めやキャッシュの規則は字句解析とは関係ありません。
- A. 丸めの規則は数値計算の話です。
- B. 正しい。正規表現で規則を書き、有限オートマトンで処理します。
- C. キャッシュの置き換えは記憶階層の話です。