Subject Code: ECP3096
Objective: To provide the basic understanding of computer compilers, translators and related issues.
Pre-Requisite: ECP1026: Algorithm and Data Structure
Credit Hours: 3
Contact Hours: 56 hours (lectures and tutorials)
Assessment: Test/Quiz: 25%
Assignment: 15%
Final Examination: 60%
Laboratory: The programming tutorials will be conducted using the GCC compiler in the LINUX operating system.
Details of Assignment: Example:

Title: Development of a Simple Lexical Analyser and a Simple Predictive Parsing Compiler.
Objective: To give the students some hands on exercise on compiler writing for a simple and specific code and language.
Type: Compiler Design.
Description: A BNF of a new language is given. The students are required to write a compiler for that language that will translate it into an assembly language. Test programs written in that new language will be tested on the compiler, and the results run to see how accurate the implementation is. (The actual language to be compiled is changed every time the course is offered.)
References:
  • J.P. Bennett, “Introduction to Compiling Techniques”, 2nd Edition, McGraw-Hill, 1996.(Textbook)
  • Alfred Aho, Ravi Sethi, Jeffrey Ullman, “Compilers: Principles, Techniques and Tools”, Addison-Wesley, 1986.

Course Contents

Learning Outcome of Subject (% of contribution)

At the completion of the subject, students should be able to perform the following tasks:

Programme Outcomes (% of contribution)