Basic programming language processors: assemblers, interpreters and compilers. Topics include design and construction of language processors, formal syntatic definition methods, parsing techniques and code generation techniques. Lab includes construction of language processors and exprience with programming environments.