I'm not an expert on parsing, but I used PEG.js recently and found it a lot of fun to work with - a good way for a parsing noob to learn, or if you just need something with a little more rigor than regular expressions.<p>In the future I'd like to use a PEG with an additional tokenization step, as the parser generated from a pure top-down approach will give fairly useless error messages when you have a typo deep in a nested expression, and I think that could be mitigated if I could point those errors out during tokenization.