Les principaux types de compilateurs informatiques sont les compilateurs à passe unique, les compilateurs à passes multiples, les compilateurs croisés et les compilateurs d'optimisation. Un compilateur prend un langage informatique, appelé code source, et le convertit dans le langage cible . Il permet à un ordinateur de pouvoir lire différents codes sources. Un compilateur rend le logiciel plus rapide et utilise moins de mémoire.
Les compilateurs sont considérés comme des types spécifiques de traducteurs informatiques. Ils traduisent les codes sources d'un langage de haut niveau vers un langage de niveau inférieur, tels que les codes machine et le code assembleur.
Un compilateur croisé est un compilateur qui peut s'exécuter sur le système d'exploitation d'un ordinateur différent du système d'exploitation que le programme utilise habituellement. Il décompose les codes binaires, les comprend et permet aux programmeurs informatiques d'accéder aux codes.
Un compilateur est un programme informatique écrit en langage d'implémentation. Le premier compilateur capable de compiler son propre code source a été développé en 1962. Dans les années 1990, des compilateurs gratuits et des outils de développement de compilateurs ont été massivement développés. Les compilateurs modernes sont de haute qualité et sont écrits dans de nombreux types de langages. Un programme de compilation qui traduit un programme de bas niveau en un programme de niveau supérieur est appelé décompilateur.