JavaScript parser
- カテゴリ:
- JavaScript
- コメント数:
- Comments: 0
JavaScript 自身のパーサってどんなのがあるのか気になったので
パーサとパーサ使ってるツールを調べたメモ
パーサとパーサ使ってるツールを調べたメモ
Babylon
https://github.com/babel/babel/tree/master/packages/babylon- Babel で使われてるパーサ
- Babel のプロジェクトのひとつになってる
- Prettier のデフォルトパーサもこれ
- JavaScript だと他に flow も選べる
- Prettier 自体は他に postcss, markdown, typescript, json, graphql も対応してるフォーマッタ
- Acorn を元に作られてる
- ESTree spec を元にした Babel AST フォーマットで出力
Acorn
https://github.com/acornjs/acorn- Tern で使われてる
- ESTree spec の AST を返す
Espree
https://github.com/eslint/espree- Eslint のプロジェクトの一つでデフォルトパーサ
- Esprima 互換のパーサ (同じ構造のASTを生成する)
- 元は Esprima からのフォークで今は Acorn 上で動いている
Esprima
https://github.com/jquery/esprima- ESTree spec
- jQuery のプロジェクト
- 他の色々なパーサの元になってる
Flow Parser
https://github.com/facebook/flow/tree/master/src/parser- flow のパーサ
- OCaml 製で SpiderMonkey's Parser API 準拠の AST を生成するパーサ
- Esprima が生成するのとほぼ同じになるらしい
- flow なので facebook 製
その他
- Closure linter (compiler) のパーサは特に名前なさそう 見当たらなかった
- 大きなプロジェクトに関係してない個人レベルくらいのメンテされてるかもわからないの
- zeon, esprit, ...
- IDE に組み込まれてるの
- VisualStudio とか WebStorm とか
- VisualStudio とか WebStorm とか