Analyse syntaxique
"Parser" signifie analyser et convertir un programme en un format interne que l'environnement d'exécution peut exécuter, par exemple le moteur JavaScript dans les navigateurs.
Le navigateur analyse (parse en anglais) du code HTML dans une arborescence DOM. L'analyse HTML implique la création de tokens et la construction d'arborescences. Les tokens HTML incluent des balises de début et de fin, ainsi que des noms et des valeurs d'attribut. Si le document est bien formé, son analyse est simple et rapide. L'analyseur analyse l'entrée décomposée en tokens dans le document, en créant l'arborescence du document.
Lorsque l'analyseur HTML trouve des ressources non bloquantes, telles qu'une image, le navigateur demande ces ressources et continue l'analyse. L'analyse peut continuer lorsqu'un fichier CSS est rencontré, mais les balises <script>
, en particulier celles sans attribut async
ou defer
, bloquent le rendu et interrompent l'analyse du code HTML.
Lorsque le navigateur rencontre des styles CSS, il analyse le texte dans le modèle d'objet CSS (ou le CSSOM), une structure de données qu'il utilise ensuite pour styliser les mises en page et la peinture. Le navigateur crée ensuite une arborescence de rendu à partir de ces deux structures pour pouvoir peindre le contenu à l'écran. Le JavaScript est également téléchargé, analysé, puis exécuté.
L'analyse de JavaScript est faite pendant le moment de compilation ou quand l'analyseur syntaxique est appelé, comme pendant l'appel à une méthode.
Voir aussi
- Analyse syntaxique sur Wikipédia