I wrote a PEG (Parsing Expression Grammar) parser for Vim (
NOTE: the nlpeg-peg-parser.lsp is UNFINISHED, however the nlpeg.lsp is ready for review. Examples of using nlpeg.lsp can be seen in the test files and calc.lsp.
When nlpeg-peg-parser.lsp is finished, grammars can be specified using standard PEG grammar format in [text] strings, if preferred over the explicit API approach available through nlpeg.lsp currently.