in reply to Parse::RecDescent Grammar Questions

If the problem is disambiguating AttrKeyList and AttrAssociation, how about simplifying the grammar by eliminating the AttrKeyList rule and augmenting key_value to include just a plain string:
key_value: string '=' string | string
This will allow things like:
UserNames = { vcs = X1Nh6WIWs6ATQ, foo }
which wasn't legal in your original grammar. However, you can always check for a proper AttrKeyList or AttrAssociation after you've parsed the input.

Replies are listed 'Best First'.
Re^2: Parse::RecDescent Grammar Questions
by ikegami (Patriarch) on May 20, 2008 at 20:50 UTC

    If the problem is disambiguating AttrKeyList and AttrAssociation

    It's not. They are already unambiguous.