Se ricordo correttamente il corso dei miei compilatori, il compilatore tipico ha il seguente schema semplificato:
- Un analizzatore lessicale esegue la scansione (o attiva alcune funzioni di scansione) il codice sorgente carattere per carattere
- La stringa di caratteri di input viene verificata per verificarne la validità nel dizionario dei lessemi
- Se il lessico è valido, viene quindi classificato come token a cui corrisponde
- Il parser convalida la sintassi della combinazione di token; token per token .
È teoricamente possibile dividere il codice sorgente in quarti (o qualunque denominatore) e multithread del processo di scansione e analisi? Esistono compilatori che utilizzano il multithreading?