http://qs321.pair.com?node_id=1157474


in reply to Re: Parsing a sentence with Regexp::Grammars
in thread Parsing a sentence with Regexp::Grammars

You, sir, are a gentleman and a scholar.

This fine example of my stupidity will rank highly among its countless peers.

Edit:

Just in case someone gets here looking for a working example, here it is:

use v5.14; use Regexp::Grammars; my $sentence = "Show me the money"; my $grammar = qr{ <nocontext:> <Sentence> <rule: Sentence> <VerbGroup> <NounGroup> <rule: VerbGroup> <Verb> <VPostfix>? <rule: Verb> <.Word> <rule: NounGroup> <NPrefix>? <Noun> <rule: Noun> <.Word> <rule: VPostfix> me | us | them <rule: NPrefix> a | an | the | some <rule: Word> \w+ }x; sub parse { my $s = shift; say "The sentence is: $s"; if ($s =~ $grammar) { use Data::Dumper; print Dumper \%/; } else { say "I did not understand you." } } parse ($sentence);

The result looks like this:

The sentence is: Show me the money $VAR1 = { 'Sentence' => { 'NounGroup' => { 'NPrefix' => 'the', 'Noun' => 'money' }, 'VerbGroup' => { 'Verb' => 'Show', 'VPostfix' => 'me' } } };

- Luke