Robert Dober wrote:
> hash ::= '{' key_value_pairs '}' | '{' '}';
> key_value_pairs ::= key "=>" value;
> key ::= value ::= expression

You call it "key_value_pair*s*", but don't allow more than one pair. I think 
the above should read:
key_value_pairs ::= (key_value_pair ',')* key_value_pair;
key_value_pair ::= key "=>" value;

HTH,
Sebastian
-- 
NP: Tyr - Hail to the Hammer
Jabber: sepp2k / jabber.org
ICQ: 205544826