मुझे पर्ल 5 नहीं पता, लेकिन मैंने सोचा कि मेरे पास पर्ल 6 के साथ एक खेल होगा। मैं इसकी व्याकरण क्षमताओं को आजमा रहा हूं, लेकिन अब तक मुझे कोई भाग्य नहीं है। यहाँ मेरी कोड दूर है:यह पर्ल 6 व्याकरण क्यों नहीं करता है?
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";
उत्पादन इस प्रकार है:
at TOP
at word
(Any)
किसी कारण के लिए, यह <num>
नियम से मिलान करने के लिए प्रकट नहीं होता। कोई विचार?
व्याकरण के लिए बहन मॉड्यूल :: डीबगर ** व्याकरण :: ट्रैसर ** ग्रामर :: डीबगर के समान स्थान से है। 'व्याकरण :: ट्रैसर का उपयोग करें;' और आपको इनपुट डेटा के विरुद्ध चलने वाले व्याकरण का पता लगाया जाएगा। – donaldh