Home > Archives > 17 July 2017

17 July 2017

Python で PEG る

幾つか試して直感的に使えたのが Arpeggio.サンプルとかちゃんとしているのでそれをイジれば様相がつかめる.

とりあえず,pip install Arpeggio で入る.楽.

あとは,関数が非終端で,タプルがシーケンスで,リストが選択で,正規表現や文字列(を指定されたクラスに包んだもの)が終端でと.オプションとか否定述語とかはそれぞれ対応するクラスに包む.文法の定義も楽.

だがしかし,セマンティックアクションの実装が文法定義と離れて visitor を書くことになるのでちょっとやりづらい? 文法が大きくなってくるとセマンティックアクションが近くにあってほしい気もする.エディタの画面をふたつ開いておけば良いのかもしれないけれど.

Home > Archives > 17 July 2017

Search
Feeds

Page Top