aboutsummaryrefslogtreecommitdiff
path: root/files/es/glossary/parse/index.html
blob: 4281a26f2f2d69e9b7903b3298ddda4b2dd72e67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
---
title: Parse (análisis sintáctico)
slug: Glossary/Parse
translation_of: Glossary/Parse
---
<p>"Parsing" significa analizar y convertir un programa en un formato interno que un entorno de ejecución pueda realmente ejecutar, por ejemplo el motor {{glossary("JavaScript")}} dentro de los navegadores.</p>

<p>El <a href="/docs/Web/Guide/HTML/HTML5/HTML5_Parser">navegador analiza el HTML</a> en un árbol {{glossary('DOM')}}. El análisis de HTML implica la "<a href="/docs/Web/API/DOMTokenList">tokenización</a>" (dividir en fragmentos) y en la construcción del árbol. Los "tokens" HTML incluyen etiquetas de inicio y final, así como nombres de atributos y valores. Si el documento está bien formado, el análisis sintáctico es más sencillo y rápido. El "parser" analiza la entrada simbólica en el documento, construyendo el árbol del documento.</p>

<p>Cuando el analizador de HTML encuentra recursos que no bloquean, como una imagen, el navegador solicitará esos recursos y continuará analizando. El análisis puede continuar cuando se encuentra un archivo CSS, pero las etiquetas <code>&lt;script&gt;</code> —particularmente aquellas sin un atributo <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/async_function">async</a></code> o <code>defer</code>— bloquean el renderizado, y pausa el análisis de HTML.</p>

<p>Cuando el navegador encuentra estilos CSS, analiza el texto en el Modelo de Objetos CSS (o {{glossary('CSSOM')}}), una estructura de datos que luego utiliza para diseñar la distribución y el pintado. El navegador crea entonces un árbol de "renderizado" (dibujado) a partir de ambas estructuras para poder pintar el contenido en la pantalla. También se descarga el JavaScript, se analiza y luego se ejecuta.</p>

<p>El análisis de JavaScript se hace durante {{glossary("compile time")}} o cuando se invoca el {{glossary("parser")}}, como durante una llamada a un método.</p>

<h2 id="Aprende_más">Aprende más</h2>

<h3 id="Conocimiento_general">Conocimiento general</h3>

<ul>
 <li><a href="https://en.wikipedia.org/wiki/Parsing" lang="en">Parse</a> en Wikipedia (inglés)</li>
 <li><a href="https://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico">Analizador sintáctico</a> en Wikipedia</li>
</ul>