Write a lexical analyzer to scan the following program snippet. /* The main function */ int main() { } int number = 3; print("Number"+ number); return 0;

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

So I need help solving this particular HW problem.

Write a lexical analyzer to scan the following program snippet.
/* The main function */
int main() {
}
int number
print("Number " + number);
return 0;
3;
Your lexical analyzer (recognizer, scanner, i.e., your program) should -
1) read the code snippet one character at a time
2) skip comments and white spaces
3) once it recognizes a lexeme, it should associate it with its corresponding token
Tokens used in this program ( a simplified version) -
• KEYWORD: return, int
• OPERATOR: =, +
• IDENTIFIER: any non-keyword variables
• Constants:
H
• STRING_LIT // string of characters. Note: surrounded by a pair of "
• INT_LIT // integer numbers
• SEPERATOR: ;
• DELIMITER: (,), {}
Your program should display something like the following:
(KEYWROD, int)
(IDENTIFIER, main)
(DELIMITER, ()
(DELIMITER, ))
Transcribed Image Text:Write a lexical analyzer to scan the following program snippet. /* The main function */ int main() { } int number print("Number " + number); return 0; 3; Your lexical analyzer (recognizer, scanner, i.e., your program) should - 1) read the code snippet one character at a time 2) skip comments and white spaces 3) once it recognizes a lexeme, it should associate it with its corresponding token Tokens used in this program ( a simplified version) - • KEYWORD: return, int • OPERATOR: =, + • IDENTIFIER: any non-keyword variables • Constants: H • STRING_LIT // string of characters. Note: surrounded by a pair of " • INT_LIT // integer numbers • SEPERATOR: ; • DELIMITER: (,), {} Your program should display something like the following: (KEYWROD, int) (IDENTIFIER, main) (DELIMITER, () (DELIMITER, ))
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 1 images

Blurred answer
Knowledge Booster
Computational Systems
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education