コンパイラ学習その3, 本の続き
コンパイラの構成と最適化を読み進めた。 疲れてきてるのかLL文法の定義が全然頭に入ってこなくて今日はここまで。
"コンパイラの構成と最適化"では文法として以下の3つとその応用があればそれを説明している。 それぞれの解析手法として演算子順位解析手法、LR構文解析、再帰下降構文解析(LL)を解説していて丁寧。
- 演算子順位文法
- LR文法
- SLR, LALR
- LL(k)文法
- 一般的にはLL(1)
一方で"言語実装パターン"では基本的な構文解析パターンとしてLL(k)とその解析手法としての再帰下降構文解析を説明して、高度な構文解析パターンで、パックラット構文解析、後戻り構文解析器、メモ化構文解析器、述語制御構文解析器をパターンとして解説している。 さらに"言語実装パターン"では構文解析器の種類やその走査、書き換えについても章を割いて説明していて、両方を行ったり来たりしながら読むと良さそうって感じで盛り上がってる。
ところで正月休み終わるのにコンパイラやってて大丈夫なのだろうか?まあ、大丈夫なんだが。。。