Résumé
Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. un dialecte d'Algol 58, a été le premier langage à fournir un tel bootstrap. Les premiers langages répandus à faire de même furent : Au début des années 1960, l'Algol du Burroughs , qui permit à Burroughs de développer ses futurs systèmes d'exploitation sur la base d'Algols étendus : ; Lisp en 1962 : Hart et Levin ayant écrit un compilateur Lisp en Lisp, ils le testèrent à l'aide d'un interprète Lisp, assimilant tout programme à une expression Lisp ; PL1 Multics, développé ainsi chez GE en 1968-1969. Une présentation générale de la stratégie a été faite en 1971 et fut l'occasion de présenter les qui permettent de la visualiser. Soit le langage à traiter, et un langage disponible : on commence par écrire en un petit compilateur de , produisant une image dans un langage exécutable dans le même environnement. Il suffira que ce premier compilateur traduise exactement les programmes n'utilisant qu'un sous-ensemble contenant les constructions nécessaires de . Un tel compilateur sera noté symboliquement . De tels compilateurs furent longtemps développés en assembleur, un langage symbolique est souvent plus commode et plus sûr. Les premiers compilateurs peuvent être maintenant écrits en C ou dans un langage spécialisé dans l'écriture de compilateurs. Supposons un premier compilateur noté , écrit en et traduisant un sous-ensemble de L dans un langage exécutable . En transcrivant son analyse de en , nous obtenons un nouveau compilateur . Compilé par le premier, il donne un nouveau Soit maintenant une version étendue de (2); compilée par (1), on obtiendra de même .
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.