Compilateurs (langages) est un programme informatique, transformant le code source transforme un code source en un code objet, exemple un langage d'assemblage ou langage machine, pour créer un programme exécutable par la machine.
Le compilateur effectue les opérations : analyse lexicale, pré-traitement (préprocesseur), analyse syntaxique (parsing), analyse sémantique, et génération de code optimisé. Il est souvent suivi d'une étape d’édition des liens, pour générer un fichier exécutable. Si le programme compilé (code objet) est exécuté sur un ordinateur dont le processeur ou le système d'exploitation est différent de celui du compilateur, on parle de compilation croisée. On distingue deux options de compilation : Ahead-of-time (AOT), où il faut compiler le programme avant de lancer l'application : c'est la situation traditionnelle. Compilation à la volée (just-in-time, en abrégé JIT) : cette faculté est apparue dans les années 1980 (par exemple avec Tcl/Tk).