Projekt kompilatora - architektura
Kompilator można ogólnie podzielić na dwie fazy w zależności od sposobu kompilacji.
Faza analizy
Znany jako front-end kompilatora, analysis kompilator odczytuje program źródłowy, dzieli go na części podstawowe, a następnie sprawdza błędy leksykalne, gramatyczne i składniowe. Faza analizy generuje pośrednią reprezentację programu źródłowego i tabelę symboli, która powinna zostać przekazana do fazy syntezy jako wejście .
Faza syntezy
Znany jako zaplecze kompilatora, plik synthesis phase generuje program docelowy za pomocą pośredniej reprezentacji kodu źródłowego i tablicy symboli.
Kompilator może mieć wiele faz i przejść.
Pass : Przebieg odnosi się do przejścia kompilatora przez cały program.
Phase: Faza kompilatora jest rozróżnialnym etapem, który pobiera dane wejściowe z poprzedniego etapu, przetwarza i dostarcza dane wyjściowe, które mogą być użyte jako dane wejściowe dla następnego etapu. Pas może mieć więcej niż jedną fazę.