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

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter6: Modularity Using Functions
Section6.4: A Case Study: Rectangular To Polar Coordinate Conversion
Problem 9E: (Numerical) Write a program that tests the effectiveness of the rand() library function. Start by...
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
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning