Difference between revisions of "Spring 2021: Programming in Java Lab (PSCS)"

From MKWiki
Jump to navigation Jump to search
Line 29: Line 29:
 
     *  *  *  *  
 
     *  *  *  *  
 
|| Practice Set No. 5 ||
 
|| Practice Set No. 5 ||
|}
 
 
== '''Lab 2-3''' ( week of 17<sup>th</sup> & 24<sup>th</sup> August 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| style="width: 8%"  | 1
 
| style="width: 60%" | Write a Lex program to count the number of vowels and consonants in a given string
 
| style="width: 15%" | 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 [https://en.wikipedia.org/wiki/Caesar_cipher]
 
|}
 
 
== '''Lab 4''' ( week of 31<sup>st</sup> August 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| style="width: 8%"  | 1
 
| style="width: 60%" | Write a Lex program that finds the longest word (defined as a contiguous string of upper and lower case letters) in the input.
 
| style="width: 15%" |  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 7<sup>th</sup> & 14<sup>th</sup> September 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| style="width: 8%"  | 1
 
| style="width: 60%" | Write a Lex program to count the number of identifiers in a c file.
 
| style="width: 15%" |  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-8''' ( week of 21<sup>st</sup> & 28<sup>th</sup> September 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| 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:<br>
 
abcd <br>
 
abc<br>
 
ab<br>
 
a
 
| style="width: 15%" |  Lab Exercise No. 7 ||
 
|-
 
| 2 || Write a Lex program to recognize a valid arithmetic expression. || Lab Exercise No. 8 ||
 
|}
 
 
== '''Lab 9''' ( week of 5<sup>th</sup> October 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| colspan="4"  style="text-align: center;|  Complete all the Lex programs i.e., '''Lab Exercise No.1 - Lab Exercise No.8'''
 
|}
 
 
== '''Lab 10-11''' ( week of 2<sup>nd</sup> & 9<sup>th</sup> November 2020 ) ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| style="width: 8%"  | 1
 
| style="width: 60%" | Write a Program in YACC to evaluate an expression (simple calculator program for addition, subtraction, multiplication, and division).
 
| style="width: 15%" | Lab Exercise No. 10 ||
 
|-
 
| 2 || Write a YACC program to find the validity of a given expression( for operator + - * and / ). A program in YACC which recognizes a valid variable which starts with letter followed by a digit. The letter should be in lowercase only. || Lab Exercise No. 9 ||
 
|}
 
 
== '''Final Lab''' ==
 
{| class="wikitable" style="text-align: left; width: 100%";
 
|-
 
! Q. NO. 
 
! Program 
 
! Lab Exercise No. 
 
! Remarks
 
|-
 
| style="width: 8%"  | 1
 
| style="width: 60%" | Program in YACC to recognize the string "abbb‟, "ab‟, "a‟ of the langauge (a<sup>n</sup>b<sup>n</sup>, n>=1).
 
| style="width: 15%" | Lab Exercise No. 11 ||
 
|-
 
| 2 || Program in YACC to recognize the language (a<sup>n</sup>b , n>=10). (output to say input is valid or not) || Lab Exercise No. 12 ||
 
 
|}
 
|}

Revision as of 14:22, 6 January 2021

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 04th January 2021 )

Q. NO. Program Lab Exercise No. Remarks
1 WAP to find the sum of any number of integers entered as command line arguments. Practice Set No. 1
2 WAP to find whether the given number is even or odd Practice Set No. 2
3 WAP to find the factorial of a given number Practice Set No. 3
4 WAP to check whether the given number is prime or not Practice Set No. 4
5 WAP to print the following pattern using nested for loop:
    *
    *  *
    *  *  *
    *  *  *  * 
Practice Set No. 5