I am non computer science undergraduate and work as a web-developer(java, python, AS3 etc.) as a professional. I take 1 course per semester at my local university. I had taken Artificial Intelligence(comprising logic, context free grammar, CYK parsing, introductory NLP, markov chains, HMM etc.) last semester.
I am planning to take an introductory course in compilers in the coming semster which covers the following syllabus:
Lexical Analysis, Syntax Analysis, Semantic Analysis, Run-Time Environment, Intermediate Representations, Code Generation, Register Allocation, Instruction Selection and Scheduling, Introduction to Local and Global Code Optimizations, Data Flow analysis
My question is that, are there any computer science subjects which I should know before taking this course? If yes, it would be great if you could please list those courses.