タグ

PEGに関するgfxのブックマーク (3)

  • parslet - Transformation

    Parslet parsers output deep nested hashes. Those are nice for printing, but hard to work with. The structure of the nested hashes is determined by the grammar and can thus vary largely. Testing for the presence of individual keys would produce code that is hard to read and maintain. This is why parslet also comes with a hash transformation engine. To construct such a transform, you have to derive

    gfx
    gfx 2014/07/07
  • Perl-5.14 で解析表現文法 - Tociyuki::Diary

    先読み機能付き左選択肢優先の正規表現用 NFA にプッシュダウン・スタックをつけてリエントラントに書き直し、欲張りマッチングの後戻りバックトラッキングを止めにすると、そのままwikipedia:解析表現文法 (Parsing Expression Grammar, PEG と略す) を解釈できるオートマトンになります。 さて、Perl は 5.8 の頃から既にバックトラック抑制機能をもっており、さらに 5.14 の組み込みエンジンは解析表現埋め込みの Perl 実行文含めてリエントラントに動くように書き直されたものになっています。ということで、Perl-5.14 なら PEG をそのまま正規表現感覚で実行可能になっているというわけです。PEG は正規表現にかなり近い記法ではあるのですけど、それでも慣れ親しんだ正規表現の記法そのままで PEG できるのは素晴らしく、さすがに、まだ CPAN

    Perl-5.14 で解析表現文法 - Tociyuki::Diary
    gfx
    gfx 2012/04/15
  • はてなブログ | 無料ブログを作成しよう

    盛岡旅行記 なぜ盛岡か。 白龍 店のじゃじゃ麺 岩手銀行赤レンガ館 白沢せんべい店の南部せんべい 盛岡天満宮と盛岡八幡宮 チーズケーキのチロル 大通店のクリームチーズケーキ フェザン/イオンタウン 盛岡駅前 盛楼閣の盛岡冷麺 福田パン 長田町店のパン マルイチ 材木町店 …

    はてなブログ | 無料ブログを作成しよう
    gfx
    gfx 2012/01/23
  • 1