In het algemene model van een compiler is er geen permanente database .
Dit is waarom:
* Compiler's doel: Compilers zijn ontworpen om broncode te vertalen in machinecode (of tussenliggende code) voor een specifiek platform. Ze slaan gegevens niet volhardend op.
* Tijdelijke gegevensstructuren: Een compiler maakt gebruik van een verscheidenheid aan gegevensstructuren zoals symbolentabellen, intermediaire codeweergave en tijdelijke variabelen om de broncode te verwerken. Dit zijn allemaal tijdelijk en bestaan alleen tijdens het compilatieproces.
* databasesystemen: Databases zijn gespecialiseerde systemen voor het opslaan en ophalen van gegevens gedurende langere periodes. Ze staan los van de compiler en zijn niet direct betrokken bij het compilatieproces.
Voorbeeld:
Stel je voor dat je een C ++ -programma compileert. De compiler leest uw broncode, analyseert deze, genereert tussenliggende code en produceert uiteindelijk een uitvoerbaar bestand. Alle informatie die de compiler gebruikt (zoals variabele namen, typen, functiedefinities) worden opgeslagen in tijdelijke gegevensstructuren in het geheugen van de compiler. Zodra de compilatie is voltooid, worden deze structuren weggegooid.
Opmerking: Sommige geavanceerde compiler -optimalisatietechnieken kunnen tijdelijke bestanden of databases gebruiken voor het opslaan van tussenliggende resultaten. Dit is meestal om de efficiëntie en prestaties te verbeteren, maar het is geen fundamentele vereiste voor alle compilers. |