Drkcore

10 10 2007 perl HOP Tweet

HOP 8.2

Higher-Order Perl 8章

地道に理解しながら。

my $parser = make_parser_for_grammer 'expression',
  {
   expression => [['INT', '+', 'expression'],
          ['INT', '*', 'expression'],
          ['(', 'expression', ')'],
          ['INT'],
          ],
   },
  ['(', 'INT', '*', '(', 'INT', '+', 'INT', ')', ')']
  ;

$childrenの$productionの@childをprint

INT,+,expression
INT,*,expression
(,expression,)
INT

##
(,INT,+,expression,)
(,INT,*,expression,)
(,(,expression,),)
(,INT,)

##
(,INT,*,INT,+,expression,)
(,INT,*,INT,*,expression,)
(,INT,*,(,expression,),)
(,INT,*,INT,)

##
(,INT,*,(,INT,+,expression,),)
(,INT,*,(,INT,*,expression,),)
(,INT,*,(,(,expression,),),)
(,INT,*,(,INT,),)

##
(,INT,*,(,INT,+,INT,+,expression,),)
(,INT,*,(,INT,+,INT,*,expression,),)
(,INT,*,(,INT,+,(,expression,),),)
(,INT,*,(,INT,+,INT,),)

childrenでとりあえずgrammarから生成できる子を生成しといてis_interestingでフィルタリング(DFS)

ProductName Higher-order Perl: A Guide To Program Transformation
Mark Jason Dominus
Morgan Kaufmann Pub / ¥ 7,588 (2005-05-30)
通常24時間以内に発送

8章から突然難易度が上がる気がする。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021