Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Parser APIを試してみよう

More than 5 years have passed since last update.

はじめに

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でもパースを試すことができるようです。

参照URL

opt
"INNOVATION AGENCY" を標榜するインターネット広告代理店。エンジニア組織 "Opt Techonologies" を中心にアドテクetc...に取り組んでいます。
https://opt-technologies.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away