タグ

Perlとモジュールに関するhiroyukimのブックマーク (2)

  • Perl5 における B optree の操作方法入門 - tokuhirom's blog

    いよいよ今週から YAPC だ。YAPC にあわせて、Perl5 の内部構造を復習できるエントリーを書いたのでご一読いただきたい。 Perl5 hack においては、XS をつかった B optree の操作が楽しい。B optree というのはいわゆる AST(抽象構文木) である。Perl5 は byte code interpreter などではなく昔ながらの AST をそのままなめるインタプリタである。であるから、この B optree を操作すれば、簡単にインタプリタの挙動を変えられるというワケ。 一方で、B optree の操作については、あまり知られていないし情報がすくない。日語でも情報がすくないし、英語でもまた情報がすくなく、それっぽいモジュールのコードをよみながら会得するしかないのが現状だ。 すこしでも B 初心者が、ステップアップできるように、私のもっている情報をここ

  • Parse::RecDescent 使ってみた - amari3の日記

    最近、字句解析やら構文解析に興味があるので、perl の強力なパーサ Parse::RecDescent を使ってみた。まずは簡単に足し算の文法を考えてみる。 バッカス・ナウア記法を使って書いていますが、勉強を始めたばかりなので誤りがあるかもしれません。 expression ::= atom + expression | atom atom ::= [0-9]+ expression の定義 atom + expression もしくは atom atom の定義 0〜9の1回以上の繰り返し これを、Parse::RecDescent を使って実装したのが、以下のソースコードとなる。 #!/usr/bin/env perl use strict; use warnings; use feature qw/say/; use Parse::RecDescent; my $grammar =

    Parse::RecDescent 使ってみた - amari3の日記
  • 1