Parse (análisis sintáctico)
"Parsing" significa analizar y convertir un programa en un formato interno que un entorno de ejecución pueda realmente ejecutar, por ejemplo el motor JavaScript dentro de los navegadores.
El navegador analiza el HTML en un árbol DOM. El análisis de HTML implica la "tokenización" (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.
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 <script>
—particularmente aquellas sin un atributo async
o defer
— bloquean el renderizado, y pausa el análisis de HTML.
Cuando el navegador encuentra estilos CSS, analiza el texto en el Modelo de Objetos CSS (o 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.
El análisis de JavaScript se hace durante compile time o cuando se invoca el parser, como durante una llamada a un método.
Aprende más
Conocimiento general
- Parse en Wikipedia (inglés)
- Analizador sintáctico en Wikipedia