Skip to content

Commit b947774

Browse files
committed
fix README.mkd
1 parent 0d13f80 commit b947774

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

README.mkd

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ This parser provide same feature for following languages.
1919

2020
## Example
2121

22-
All of interfaces are provided from vimlparser module. make StringReader to break a string into tokens, and VimLParser to parse into AST, Compiler to compile nodes.
22+
### Parse VimL into AST, and print S-expression
23+
24+
All of interfaces are provided from vimlparser module. VimLParser parse into AST using StringReader, and Compiler to compile nodes.
2325

2426
```vim
2527
let s:vimlparser = vimlparser#import()
@@ -37,3 +39,34 @@ This above code output following.
3739
```
3840
(let = s:message (printf "hello %d" (+ 1 (* 2 3))))
3941
```
42+
43+
### Parse VimL into AST, and print S-expression
44+
45+
ExprTokenizer break a string buffer into tokens for expression.
46+
47+
```vim
48+
let code = [
49+
\ 'echo 1+(2*3)'
50+
\]
51+
let s:vimlparser = vimlparser#import()
52+
let r = s:vimlparser.StringReader.new(code)
53+
let t = s:vimlparser.ExprTokenizer.new(r)
54+
while !r.eof()
55+
let token = t.get()
56+
echo token.value
57+
endwhile
58+
```
59+
60+
This above code output following.
61+
62+
```
63+
echo
64+
1
65+
+
66+
(
67+
2
68+
*
69+
3
70+
)
71+
<EOL>
72+
```

0 commit comments

Comments
 (0)