Je recherche du matériel didactique qui couvre les preuves d'exactitude du compilateur, de préférence en utilisant des méthodes de dénotation, au niveau d'un étudiant débutant.
Alternativement, connaissez-vous quelques exemples de compilateur simples que je pourrais utiliser pour illustrer les problèmes? (Le premier exemple qui m'est venu à l'esprit était un traducteur des expressions infixes vers postfixes. Mais il n'a pas montré quoi que ce soit d'intéressant autre que la façon de faire l'induction sur la syntaxe.)
Graham Hutton a un petit exemple dans son livre "Programming in Haskell" qui est un excellent point de départ.
J'ai également quelques preuves mécanisées (diverses logiques) du compilateur McCarthy-Painter dans un rapport que j'ai fait pour mon doctorat .
la source
Ce n'est peut-être pas l'exemple le plus simple, mais Xavier Leroy a fait beaucoup de travail dans ce domaine, comme un compilateur C officiellement vérifié . Il a donné une présentation à l'école d'été en utilisant un petit langage impératif IMP, qui est une introduction accessible au travail plus avancé.
la source