"In computer science, a Pratt parser is an improved recursive descent parser that associates semantics with tokens instead of grammar rules." (Wikipedia)
Skip over the large introduction to what parsing is and the reasons for switching are listed: Avoid the parser generator special syntax and compilation, better error messages, have the parser in the same language as the rest of their code, avoid having two grammar definitions (another for CodeMirror), faster and smaller JS bundle than generated code.