Parse (解析)

解析(Parsing)とは、プログラムを解析し、例えばブラウザー内の JavaScript エンジンといった実行環境で、実際に実行できる内部形式に変換することを意味します。

ブラウザーは HTML を解析して DOM ツリーに変換します。HTML の解析処理はトークン化とツリーの構築を含みます。HTML トークンは、属性の名前や値と同じように、開始タグと終了タグを含みます。文書が適切に構造化されていれば、その解析処理は単純で速くなります。パーサーはトークン化された入力内容を解析してドキュメントに変換し、ドキュメントツリーを作り上げます。

HTML パーサーが画像のようなノンブロッキングのリソースを見つけた場合、ブラウザーはそれらのリソースを要求し、解析を続けます。CSS ファイルに出くわした場合は解析処理を続けることができますが、<script> タグ—特に async または defer 属性がない—の場合はレンダリングがブロックされ、HTML の解析処理が停止します。

ブラウザーは CSS スタイルに出くわした場合、その文字列を解析して CSS Object Model (または CSSOM) に変換し、そのデータ構造をレイアウトの整形と描画に使用します。それからブラウザーは、これら両方のデータ構造から、コンテンツを画面に描画するためのレンダリングツリーを生成します。JavaScript も同様にダウンロードされ、解析され、そして実行されます。

JavaScript では、これはコンパイル時または、メソッドの呼び出し中など、パーサーが呼び出されるたびに行われます。

より詳しく知る

一般知識

  • Wikipedia 上の Parse(英語)