Progettazione del compilatore - Architettura
Un compilatore può essere sostanzialmente diviso in due fasi in base al modo in cui compila.
Fase di analisi
Noto come front-end del compilatore, il analysis la fase del compilatore legge il programma sorgente, lo divide in parti centrali e quindi verifica gli errori lessicali, grammaticali e di sintassi La fase di analisi genera una rappresentazione intermedia del programma sorgente e della tabella dei simboli, che dovrebbe essere inviata alla fase di Sintesi come input .
Fase di sintesi
Conosciuto come il back-end del compilatore, il synthesis fase genera il programma di destinazione con l'aiuto della rappresentazione del codice sorgente intermedio e della tabella dei simboli.
Un compilatore può avere molte fasi e passaggi.
Pass : Un passaggio si riferisce all'attraversamento di un compilatore attraverso l'intero programma.
Phase: Una fase di un compilatore è una fase distinguibile, che prende l'input dalla fase precedente, elabora e produce un output che può essere utilizzato come input per la fase successiva. Un passaggio può avere più di una fase.