K. S.
INSTITUTE OF TECHNOLOGY
#14, Raghuvanahalli, Kanakapura Main Road, Bengaluru-5600109
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
Course: System Software Laboratory
Type: Core Course Code:18CSL66 Academic Year:2022-23
Faculty: Mr. Manoj Kumar S Sem/Sec: VI A
No of Hours per week
Number of Contact Hours/Week Total teaching
Total/Week
hours
0:2:2 3 36
Marks
Internal Assessment Examination Total Credits
40 60 100 2
Aim/Objective of the Course:
This laboratory course enables students to
• To make students familiar with Lexical Analysis and Syntax Analysis phases of
Compiler Design and implement programs on these phases using LEX & YACC tools
and/or C/C++/Java
• To enable students to learn different types of CPU scheduling algorithms used in
operating system.
• To make students able to implement memory management - page replacement and
deadlock handling algorithms.
Course Learning Outcomes:
After completing the course, the students will be able to, Bloom’s Level
Utilize LEX and YACC to execute programs to recognize valid
18CSL61.1 arithmetic expression, evaluation of expression, to recognize Applying (K3)
strings.
18CSL61.2 Construct LL(1) parser for given grammar. Applying (K3)
18CSL61.3 Make use of triples to generate machine code. Applying (K3)
Develop programs for CPU Scheduling, deadlock detection, page Applying (K3)
18CSL61.4
replacement policies.
Choose LEX and YACC to eliminate comment lines and recognize
18CSL61.5 Applying (K3)
valid identifiers
Syllabus Content:
1.a) Write a LEX program to recognize valid arithmetic expression. Identifiers in
the expression could be only integers and operators could be + and *. Count the
identifiers & operators present and print them separately.
1.b) Write YACC program to evaluate arithmetic expression involving
operators: +, -, *, and /
2) Develop, Implement and Execute a program using YACC tool to recognize
all strings ending with b preceded by n a’s using the grammar an b (note: input n
value)
3) Design, develop and implement YACC/C program to construct Predictive /
LL(1) Parsing Table for the grammar rules: A->aBa , B->bB | ε . Use this table CO1,
to parse the sentence: abba$ CO2,
4) Design, develop and implement YACC/C program to demonstrate Shift CO3,
Reduce Parsing technique for the grammar rules: E->E+T | T, T->T*F | F, F (E) | CO4,
id and parse the sentence: id + id * id.
5) Design, develop and implement a C/Java program to generate the machine
CO5
code using Triples for the statement A = -B * (C +D) whose intermediate code in
three-address form:
T1 = -B 36HRS
T2 = C + D PO1-3
T3 = T1 + T2 PO2-3
A = T3 PO3-3
6.a) Write a LEX program to eliminate comment lines in a C program and copy PSO1-3
the resulting program into a separate file. PSO2-2
6.b) Write YACC program to recognize valid identifier, operators and keywords
in the given text (C program) file.
7) Design, develop and implement a C/C++/Java program to simulate the
working of Shortest remaining time and Round Robin (RR) scheduling
algorithms. Experiment with different quantum sizes for RR algorithm.
8) Design, develop and implement a C/C++/Java program to implement
Banker’s algorithm. Assume suitable input required to demonstrate the results.
9) Design, develop and implement a C/C++/Java program to implement page
replacement algorithms LRU and FIFO. Assume suitable input required to
demonstrate the results.
Conduction of Practical Examination:
1 . All laboratory experiments (1 to i9 nos) are to be included for practical examination.
2 . Students are allowed to pick one experiment from the lot.
3 . Strictly follow the instructions as printed on the cover page of answer script.
4 . Marks distribution:Procedure + Conduction + Viva:15 + 70 +15=100 Marks
5 . Change of experiment is allowed only once and marks allotted to the procedure
part to be made zero.
CO to PO Mapping
PO1: Science and engineering PO7: Environment and Society
Knowledge PO8: Ethics
PO2: Problem Analysis PO9: Individual & Team Work
PO10: Communication
PO3: Design & Development
PO11: Project Mgmt. & Finance
PO4: Investigations of Complex PO12: Lifelong Learning
Problems
PO5: Modern Tool Usage
PO6: Engineer & Society
PSO1: Ability to understand, analyze problems and implement solutions in programming
languages, as well to apply concepts in core areas of Computer Science in association with
professional bodies and clubs.
PSO2: Ability to use computational skills and apply software knowledge to develop effective
solutions and data to address real world challenges
PO
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO11 PO12
10
18CSL66.1 3 3 3 - - - - - - - - -
18CSL66.2 3 3 3 - - - - - - - - -
18CSL66.3 3 3 3 - - - - - - - - -
18CSL66.4 3 3 3 - - - - - - - - -
18CSL66.5 3 3 3 - - - - - - - - -
18CSL66 3 3 3 - - - - - - - - -
CO PSO1 PSO2
18CSL66.1 3 2
18CSL66.2 3 2
18CSL66.3 3 2
18CSL66.4 3 2
18CSL66.5 3 2
18CSL66 3 2
Course in-Charge Module Coordinator HOD