generated at
トップダウン構文解析
top-down parser
解析木の根から葉へと導出を繰り返す
まず大きな要素から開始して徐々に細部に分解していく
根から最左導出と同じ順番で解析木を生成していく
生成規則をそのままプログラムと見るのでHaskellやOCamlのような関数型の言語でParserを書くととても書きやすいし、簡潔になるmrsekut


問題点
後戻りが必要になることがある
構文規則を見たときに適用すべき規則が一意に定まらない
後戻りがある状態での解決策
後戻り自体を消す解決策
先読みをする
左再帰の除去を使って解決する


トップダウン構文解析の例