作者kornelius (c9s)
看板Perl
标题Re: [问题] Parse::RecDescent 如何取出grammer 里 …
时间Sun Aug 2 15:38:04 2009
※ 引述《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)