Я не бакалавр компьютерных наук и работаю веб-разработчиком (Java, Python, AS3 и т. Д.) Как профессионал. Я беру 1 курс в семестр в моем местном университете. В прошлом семестре я принимал искусственный интеллект (включающий логику, грамматику без контекста, разбор CYK, вводный НЛП, цепочки Маркова, HMM и т. Д.).
В следующем семестре я планирую пройти вводный курс по компиляторам, который охватывает следующие программы:
Лексический анализ, синтаксический анализ, семантический анализ, среда выполнения, промежуточные представления, генерация кода, распределение регистров, выбор инструкций и планирование, введение в локальную и глобальную оптимизацию кода, анализ потока данных
Мой вопрос заключается в том, есть ли какие-либо предметы по информатике, которые я должен знать, прежде чем пройти этот курс? Если да, было бы здорово, если бы вы могли перечислить эти курсы.