1 | # WebAssembly parser
|
2 | [![NPM version](https://img.shields.io/npm/v/wast-parser.svg)](https://www.npmjs.org/package/wast-parser)
|
3 | [![Travis](https://travis-ci.org/drom/wast-parser.svg)](https://travis-ci.org/drom/wast-parser)
|
4 | [![appVeyor](https://ci.appveyor.com/api/projects/status/vg09awtk5rgargkb?svg=true)](https://ci.appveyor.com/project/drom/wast-parser)
|
5 |
|
6 | Takes WebAssembly S-expression (WAST) string and returns abstract syntax tree ([AST](https://github.com/drom/wast-spec)).
|
7 |
|
8 | Inspired by [esprima](https://github.com/jquery/esprima)
|
9 |
|
10 | ## Use
|
11 | ### Node.js
|
12 |
|
13 | ```
|
14 | npm i wast-parser --save
|
15 | ```
|
16 |
|
17 | ```js
|
18 | var parser = require('wast-parser');
|
19 | ```
|
20 |
|
21 | ### CLI
|
22 | First install globally `npm i wast-parser -g`
|
23 | then invoke with a wast file `wast-parser <path/to/wast/file> > parsed_wast.json`
|
24 |
|
25 | ## Functions
|
26 | ### .parse()
|
27 |
|
28 | ```js
|
29 | var ast = parser.parse('(module)');
|
30 | ```
|
31 |
|
32 | ## Testing
|
33 | `npm test`
|
34 |
|
35 | ## Generating tests
|
36 | `npm run testgen`
|
37 |
|
38 | ## License
|
39 | MIT [LICENSE](https://github.com/drom/wast-parser/blob/master/LICENSE).
|