Un compilateur traduit un texte écrit en langage évolué (C++, C, Pascal, Fortran ...), en code binaire exécutable par le processeur. Il effectue en outre des vérifications de syntaxe et de cohérence des types de données (pour les langages typés comme Pascal), et produit des messages d'erreur en cas de violation des règles de construction de programme.