Building maps with parsnip
To further demonstrate the brevity and power of Parsnip, here is the code for a simple grammar which accepts strings of the format "key1 = value1; key2 = value2;". The return value of the parser is an std::map of the key-value pairs.
Parser<string, Tuple2<string, string>>::type single_pair = letters >> skip(token_ch('=')) >> letters >> skip_ch(';');
Parser<string, std::map<string, string>>::type pair_parser = many< BuildMap<string, string> >(token(single_pair));
That's it!
No comments:
Post a Comment