私はperl 5を知らないが、私はperl 6で遊ぶと思った。私は文法能力を試しているが、これまでは運がない。ここに私のコードはここまでです:なぜこのperl 6文法は機能しないのですか?
at TOP
at word
(Any)
をいくつかの理由、それは<num>
ルールに一致するには表示されません。
grammar CopybookGrammar {
token TOP { {say "at TOP" } <aword><num>}
token aword { {say "at word" } [a..z]+ }
token num { {say "at NUM" } [0..9]+ }
}
sub scanit($contents) {
my $match1 = CopybookGrammar.parse($contents);
say $match1;
}
scanit "outline1";
出力は次のようです。何か案は?
Grammar :: Debuggerの姉妹モジュールは、Grammar :: Debuggerと同じ場所にある** Grammar :: Tracer **です。 'Grammar :: Tracer;を使うと、入力データに対して実行中の文法の痕跡が得られます。 – donaldh