エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
LibJSをなんとなく読んでみて、ざっくりアーキテクチャがつかめたのでメモ。V8やJSCなどのメジャーJSエ... LibJSをなんとなく読んでみて、ざっくりアーキテクチャがつかめたのでメモ。V8やJSCなどのメジャーJSエンジンと違ってJITや大量のファストパスや独自言語がない[1]ので読みやすい。 LibJSは、まあなんというかよくある感じのバイトコードインタプリタとして実装されている。 そうすると、 ソースコードをパースしてASTを作るところ ASTをコンパイルしてバイトコードを作るところ バイトコードの列を実行するところ がわかれば、まあなんとなくの動きを追いかけやすくなる。 パース まず 1. ソースコードをパースしてASTを作るところ は、実行コンテクストがスクリプトがモジュールかによるが、 Script.cpp 内の Script::parse SourceTextModule.cpp 内の SourceTextModule::parse などにある。これらの関数が、Parser.cpp