はじめに
Parser APIを試してみました。
きっかけはカジュアルJavaScript ASTを読んだことです。
面白そうな雰囲気があります。
この記事では、Parser APIの試し方を紹介したいと思います。
動作確認にはFirefoxを使いました。
How
Reflectオブジェクトを準備する
Reflectオブジェクトを使うために、Web コンソールで
Components.utils.import("resource://gre/modules/reflect.jsm")
を実行します。
これでReflectオブジェクトが使えます。
もし、Web コンソールに心当たりがなくても大丈夫です。
メニューバーのヘルプで検索すればWeb コンソールを見つけることができます。
JavaScriptをパースしてみる
あとは、Web コンソールで
var ast = Reflect.parse("obj.foo + 42")
こんな感じでJavaScriptをパースすることができます。
parseの引数は文字列です。
オブジェクトブロックステートメント(BlockStatement)をパースしたい場合はこんな感じになります。
var ast = Reflect.parse("{ name: tokyo }")
まとめ
簡単な紹介ですが、Parser APIの試し方を紹介しました。
ASTを綺麗に表示する方法があるとは思うのですが、ちょっと分かりませんでした。。
こちらのdemoでもパースを試すことができるようです。