An online AST explorer.
何かJavaScriptのソースコードを機械的にチェックするためのツールを作りたいという場合に、JavaScriptのASTというものを触る必要が出てくると思います。 この記事では、その取っ掛かりとなる案内を簡単にまとめたものです。 ASTとは AST(Abstract Syntax Tree)はコードをパースした抽象構文木のこと。 JavaScriptの場合はJavaScriptオブジェクト(JSON)として表現されます。 コード: { "range": [ 0, 10 ], "type": "Program", "body": [ { "range": [ 0, 10 ], "type": "VariableDeclaration", "declarations": [ { "range": [ 4, 9 ], "type": "VariableDeclarator", "id": {
以前書いた記事からのどんな感じの動きがあったのかまとめたものです。 最近気になったJavaScript AST周りの動き | Web Scratch 前回の記事 2015年の1月前後の内容が中心です。 前回のに比べ、JavaScriptのエコシステムの根幹でもあるパーサやASTの仕様まわりについての動きが最近活発なので、その辺を中心にまとめています。 RReverser RReverserさんはここ最近のJavaScript ASTに関係するところならどこでもみかけると思うので紹介。 主にacornのコミッターでもありますが、後ほど出てくるESTreeやBabelなど色々なところで活動しています。 またasterというASTの効率的に処理できるツールチェインを出したりしています。 AST周りでよく見る人やパーサをいかにまとめてあります。 JavaScript AST Links. esto
最近のASTパーサの動き 自己紹介 azu @azu_re Web scratch, JSer.info Esprima Owner: @ariya Spidermonkey Parser APIのASTを元に実装したJavaScriptパーサ JavaScriptパーサのデファクト的な立ち位置 Esprimaの問題 Spidermonkey AST自体にはES6等の対応がない(ES6はまだだったので) Harmony Branchで実装FirstでES6対応をやっていた 微妙にパーサ間でES6のASTに齟齬がでてきた 加えて@ariyaが忙しいので対応に遅れがでてきた (@ariyaは後述するShift ASTを推奨する方向) Esprima-FB Owner: Facebook JSX/FlowTypeサポート Esprima/Harmony Branchのfork Esprima/H
ConstさんがWebKitにコミットしてたCSS JIT入りのiOS8リリースがされたのを記念して@Constellationさんと@saneyuki_s さんと#DOMQuery寿司をしてきました。 元ネタは以下の記事です。 Apple Shows Love for HTML5 with iOS 8 | Blog | Sencha iOS 8 に Apple の HTML5 への愛を見た | 株式会社ゼノフィ SourceMapとASTの問題点 これが #DOMQuery寿司 です pic.twitter.com/o4qpKqrKYT — azu (@azu_re) September 22, 2014 一つ目の献立として発表したのは、SourceMapとASTでちょっと似てるなーと思った問題点の話について。 前半の多段SourceMapについては以下の記事で書いた話と大体同じです。
View on GitHub What's that # aster is reactive builder specialized for code processing and transformations. It's built with debugging in mind and makes building JavaScript code more reliable and faster. You may want to check out presentation below: Why one more # Source maps are a great invention that is meant to simplify life by allowing developers to debug the original code (the one that they ac
The document discusses working with code abstract syntax trees (ASTs). It provides examples of parsing code into ASTs using libraries like Esprima, querying ASTs using libraries like grasp-equery, constructing and transforming ASTs, and generating code from ASTs. It introduces aster, an AST-based code builder that allows defining reusable AST transformations as plugins and integrating AST-based bu
The role of JointJS in visualizing an Abstract Syntax TreeJointJS, a powerful diagramming library, helps developers and companies of any size build advanced visual applications and No-Code/Low-Code tools. It provides a wealth of ready-made demos and a wide range of prebuilt features that make creating applications such as JavaScript Abstract Syntax Tree Visualizer a breeze. We equip developers wit
最近、気になったJavaScript AST関係のものについてのメモです。 JavaScript ASTについては以下などを見て下さい。 カジュアルJavaScript AST JavaScript AST Walker esnext 元々ES6 Module Transpiler等やっていたSquare社がesnextというプロジェクトを立ち上げました。 esnextはTraceurと同様にES6のコードを今日のJavaScriptに変換するツールです。 @eventualbuddhaさんがメインでやっていて、それぞれのシンタックスの変換はes6-spreadのように、ひとつのモジュールとして分けて作られています。 また変換の書き方も大体統一したやり方(まあ一人で大体書かれてるので)が取られていて、 Facebookの@benjamnさんが作っているast-typesとrecastを使っ
はじめに Promises Bookという薄い本を書いているのですが、書籍中に出てくるサンプルコードはテストが必須であるという原則があります。 サンプルコードは必ずテストコードが必要となる。(読者がコピペして実行するようなコードをテストを書くべきである) promises-book/CONTRIBUTE.md at master · azu/promises-book サンプルコードとテストはNode(といってもほぼCommonJSというだけ)で書いています。 ECMAScript6 Promisesについての内容なので、ブラウザ/Node.js どちらの実行環境でもいいのですが、閲覧するのはブラウザが基本になると思うのでブラウザ向けのコードを表示したいという感じになると思います。 CommonJS -> ブラウザ用のJS といえば、browserifyやCommonJS Everywhe
今日の概要 実は使われてるJavaScript AST JavaScript AST(Abstract Syntax Tree)とは? JavaScript ASTを使ったツール紹介 使うだけじゃなくて書いてみよう browserify Node.jsで書かれたものをブラウザ向けに変換するツール Node環境で開発 -> browserifyでビルド -> ブラウザで動く JavaScriptのコードを 変換 する ≒ JavaScript ASTを見て変換 する 本体の色々な部分、transform pluginなどでASTを使ってる
オフラインJavaScript勉強会 – Online Study TokyoBouldering.js | DoorkeeperでJavaScript ASTについて発表してきました。 JavaScript AST Walker JavaScript ASTがどんなものかや、どのようなツールで使われてるか、ASTを編集するのにどういうライブラリがあるかなどについて書いてあります。 (中でかなり重たいものを読み込んでるのでロードが終わるまで適応に待ったほうがいいです) JS ASTを触る練習のためにQUnitのテストをJasmineに変換するreQUnitというものを書いていたましたが、 ASTをセレクタで選択したり、変更したりするのがもっと楽にできたりするともっとカジュアルにASTを触れるようになる気がします。 後、自己紹介もかねてここ最近のJSer.infoについても話しました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く