Compiler-design-types-of-parsing
提供:Dev Guides
コンパイラ設計-解析の種類
構文解析器は、文脈自由文法によって定義された生成規則に従います。 プロダクションルールの実装方法(派生)は、解析を2つのタイプ(トップダウン解析とボトムアップ解析)に分割します。
トップダウン解析
パーサーが開始シンボルから解析ツリーの構築を開始し、開始シンボルを入力に変換しようとする場合、トップダウン解析と呼ばれます。
- 再帰下降解析:トップダウン解析の一般的な形式です。 再帰的プロシージャを使用して入力を処理するため、再帰的と呼ばれます。 再帰降下解析は、バックトラックの影響を受けます。
- バックトラッキング:プロダクションの派生が失敗した場合、構文アナライザーは同じプロダクションの異なるルールを使用してプロセスを再起動します。 この手法では、入力文字列を複数回処理して、適切な製品を決定できます。
ボトムアップ解析
名前が示すように、ボトムアップ解析は入力シンボルから開始し、開始シンボルまで解析ツリーを構築しようとします。
- 例: *
入力文字列:a + b* c
生産ルール:
ボトムアップ解析を開始しましょう
入力を読み取り、入力と一致する生産があるかどうかを確認します。