A recursive-descent parser generator that runs in pure JavaScript.