A dynamic recursive descent LL(k) parser for creating grammar parsing functions in JavaScript.