最近、Raccに興味を持っていて、いろんなサイトの記事を読んでいるのですが、その中で、面白い記事を見つけました。
とても丁寧な解説でありがたいのですが、Racc特有の文法(header,rule,inner,footerなど)に慣れていないと、掲載されているコード片をどうやって繋げればよいのか分からない部分もありました。
試行錯誤の結果*1、以下のようになったのですが、
- Racoonクラスはどこで定義するのか?
- そして、どこでインスタンス化するのか?
など、自己流で書いているのでRaccの流儀に合わないところなどあれば、ご指摘いただければ幸いです。
racoon.y
実行
$ racc -g -o racoon_parser.rb racoon.y; ruby racoon_parser.rb