ディレクティブ score、もう一つの例
まんま
#!/usr/bin/env perl use strict; use Parse::RecDescent; my $grammar = q{ inputs : line line : seplist[sep=>','] <score: -@{$item[1]}> { print "*,*\n"; } | seplist[sep=>':'] <score: -@{$item[1]}> { print "*:*\n"; } | seplist[sep=>" "] <score: -@{$item[1]}> { print "* *\n"; } seplist: <skip:""> <leftop: /[^$arg{sep}]*/ "$arg{sep}" /[^$arg{sep}]*/> }; my $parse = new Parse::RecDescent ($grammar); while (<>) { defined $parse->inputs($_) or print "Bad text!\n"; }
で、
Warning (line 6): Token pattern "m/[^$arg{sep}]*/" may not be a valid regular expression Warning (line 6): Token pattern "m/[^$arg{sep}]*/" may not be a valid regular expression
- ?
- Warning だから動作には問題ないの???
- 「seplist[」の箇所自体もそんな表記あったんだっけ?と分かっていない…(←サブ規則の引数リスト?)