Difference between revisions of "Fall 2020: System Programming Lab"

From MKWiki
Jump to navigation Jump to search
Line 78: Line 78:
 
|-
 
|-
 
| style="width: 8%"  | 1  
 
| style="width: 8%"  | 1  
| style="width: 60%" | Write a Lex specification program that generates a C program which takes a string “abcd” and prints the following output:
+
| style="width: 60%" | Write a Lex specification program that generates a C program which takes a string “abcd” and prints the following output:<br>
abcd
+
abcd <br>
abc
+
abc<br>
ab
+
ab<br>
 
a
 
a
 
| style="width: 15%" |  Lab Exercise No. 7 ||
 
| style="width: 15%" |  Lab Exercise No. 7 ||

Revision as of 22:59, 22 September 2020

Resources

  • An introductory tutorial on Lex.
  • LEX & YACC TUTORIAL by Tom Niemann [1]
  • Lex Basics on javatpoint [2]
  • Lex on Windows [3]

Lab 1: Getting Started ( week of 10th August 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a Lex Program to count number of words Practice Set No. 1(1)
2 Write a Lex program to count the number of lines and characters in the input file. Lab Exercise No. 1
3 Write a Lex Program to count the number of lines, tabs and spaces used in the input. Practice Set No. 1(2)
4 Write a Lex Program to count the number of lines, words, small letters, capital letters, digits, special characters, and finally all characters. Practice Set No. 1(3)

Lab 2-3 ( week of 17th & 24th August 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a Lex program to count the number of vowels and consonants in a given string Practice Set No. 2(1)
2 Write a Lex program that implements the Caesar cipher. It replaces every letter with the one three letters after(right shift) in an alphabetical order, wrapping around at Z e.g a is replaced by d ,d by e ,and so on z by c. Lab Exercise No. 2 Read about Caesar Cipher from [4]

Lab 4 ( week of 31st August 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a Lex program that finds the longest word (defined as a contiguous string of upper and lower case letters) in the input. Lab Exercise No. 3
2 Write a Lex program that distinguishes keywords, integers, floats, identifiers, operators, and comments in any simple programming language. Lab Exercise No. 4

Lab 5-6 ( week of 7th & 14th September 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a Lex program to count the number of identifiers in a c file. Lab Exercise No. 5
2 Write a Lex program to count the number of words ,characters ,blank spaces and lines in c file. Lab Exercise No. 6

Lab 7 ( week of 21st September 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a Lex specification program that generates a C program which takes a string “abcd” and prints the following output:

abcd
abc
ab
a

Lab Exercise No. 7
2 Write a Lex program to recognize a valid arithmetic expression. Lab Exercise No. 8