Recentemente sono stato molto interessato ai compilatori e al loro funzionamento. Dato che gcc ha la sua fonte disponibile, ho pensato che sarebbe stato il materiale migliore da studiare.Learning gcc internals
La prima cosa che ho capito è che sarebbe inutile studiare gcc se non avessi una comprensione di base dei semplici principi di progettazione del compilatore. Da allora ho letto diligentemente il "Libro del Drago" che, da quello che ho visto, è il libro di fatto sull'implementazione del compilatore.
Nondimeno, la lettura di quel libro non ha fatto altro che approfondire il mio desiderio di conoscere i compilatori come gcc.
Inoltre, trovo pertinente dire che ho una conoscenza intermedia di c/C++ (alias, non sto provando a studiare gcc senza conoscere c). Spero che lo studio di gcc mi aiuti a migliorare anche su questo.
Ho scaricato l'ultima build che ho trovato; tuttavia, mi perdo quando si esamina il codice sorgente.
Quello che sto cercando sono suggerimenti su come procedere. C'è un progetto simile, che non è così massiccio, che potrei usare come trampolino di lancio per gcc? Esiste un particolare modulo di gcc che si consiglia di studiare prima? Ci sono libri che entrano nell'implementazione di gcc, piuttosto che in uso? Forse dovrei smettere di piagnucolare e continuare a leggere la fonte finché non fa clic?
Qualsiasi e tutti i feedback saranno molto apprezzati.
EDIT: Se pensi che dovrei studiare un compilatore/interprete diverso, apprezzerei molto i suggerimenti su quali.
Si dovrebbe leggere il libro del drago quindi scrivere il proprio compilatore. Aiuta tremendamente. –
Ho sentito che GCC è un dolore da hackerare. Forse LLVM sarebbe un'alternativa? – Blender
1. Dovresti capire la lingua completamente a livello di esperti 2. Scrivi il tuo compilatore per una lingua piccola prima 3. GCC è un casino. Ci sono alternative molto migliori – Pubby