2.
Programme informatique destiné à traduire des programmes écrits par le programmeur dans un langage de haut niveau (le langage source), en un code objet (écrit dans le langage cible, habituellement lié à la machine d’exécution : langage d’assemblage ou langage machine).
['Les opérations de création de noyau sont logiquement accomplies sur un système particulier possédant un compilateur. Les systèmes en production n’en possèdent généralement pas.', 'Ils confient donc à un compilateur, à partir du logiciel qu’ils ont écrit dans un langage de programmation OO tel que C++, Smalltalk, Java ou C#, le soin de le traduire dans les instructions élémentaires du processeur […]', 'Comme promis, nous allons étudier maintenant la règle qui autorise l’omission de l’esperluète dans un appel de sous-programme. Si le compilateur rencontre la définition de la fonction avant l’invocation, ou si Perl peut savoir d’après la syntaxe qu’il s’agit d’un appel de fonction, celle-ci peut être appelée sans esperluète, comme une fonction intégrée quelconque.']