CPANに登録されているモジュール、Parse::RecDescentのメモ。
use Parse::RecDescent;
要はBNFを書けばいいらしいです。BNFって実際に使うんですね。
試験にしか出ないと思ってました。そして試験に使って以来すっかり忘れました。
$grammar = q(
rule_name1 : "a" { $return = "<$item[1]>" }
);
$parser = new Parse::RecDescent ($grammar) or die "Bad grammar!\n";
http://rainyday.blog.so-net.ne.jp/2007-04-01
http://blog.goo.ne.jp/yulali/e/f2a9a8c2e46b419c915f4b6aab81e7cb
ありがとうございました。