In this courseunit, students shall understand the complete process of translating a program in a high-level language to machine language. The course gives an introduction to the design and implementation of a compiler with emphasis on principles and techniques for program anal- ysis and translation.I t also gives an overview of the tools for compiler construction. Lexic alanalysis,token selection,transitiondiagrams, and finite automata. The use of context-free grammars to describe syntax,derivations of parsetrees,andconstructionofparsers.Syntax- directedtranslationschemes;Intermediatecode;Symboltable;Code generation;Detection,reporting,recoveryandcorrectionoferrors.The aim of the course is to allow students to examine how ahigh-level,language program is accepted as input and translated into assembly language or machine languages othat the central processing unit re- ceives instructions which itunderstands and can execute.