aboutsummaryrefslogtreecommitdiff
path: root/files/ja/glossary/parse/index.html
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>&lt;script&gt;</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>