ドラゴンブックを紆余曲折でようやく購入。
…長かった。ここまで到達するのに。
コンパイラ―原理・技法・ツール〈1〉 (Information & Computing)コンパイラ―原理・技法・ツール〈2〉 (Information & Computing)
JAVACCから始まった構文解析の学習と平行して、正規表現の独自実装方法を調べ始めて、計算機理論の基礎、オートマトン関連本、そしてステートマシンをC/C++で実装するテクニック本を経て、結局、いきついたのは定番の「ドラゴンブック」でした。
しかし、この紆余曲折は無駄ではなかったと思う。
CSVの解析*1、とかJSPの<% 〓 %>切り出しとか、${名前}のような変数展開を独自実装する場合、これらをステートマシンで表現すると、非常に効率的且つ素直で明快なロジックで書けることにいまさらながら気づいた。
本格的なパーザを組まなくても十分に役立つ。