Answered step by step
Verified Expert Solution
Question
1 Approved Answer
The Task You will write a lexical analyzer in C++ or C# that recognizes integers, floating point numbers, identifiers, and relational operators .-.--. Examples of
The Task You will write a lexical analyzer in C++ or C# that recognizes integers, floating point numbers, identifiers, and relational operators <.>.-.--. Examples of integers are 34,-322, 0, Examples of floating point numbers are 3.243, 0.003, -3.4 ctc. (no exponent notation required, such as 3.2E4). Examples of identifiers are sum, x123, big_size, A12R etc. Your lexical analyzer function should read the input from a file, and return a result. The main program should first read the name of the input file, and enter a loop, with the following menu being displayed: Call lex0 - Exit "Exit" should end the program. "Call lexO" should call the lexical analyzer to get the next token, as well as additional information, such as a pointer to the symbol table entry, as necessary. Spaces should be skipped in the input file. Identifiers should be placed by lex) in the symbol table the first time they are encountered. In case an unrecognized string is found, lex0 should return UNKNOWN The TOKENS that should be returned by the lexical analyzer are: INTEGER FLOAT ID . GT (for>) LT (for) LE (for . GE (for EQ (for UNKNOWN x 45 5.4 33 size 345abc y1234> The lexical analyzer should return the following results: ID,0 INTEGER,45 These results should be printed on the screen in the main loop of the program each time lex) is called
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started