Parse::RecDescentの文法の中でモジュールを使う

読了まで:約0分


概要: Parse::RecDescent の文法定義の中でモジュールの関数を使う方法。


最近自作記法のモジュールを一から作り直していて、 Parse::RecDescent でパーサを書いてるんだけど、 そのときに文法の中で他のモジュールの関数とかを使う方法。

Parse::RecDescent の文法に書いたコードブロックは、 Parse::RecDescent の名前空間で実行されるので、パーサの中で、

package My::Parser;
use strict;
use warnings;
use Parse::RecDescent;
{
package Parse::RecDescent;
use Some::Module qw( foo bar );
}

見たいにしてやれば、Parse::RecDescent の文法の中で他のモジュールの関数が使えるようになる。

Parse::RecDescent はパーサをプリコンパイルできるらしいんだけど、 そっちの方は試してないのでこの方法で出来るかどうか不明。

最近やってることっていうと自作記法のモジュール作ってるぐらいなので、 本当に Blog に書くことがない。Plagger もいじってないし。

更新するネタがないのはしばらく続きそうだ。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。