Theory and implementation of high-level language virtual machines including assemblers, macro expansion, compilers and interpreters; syntactic and semantic models. Prerequisites: CS 221N and CS 301