Estou procurando um material tutorial que cubra as provas de correção do compilador, de preferência usando métodos denotacionais, no nível de um estudante iniciante.
Como alternativa, você conhece alguns exemplos simples de compilador que eu poderia usar para ilustrar os problemas? (O primeiro exemplo que me ocorreu foi um tradutor de expressões infix para postfix. Mas não mostrou nada de interessante além de como fazer indução na sintaxe.)
Graham Hutton tem um pequeno exemplo em seu livro "Programming in Haskell", que é um ótimo lugar para começar.
Também tenho algumas provas mecanizadas (várias lógicas) do compilador McCarthy-Painter em um relatório que fiz para meu doutorado .
fonte
Talvez não seja o exemplo mais simples, mas Xavier Leroy fez muito trabalho nessa área, como um compilador C formalmente verificado . Ele fez uma apresentação na escola de verão usando uma pequena linguagem imperativa IMP, que é uma introdução acessível ao trabalho mais avançado.
fonte