Si je me souviens bien de mon cours sur les compilateurs, le compilateur typique a le plan simplifié suivant:
- Un analyseur lexical analyse (ou appelle une fonction de numérisation) le code source caractère par caractère
- La chaîne de caractères d'entrée est vérifiée par rapport au dictionnaire des lexèmes pour la validité
- Si le lexème est valide, il est alors classé comme le jeton auquel il correspond
- L'analyseur valide la syntaxe de la combinaison de jetons; jeton par jeton .
Est-il théoriquement possible de diviser le code source en quartiers (ou quel que soit le dénominateur) et de multithreader le processus de numérisation et d'analyse? Existe-t-il des compilateurs utilisant le multithreading?