0% found this document useful (0 votes)
68 views5 pages

CS-2104 Introduction To Software Engineering Handbook by Mehtab Mushtaq

This document outlines the course details for a Compiler Construction course offered at the University of Kotli Azad Jammu and Kashmir. The course is a 3 credit hour, semester 5 course taught by Mehtab Mushtaq. The course introduces topics related to compiler design including lexical analysis, parsing, symbol tables, code generation and optimization techniques. Over the 16 week semester, students will learn about these topics through lectures, assignments and a midterm and final exam. The course aims to help students understand the basic techniques and data structures used in compiler construction.

Uploaded by

mehtab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views5 pages

CS-2104 Introduction To Software Engineering Handbook by Mehtab Mushtaq

This document outlines the course details for a Compiler Construction course offered at the University of Kotli Azad Jammu and Kashmir. The course is a 3 credit hour, semester 5 course taught by Mehtab Mushtaq. The course introduces topics related to compiler design including lexical analysis, parsing, symbol tables, code generation and optimization techniques. Over the 16 week semester, students will learn about these topics through lectures, assignments and a midterm and final exam. The course aims to help students understand the basic techniques and data structures used in compiler construction.

Uploaded by

mehtab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

University of Kotli Azad Jammu and Kashmir

Faculty of Computing & Engineering


Department of Computer Science

COURSE HANDBOOK
1. Course Title Compiler Construction
2. Course Code CS-3103
3. Credit Hours 3 (3,0)
4. Semester Semester 5th, Fall-2021
5. Resource Person Mehtab Mushtaq
6. Supporting Team Members None
7. Contact Hours (Theory) 3 hours per week
8. Contact Hours (Lab) Not Applicatable
9. Office Hours Mon-Tue 1:00 pm to 2:30 pm
10. Course Introduction
This Course introduces topics include compiler design, lexical analysis, parsing, symbol
tables, declaration and storage management, code generation, and optimization
techniques.

11. Learning Objectives


At the end of the course the students will be able to:
 Understand the structure of compilers
 Understand the basic techniques used in compiler construction such as lexical
analysis, top-down, bottom-up parsing, context-sensitive analysis, and
intermediate code generation
 Understand the basic data structures used in compiler construction such as
abstract syntax trees, symbol tables, three-address code, and stack machines
12. Course Contents

• Introduction to Compilers • Lexical Analysis • Syntax Analysis • Parsers Implementation


• Semantic Analysis • Intermediate Representation, code generation • Code generation and
Code optimization • Error Detection and Recovery • Error Repair, Compiler
Implementation
13. Lecture/Lab Schedule
Weeks Topic of Lecture Reading Assignment
Week 1 Introduction                                                 Book+ Lecture Notes
 Overview of Compilers, Compilation
Process, Phases of Compiler,
 Cousins of compiler

Page # 1/5
Week 2 Lexical Analyzer       Book+ Lecture Notes
                                                                         
 Overview and Role of Lexical Analyzer,
Tokens, Lexemes, Patterns, Specification of
tokens, recognition of tokens.
Week 3 Lexical Analyzer (Continued) Book+ Lecture Notes
 Finite automata, NFA, DFA, Conversion
from a regular expression to an NFA, NFA
problems, NFA & DFA Comparison,
Design of a Lexical Analyzer.
Week 4 Symbol Table Manager      Book+ Lecture Notes
 Overview, Symbol Table organization,
Classification of the symbol table, symbol
table operations, working,
implementation.

Week 5 Syntax Analyzer Book+ Lecture Notes


 Role of Parser, Context-Free grammars,
writing a grammar, Types of Parsing, Top-
down parsing, Bottom-up parsing
Week 6 Syntax Analyzer (Continued) Book+ Lecture Notes
 Backtracking, Recursive Descent parsing,
problems with RD parsing, Predictive
parsing, Transition diagrams for predictive
parsers, Non-Recursive Predictive Parsing
Week 7 Semantic Analysis Book+ Lecture Notes
 Overview of Type Checking, specification
of a simple type checker, Equivalence of
type expressions
Week 8 Semantic Analysis (Continued) Book+ Lecture Notes
 Type conversions, type rules, type
constructors, Overloading of functions and
operators, polymorphic functions

Week 9 Semantic Analysis (Continued)          Book+ Lecture Notes


 A simple type checker generator

Week 10 Intermediate Code Generator                                 Book+ Lecture Notes


 Intermediate languages, declarations, Three
address code instructions, and their
representations

Page # 2/5
Week 11 Intermediate Code Generator (Continued) Book+ Lecture Notes
 Intermediate Code Generator examples

Week 12 Code Optimization     Book+ Lecture Notes


 Overview, the principal sources of
optimization, optimization of basic blocks,
loops, code improvement transformations.

Week 13 Code Generation   Book+ Lecture Notes


 Role of a code generator, Issues in the
design of a code generator, Runtime storage
management, simple code generator.

Week 14 Code Generation   (Continued)          Book+ Lecture Notes


 code generation by tree, walking; context
sensitive translation, register use.
Week 15 Detection and recovery from errors Book+ Lecture Notes
 Detection of syntax errors by compilers and
their recovery mechanism
Week 16 Miscellaneous Book+ Lecture Notes
 Overview of principles of programming
languages. Criteria for selecting
programming languages, Representing
concurrency and analyzing concurrent
designs
14. Course Assessment
The assessment of this module shall have following breakdown structure:

Quiz Assignment Mid Terminal Total

10% 10% 30% 50% 100%

15 15 45 75 150

The minimum pass marks for each course shall be 50%. Students obtaining less than 50% marks
in any course shall be deemed to have failed in that course. The correspondence between letter
grades, credit points, and percentage marks at UOKAJK shall be as follows:

Grades Letter Grade Credit Points Percentage Marks

A+ 4.0 90 and above


( Excellent)
A 4.0 80-89

Page # 3/5
B+ 3.5 72-79
(Good)
B 3.0 65-71
C (Average) 2.0 50-64
F (Failing) 0.0 Less than 50
15. Assessment Schedule
Week 3 Quiz-1
Week 1-4 Assignment-1
Week 6 Quiz-2
Week 5-7 Assignment-2
Week 11 Quiz-3
Week 9-12 Assignment-3
Week 15 Quiz-4
Week 13-16 Assignment-4
16. Format of Assignment
Unless otherwise stated, all the assignments should be hand written, with typed front page
according to following format.
Roll # :_____________
Name : _____________
Course Title : _________
Class : __________
Session: __________
Assignment # : _______
Submitted to : _________
Date : ___________
(Font size 12, Times New Roman)
17. Text Book 1. Compilers-Principles, Techniques and Tools by
Aho, Sethi and Ullman(The Dragon BOOK)

18. Reference Books 1. Compiler Construction by Kenneth C. Louden and


Glagotia
2. Modern Compiler Implementation in C, By Andrew
W. Appel, Maia Ginsburg, Contributor Maia
Ginsburg, Cambridge University Press, 2004.
3. Modern Compiler Design by Dick Grune, Henri E.
Bal, Ceriel J. H. Jacobs, Koen G. Langendoen,
2003, John Wiley & Sons.
4. https://t4tutorials.com/passes-and-phases-of-
compiler-design/

19. Plagiarism
Plagiarism involves the unacknowledged use of someone else’s work, usually in coursework, and
passing it off as if it were one’s own. Many students who submit apparently plagiarised work
probably do so inadvertently without realising it because of poorly developed study skills,
including note taking, referencing and citations; this is poor academic practice rather than
malpractice. Study skills education within programmes of study should minimise the number of
students submitting poorly referenced work. However, some students plagiarise deliberately, with
the intent to deceive. This intentional malpractice is a conscious, pre-mediated form of cheating
and is regarded as a particularly serious breach of the core values of academic integrity.
Page # 4/5
Plagiarism can include the following:
1. Collusion, where a piece of work prepared by a group is represented as if it were the
student’s own;
2. Commission or use of work by the student which is not his/her own and representing it as
if it were, e.g.:
a. Purchase of a paper from a commercial service, including internet sites, whether
pre-written or specially prepared for the student concerned
b. Submission of a paper written by another person, either by a fellow student or a
person who is not a member of the university;
3. Duplication (of one’s own work) of the same or almost identical work for more than one
module;
4. The act of copying or paraphrasing a paper from a source text, whether in manuscript,
printed or electronic form, without appropriate acknowledgement (this includes quoting
directly from another source with a reference but without quotation marks);
5. Submission of another student’s work, whether with or without that student’s knowledge
or consent;
6. Directly quoting from model solutions/answers made available in previous years;
7. Cheating in class tests, e.g.
a. When a candidate communicates, or attempts to communicate, with a fellow candidate
or individual who is neither an invigilator or member of staff
b. Copies, or attempts to copy from a fellow candidate
c. Attempts to introduce or consult during the examination any unauthorised printed or
written material, or electronic calculating, information storage device, mobile phones
or other communication device
d. Personates or allows himself or herself to be impersonated.
8. Fabrication of results occurs when a student claims to have carried out tests, experiments
or observations that have not taken place or presents results not supported by the evidence
with the object of obtaining an unfair advantage.
These definitions apply to work in whatever format it is presented, including written work,
online submissions, groupwork and oral presentations.
20. Attendance Policy
Every student must attend 80% of the lectures/presentation delivered in this course and 80% of
the practical/laboratory work prescribed for the respective courses. The students falling short of
required percentage of attendance of lectures/seminars/practical/laboratory work, etc., shall not be
allowed to appear in the terminal examination of this course and shall be treated as having failed
this course.
21. Field Trips/Case Studies/Seminars/Workshop
N.A.

Page # 5/5

You might also like