a simple key/value parser with a grammar