This is Vim script language (a.k.a. VimL) parsers.
The parser to make AST (Abstract Syntax Tree)
This parser provide same feature for following languages.
- Vim script
- Python
- JavaScript
All of interfaces are provided from vimlparser module. VimLParser parse into AST using StringReader, and Compiler to compile nodes.
let s:VP = vimlparser#import() let code = [ \ 'let s:message = printf("hello %d", 1+(2*3))' \] let r = s:VP.StringReader.new(code) let p = s:VP.VimLParser.new() let c = s:VP.Compiler.new() echo join(c.compile(p.parse(r)), "\n")This above code output following.
(let = s:message (printf "hello %d" (+ 1 (* 2 3)))) We know a name "VimL" is not the common short form of "Vim scripting language". But we choice "VimL" for historical and practical reasons and compatibility.