Re: [問題] Parse::RecDescent 如何取出grammer 裡 …

看板Perl作者 (c9s)時間16年前 (2009/08/02 15:38), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ 引述《n0tme (I made this)》之銘言: : $grammar = q { : # GRAMMAR SPECIFICATION HERE {;return={something => $var} } ^^^^^^ 被註解掉了? 請參考 perldoc Parse::RecDescent 的 Rules 章節, 我想 $grammer 裡面的 rule 應該是要照那樣寫: rule1: production1 | production2 | production3 | production4 typedef: "typedef" typename identifier ';' 之類的。 : }; : $parser = new Parse::RecDescent ($grammar) or die "Bad grammar!\n"; : # acquire $text : my $result= $parser->startrule($text) : 請問在 grammar 裡面設定return @var 要怎麼取出來用? : $result 在這裡只有傳回 1 的值。 : 我想要的是能夠以 $result->grammar->{$var} 這種形式, : 將 parse 的資料塞回一個可用的變數當中... : 我有參考 http://tinyurl.com/maokho 書上的範例其中一段: : . : . : . : my $cal = $p->calendarfile(<IN>); : for (@{$cal->[0]{events}}) { : . : . : . : 但是都沒有輸出結果。 試著將 Parse::RecDescent tarball 抓回來 untar 參考裡面的 test , 在 t/ 目錄底下。 請搭配 Data::Dumper 將 $result dump 出來 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.168.163 ※ 編輯: kornelius 來自: 122.117.168.163 (08/02 15:38) ※ 編輯: kornelius 來自: 122.117.168.163 (08/02 15:40)
文章代碼(AID): #1ATK9VAi (Perl)
文章代碼(AID): #1ATK9VAi (Perl)