parser generator designed for code editors such as CodeMirror