Re: [問題] Parse::RecDescent 如何取出grammer 裡 …
※ 引述《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)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章