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