Theoretical discussion of the complexities of a modern compiler, along with the examination of the algorithms necessary to implement the same. Programming tools such as LEX and YACC may be used. All phases of a compiler are implemented. Credits:3 Prerequisite:CS 311 and CS 345