Compiler
English: Compiler

Een compiler (letterlijk samensteller of opbouwer) is een computerprogramma dat een in een brontaal geschreven programma vertaalt in een semantisch equivalent programma in een doeltaal.

Het vertalen of omzetten wordt compilatie of compileren genoemd. Met compiler wordt voornamelijk een programma bedoeld dat een programma in een hogere programmeertaal vertaalt naar een lagere programmeertaal, meestal assembleertaal of machinecode. De voornaamste reden om broncode te compileren is dan ook het maken van uitvoerbare code.

Als het gecompileerde programma uitgevoerd kan worden op een computer met een andere CPU of een ander besturingssysteem dan de computer waarop de compiler zelf draait, spreekt men van een crosscompiler. Een programma dat een vertaling uitvoert tussen hogere programmeertalen wordt meestal niet compiler genoemd, maar vertaler. Vertaalt een programma van een lagere programmeertaal naar een hogere dan spreekt men van een decompiler.

Formeel is compilatie het vertalen van expressies uit een formele invoertaal naar expressies uit een formele uitvoertaal (of doeltaal).

De compiler controleert ook of de invoer welgevormd is en of er een correcte vertaling gemaakt kan worden, zo niet dan worden er foutmeldingen gegeven. Tegenwoordig werkt men meestal interactief en stopt de compiler doorgaans bij de eerste foutmelding. Bij de klassieke batchverwerking (de programmeur stuurt zijn programma naar het computercentrum en ontvangt de uitvoer uren later of de volgende dag) onderzoekt de compiler het hele programma op fouten.