Evolution of real-time – Irina Nazarova, EuRuKo, 2024
はじめに 「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」(ラムダノート, Amazon) という本を手を動かしながら読んで、非常に感銘を受けました。そんなおりに PythonでつくるPythonという記事を読み、自分でもNode.jsでミニNode.js作りにチャンレンジすることにしました。 予想以上に手間取り端折った部分もありますが、なんとか最後はブートストラップまで行くことができました。 目次 ミニインタープリター編 Step1:ソースのパース ... 初めての esprima Step2:単純化 ... 抽象構文木(AST)を単純化 Step 3: +演算子を評価する ... 足し算を実行 Step 4: 四則演算で電卓を作る ... 電卓を作るところまでと、比較演算子の実装 Step 5: 変数を使う ... 変数の宣言、代入、参照 Step 6: 条件分岐
先日の技術書典3で@erukitiさんが頒布した「簡単JavaScript AST入門」(AST本)について書きます。自分は、レビューという形で関わらせて頂きました。こういった経験ははじめてで、面白かったです。なにより、ものすごいペースで加筆されていってすごいなという感じでした。 最終的によい本が出来上がりよかったです。 内容と感想さて内容ですが、一言で言うと、Babel Pluginのための本です。 よく使われるツールの紹介から、実際にBabel Pluginを作成してみるといった実践的なことまで書かれてています。 個人的に嬉しいのは、入門者向けと謳いつつも、リファレンス本として機能する点です。Babel Pluginを実際に自分で書くときに重宝するでしょう。 自分もAST本からの知見を公開してるプラグインに反映しました。 個人的に特によかったなと思うのが、5章や6章です。 これらは、え
Hey, all cool kids have exciting Engineering Newsletters these days, so it’s high time the JavaScript Binary AST got one! Summary JavaScript Binary AST is a joint project between Mozilla and Facebook to rethink how JavaScript source code is stored/transmitted/parsed. We expect that this project will help visibly speed up the loading of large codebases of JS applications and will have a large impac
Stay Relevant and Grow Your Career in TechPremium ResultsPublish articles on SitePointDaily curated jobsLearning PathsDiscounts to dev toolsStart Free Trial7 Day Free Trial. Cancel Anytime. Key Takeaways Codemods, developed by Facebook, offer a powerful solution for automating large-scale refactoring tasks, enabling developers to efficiently update codebases to align with new JavaScript standards
何か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": {
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
以前書いた記事からのどんな感じの動きがあったのかまとめたものです。 最近気になった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
このエントリは GREE Advent Calendar 2014 6日目の記事です。 皆さんこんにちは!Reflowしてますか? 13卒でArt部の和智(@watilde)です。業務では、GREE Platformで使われている内製 JS/CSS FrameWorkのコミッターとかしてます。 まえがき 弊社は、スマートフォンの黎明期よりブラウザ向けのアプリを開発してきました。環境の変化への追従や、度重なる機能追加でJavaScriptのコードの規模は肥大化していきました。 役割ごとにモジュール化をしてファイル分割を行わないと可読性が落ち、じわじわと保守コストが上がっていきます。しかし、古くからある秘伝のソースはAMDやCommonJSで書かれていないVanillaなJSです。r.js、Browserify、Webpack などのツールでモジュール化するにも、書き換えが大量に発生して導入す
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については以下の記事で書いた話と大体同じです。
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
multi-stage-sourcemaps-strategy.md power-assert 多段 SourceMap 対応の方針 試験は twada/battlefield-sourcemaps で行っている power-assert 出力行の補正 SourceMap 対応が入った espower 0.9.0 を使う espower(ast, options) の第二引数 options に sourceMap というキーで上流の SourceMap オブジェクトを入れる options.sourceMap が与えられた場合、 AST 変換時のファイル名、ファイル行番号を補正する AST の段階でできるのはここまで 各 instrumentor 対応方針 基本方針 方針が安定するまで SourceMap 対応の espower 0.9.0 を直接使う (espower-source で
最近、というか昨日からTypedCoffeeScriptの開発再開してAST 気分が盛り上がってるので、簡単なチュートリアルでも。 この記事でやること ASTの取得 ASTの生成 JavaScript の出力 やらないこと 構文解析 準備 適当にプロジェクト作ります。 $ mkdir tinyaltjs $ cd tinyaltjs $ npm init # 色々聞かれるけどEnter 連打で良い $ npm install escodegen esprima prettyjson --save esprima はJavaScript のコードをASTに変換。 escodegen は AST から JavaScript を生成。どっちもConstellationさん製 escodegenはConstellationさん製で、彼はesprimaにもコミットしてます。この界隈に来ると基本的に彼
Presented at jQuery Conference San Diego February 12-13, 2014 http://events.jquery.org/2014/san-diego/ February 12, 2014 at 11AM PST in the Code for Thought Track Description Many developers use popular JavaScript code analysis tools (e.g. JSHint, UglifyJS, the RequireJS Optimizer) in their workflows, yet don't know how to create similar tools for themselves. This talk will cover what JavaScrip
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く