Pergunta

Alguém conhece as palestras on -line do curso / universidade que compõem um curso típico do compilador? Eu tive teoria da computação, mas infelizmente minha escola não ofereceu um curso na construção do compilador.

Eu sei que existem palestras por aí; Eu esperava recomendações para ofertas particularmente boas.

Além disso, existem livros para iniciantes no campo? Algo além do livro do dragão, pelo menos. O nível de iniciantes é bom, eu sei que existem muitos textos de avanço intermediário no mercado.

Obrigado!

Foi útil?

Solução

Editar: Caso isso, para que as perguntas não sejam fechadas, verifique isso duplique, então postagem que responde à pergunta de uma maneira muito mais exaustiva.

Alguns Ressources no site OpenCourseware do MIT:

6.035 Engenharia de linguagem de computador
6.827 Paralelismo multithread: idiomas e compiladores

O primeiro provavelmente como você tinha em mente. Também inclui alguns dos vídeos das palestras.
Este último ... positivamente, um curso de nível de pós -graduação. Também o foco está mais em multi-thread do que na cadeia de compilação tradicional. (Mas, novamente, para que os tópicos de código de chunk seja com eficiência, é preciso ter uma compreensão decente da semântica expressa no programa original ...)

Outras dicas

Você pode conferir este curso: http://ecee.colorado.edu/ecen4553

Informação do curso

Línguas de programação de alto nível como o Python facilitam a programação, mas como elas funcionam? Há uma grande lacuna entre as instruções do Python e da máquina para computadores modernos. Aprenda a traduzir programas Python até o Intel X86 Assembly Language.

A maioria dos cursos do compilador ensina uma fase do compilador de cada vez, como análise, análise semântica e alocação de registro. O problema com essa abordagem é que é difícil entender como todo o compilador se encaixa e por que cada fase é projetada da maneira que é. Em vez disso, a cada semana implementamos um subconjunto sucessivamente maior da linguagem Python. O primeiro subconjunto é uma pequena linguagem de declarações aritméticas e, quando terminar, o idioma inclui objetos, herança e funções de primeira classe.

Pré -requisitos: fluência em pelo menos uma linguagem de programação (Java, C, C ++, Python, etc.). Os alunos farão muita programação em Python, mas o conhecimento prévio do Python não é necessário. O curso começará com um curso intensivo sobre Python e Python é uma das línguas mais fáceis de aprender. O conhecimento prévio de uma linguagem de montagem ajuda, mas não é necessário.

Dê uma olhada neste http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf ;)

Essa é uma introdução muito básica, você sabe que os compiladores modernos são realmente complicados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top