Estoy buscando material tutorial que cubra las pruebas de corrección del compilador, preferiblemente utilizando métodos de denotación, al nivel de un estudiante graduado principiante.
Alternativamente, ¿conoce algunos ejemplos simples de compiladores que pueda usar para ilustrar los problemas? (El primer ejemplo que se me ocurrió fue un traductor de infix a expresiones de postfix. Pero no mostró nada interesante aparte de cómo hacer inducción en la sintaxis).
Graham Hutton tiene un pequeño ejemplo en su libro "Programación en Haskell", que es un excelente lugar para comenzar.
También tengo algunas pruebas mecanizadas (varias lógicas) del compilador McCarthy-Painter en un informe que hice para mi doctorado .
fuente
Quizás no sea el ejemplo más simple, pero Xavier Leroy ha hecho mucho trabajo en esta área, como un compilador de C verificado formalmente . Dio una presentación de la escuela de verano utilizando un pequeño IMP de lenguaje imperativo, que es una introducción accesible al trabajo más avanzado.
fuente