Pythonで学ぶ解析表現文法と構文解析 [読書]
https://www.morikita.co.jp/books/mid/085651
読了
解析表現文法とは PEG のことなんだそうで、構文解析入門的な書籍。
この書籍執筆のために書かれた pegtree を使ってPEG記法でパーサを書くことを解説した本。
非常によかった。
過去、 yacc や ANTLR の本を読んでも理解しきれなかった自分でも構文解析器が書けそうな気がしてきた。
数式と、最低限の機能のプログラミング言語 (Chibi言語)を例題にしていることと、PEG の曖昧さのないところが、以前読んだ構文解析の本より理解できた原因なんだろうと思う。
書籍の分量の少ないことで、ギリ理解できた。
もっとたいそうな仕様のプログラミング言語を扱ってたら、どこかで挫折してたと思う。
最初の章で手書きのパーサーで数式を処理しようとして「演算子の優先度とか考えて手書きするの難しいよねー」というところから始まるのも初学者への導入としてとても良いと思う。
今まで読んだ本だと、問答無用で 「yacc は LALR パーサージェネレーターで・・・」とか始まっちゃうけど、それは僕には難しかった。
8章以降は難しくてさっぱり理解できなかったが、後半は PEGパーサー自体を書くという話なので、7章までと付録を読めば pegtree を使ってパーサ書くことはできそう。
ちなみに、 CPython3.9 から PEG パーサーになったらしいが、そのこととこの本とは関係ない。
読了
解析表現文法とは PEG のことなんだそうで、構文解析入門的な書籍。
この書籍執筆のために書かれた pegtree を使ってPEG記法でパーサを書くことを解説した本。
非常によかった。
過去、 yacc や ANTLR の本を読んでも理解しきれなかった自分でも構文解析器が書けそうな気がしてきた。
数式と、最低限の機能のプログラミング言語 (Chibi言語)を例題にしていることと、PEG の曖昧さのないところが、以前読んだ構文解析の本より理解できた原因なんだろうと思う。
書籍の分量の少ないことで、ギリ理解できた。
もっとたいそうな仕様のプログラミング言語を扱ってたら、どこかで挫折してたと思う。
最初の章で手書きのパーサーで数式を処理しようとして「演算子の優先度とか考えて手書きするの難しいよねー」というところから始まるのも初学者への導入としてとても良いと思う。
今まで読んだ本だと、問答無用で 「yacc は LALR パーサージェネレーターで・・・」とか始まっちゃうけど、それは僕には難しかった。
8章以降は難しくてさっぱり理解できなかったが、後半は PEGパーサー自体を書くという話なので、7章までと付録を読めば pegtree を使ってパーサ書くことはできそう。
ちなみに、 CPython3.9 から PEG パーサーになったらしいが、そのこととこの本とは関係ない。
コメント 0