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.