Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Lexical analysis is the process of reading in the stream of characters making up the source code of a program and dividing the input into

Lexical analysis is the process of reading in the stream of characters making up the source code of
a program and dividing the input into tokens. In this assignment, you will use regular expressions
and DFAs to implement a lexical analyzer for a subset of C programming language.
Your Task
Your task is to write a program that reads an input text file, and constructs a list of tokens in
that file. Your program may be written in C, C++, Java or any other programming language.
Assuming that the input file contains the following code string:
2.1 Sample Input (C++ code)
void main ()
{
int sum =0;
for(int j=0; j 10; j=j+1)
{
sum = sum + j +10.43+34E4+45.34E-4+ E43+.34;
}
}
2.2 Sample Output
The output of the program should be similar to the following:
Class : Lexeme
keyword : void
identifier : main
Page
2
of 4
Assignment 1(Lexical Analyzer)
Compiler Construction CS4435(Spring 2015)
University of Lahore
Maryam Bashir
Assigned: Saturday, March 14,2015. Due: Monday 23rd March 201511:59 PM
Lexical analysis
Lexical analysis is the process of reading in the stream of characters making up the source code of
a program and dividing the input into tokens. In this assignment, you will use regular expressions
and DFAs to implement a lexical analyzer for a subset of C programming language.
Your Task
Your task is to write a program that reads an input text file, and constructs a list of tokens in
that file. Your program may be written in C, C++, Java or any other programming language.
Assuming that the input file contains the following code string:
2.1 Sample Input (C++ code)
void main ()
{
int sum =0;
for(int j=0; j 10; j=j+1)
{
sum = sum + j +10.43+34E4+45.34E-4+ E43+.34;
}
}
2.2 Sample Output
The output of the program should be similar to the following:
Class : Lexeme
keyword : void
identifier : main
1
(Copyrighted by University of Lahore)
( : (
) : )
{ : {
keyword : int
identifier : sum
= : =
num : 0
; : ;
keyword : for
( : (
keyword : int
identifier : j
= : =
num : 0
; : ;
identifier : j
:
num : 10
; : ;
identifier : j
= : =
identifier : j
+ : +
num : 1
) : )
{ : {
identifier : sum
= : =
identifier : sum
+ : +
identifier : j
+ : +
num : 10.43
+ : +
num : 34.E4
+ : +
num : 45.34E-4
+ : +
identifier : E43
+ : +
Error : .
num : 34
; : ;
} : }
} : }
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

New Trends In Databases And Information Systems Adbis 2019 Short Papers Workshops Bbigap Qauca Sembdm Simpda M2p Madeisd And Doctoral Consortium Bled Slovenia September 8 11 2019 Proceedings

Authors: Tatjana Welzer ,Johann Eder ,Vili Podgorelec ,Robert Wrembel ,Mirjana Ivanovic ,Johann Gamper ,Mikolaj Morzy ,Theodoros Tzouramanis ,Jerome Darmont

1st Edition

3030302776, 978-3030302771

More Books

Students also viewed these Databases questions