I den allmänna modellen för en kompilator finns det
ingen permanent databas .
Här är varför:
* kompilatorens mål: Kompilatorer är utformade för att översätta källkod till maskinkod (eller mellanliggande kod) för en specifik plattform. De lagrar inte data ihållande.
* Tillfälliga datastrukturer: En kompilator använder en mängd datastrukturer som symboltabeller, representation mellan kod och tillfälliga variabler för att behandla källkoden. Dessa är alla tillfälliga och finns endast under sammanställningsprocessen.
* databassystem: Databaser är specialiserade system för att lagra och hämta data under längre perioder. De är separata från kompilatorn och är inte direkt involverade i sammanställningsprocessen.
Exempel:
Föreställ dig att du sammanställer ett C ++ -program. Kompilatorn läser din källkod, analyserar den, genererar mellankod och producerar i slutändan en körbar fil. All information som kompilatorn använder (som variabla namn, typer, funktionsdefinitioner) lagras i tillfälliga datastrukturer inom kompilatorns minne. När sammanställningen är klar kastas dessa strukturer.
Obs: Vissa avancerade kompilatoroptimeringstekniker kan använda tillfälliga filer eller databaser för att lagra mellanresultat. Detta är vanligtvis för att förbättra effektiviteten och prestanda, men det är inte ett grundläggande krav för alla kompilatorer.