2009-11-01から1ヶ月間の記事一覧

Parse::RecDescent (3)

左結合な減法,つまり「1-2-3」は「(1-2)-3」であって「1-(2-3)」ではない,ということを解決する方策をHigher-order Perlの8.4節からもらってきます.左結合を実現するのに,単純に expression : expression "-" atomとしてしまうと,expressionを処理する…

Parse::RecDescent (2)

単純な足し算だけに続いて,引き算もしたいということで,単純に拡張します. use strict; use warnings; use Parse::RecDescent; my $grammar=q( expression : atom "+" expression { $return = $item[1] + $item[3] ;} #引き算を追加 expression : atom "-…