Re: [問題] Parse::RecDescent 如何取出grammer 裡 …
※ 引述《kornelius (c9s)》之銘言:
: ※ 引述《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 (q{
expression: and_expr '||' expression
{ [@item] }
| and_expr
{ [@item] }
and_expr: not_expr '&&' and_expr
{ [@item] }
| not_expr
{ [@item] }
not_expr: '!' brack_expr
{ [@item] }
| brack_expr
{ [@item] }
brack_expr: '(' expression ')'
{ [@item] }
| identifier
{ [@item] }
identifier: /[a-z]+/i
{ [@item] }
});
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.168.163
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章