Sou graduado em ciência da computação e trabalho como desenvolvedor web (java, python, AS3 etc.) como profissional. Eu faço um curso por semestre na minha universidade local. Eu havia estudado Inteligência Artificial (compreendendo lógica, gramática livre de contexto, análise de CYK, PNL introdutória, cadeias de markov, HMM etc.) no último semestre.
Estou planejando fazer um curso introdutório de compiladores no próximo semestre, que abrange os seguintes conteúdos programáticos:
Análise Lexical, Análise de Sintaxe, Análise Semântica, Ambiente de Tempo de Execução, Representações Intermediárias, Geração de Código, Alocação de Registros, Seleção e Programação de Instruções, Introdução às Otimizações Locais e Globais de Código, Análise de Fluxo de Dados
Minha pergunta é: existem disciplinas de ciência da computação que eu deva conhecer antes de fazer este curso? Se sim, seria ótimo se você pudesse listar esses cursos.