Terrence Brannon
Wed, 24 Oct 2007 02:17:19 -0700
On 10/23/07, Ted Zlatanov <[EMAIL PROTECTED]> wrote: > > Any chance you can post a complete example with sample input that fails? >
What was I thinking? My goodness, par for the course when submitting a
bug. Anyway, my reduced test case works just fine, which hopefully
means that it's on my end of things. So I will just do some more
head-scratching on my end for now. Here is my test case that worked
flawlessly:
use strict;
use warnings;
use Data::Dumper;
use Parse::RecDescent;
# Generate a parser from the specification in $grammar:
my $grammar = << 'EOGRAMMAR';
store: name geoloc
name: "trader joe's" | "whole foods"
geoloc: geoloc1 and(?) geoloc2 | geoloc_
geoloc1: geoloc_
geoloc2: geoloc_
geoloc_: city | state | country | area
and: 'and'
city: 'los angeles' | 'new york'
state: 'california' | 'new york'
country: 'united states'
area: 'north' | 'south' | 'east' | 'west'
EOGRAMMAR
$::RD_AUTOACTION = q { [\%item] } ;
my $parser = new Parse::RecDescent ($grammar);
my $r = $parser->store("trader joe's los angeles california");
warn Dumper $r;