blob: 86391094814699d04d787d7c35d29ad04e222b8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
---
title: Parse (解析)
slug: Glossary/Parse
tags:
- Browser
- CSS
- CodingScripting
- Glossary
- HTML
- JavaScript
- Web Performance
translation_of: Glossary/Parse
---
<p>解析(Parsing)とは、プログラムを解析し、例えばブラウザー内の {{glossary("JavaScript")}} エンジンといった実行環境で、実際に実行できる内部形式に変換することを意味します。</p>
<p><a href="/ja/docs/Web/Guide/HTML/HTML5/HTML5_Parser">ブラウザーは HTML を解析</a>して {{glossary("DOM")}} ツリーに変換します。HTML の解析処理は<a href="/ja/docs/Web/API/DOMTokenList">トークン化</a>とツリーの構築を含みます。HTML トークンは、属性の名前や値と同じように、開始タグと終了タグを含みます。文書が適切に構造化されていれば、その解析処理は単純で速くなります。パーサーはトークン化された入力内容を解析してドキュメントに変換し、ドキュメントツリーを作り上げます。</p>
<p>HTML パーサーが画像のようなノンブロッキングのリソースを見つけた場合、ブラウザーはそれらのリソースを要求し、解析を続けます。CSS ファイルに出くわした場合は解析処理を続けることができますが、<code><script></code> タグ—特に <code>async</code> または <code>defer</code> 属性がない—の場合はレンダリングがブロックされ、HTML の解析処理が停止します。</p>
<p>ブラウザーは CSS スタイルに出くわした場合、その文字列を解析して CSS Object Model (または {{glossary('CSSOM')}}) に変換し、そのデータ構造をレイアウトの整形と描画に使用します。それからブラウザーは、これら両方のデータ構造から、コンテンツを画面に描画するためのレンダリングツリーを生成します。JavaScript も同様にダウンロードされ、解析され、そして実行されます。</p>
<p>JavaScript では、これは{{glossary("compile time","コンパイル時")}}または、メソッドの呼び出し中など、{{glossary("parser","パーサー")}}が呼び出されるたびに行われます。</p>
<h2 id="Learn_more" name="Learn_more">より詳しく知る</h2>
<h3 id="General_knowledge" name="General_knowledge">一般知識</h3>
<ul>
<li>Wikipedia 上の <a href="https://en.wikipedia.org/wiki/Parsing">Parse</a>(英語)</li>
</ul>
|