This is a subset of C++ language. Description of the language as follow:     Details Note 1 Reserved words CONST , FLOAT , INT , BREAK , CONTINUE , ELSE , FOR , SWITCH , VOID , CASE , ENUM , SIZEOF , TYPEDEF ,CHAR ,DO , IF , RETURN , UNION , WHILE, GIFT, DEAN, HOD, and, or #DEFINE // define is keyword DEFINE // Nothing #INCLUDE // include is keyword INCLUDE // Nothing 2 Identifiers examples (val1u e, r2ate, C1o_unter, 2test123, etc “_ _” cannot be an identifier. “_” cannot be last symbol of id. Must have one or more digit. Can start with Digit. 3 Numbers example (123,223, 23.5, 0.45 etc)   4 Operators <,>,!=, <>, :=, ==, *, +, /,-, >>>,<<<, ++, +=, -=, --, &&, ||, |& as XOR , &| as NOR;   5 User input/output Input>>>, output<<< “>>>” use instead of >> “<<<” use instead of << 6 Punctuations [,{,(,),},],”,”   7 Comments //this is comment /* */   Description: For this  you have to implement a lexical analyzer, also called a scanner. This includes following parts: 1. Define Lexical Specification (Regular Expressions) for all token types. 2. Generate NFA for each regular expression or complete DFA. 3. Code (Pre Lex and Lexical Analysis) Tools: Language (For Development): C++, JAVA, Python (You can do in any of them in which you are comfortable)

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter3: Understanding Structure
Section: Chapter Questions
Problem 20RQ
icon
Related questions
Question

This is a subset of C++ language. Description of the language as follow:

    Details Note
1 Reserved words CONST , FLOAT , INT , BREAK ,
CONTINUE , ELSE , FOR , SWITCH ,
VOID , CASE , ENUM , SIZEOF ,
TYPEDEF ,CHAR ,DO , IF , RETURN ,
UNION , WHILE, GIFT, DEAN, HOD,
and,
or
#DEFINE // define is keyword
DEFINE // Nothing
#INCLUDE // include is
keyword
INCLUDE // Nothing
2 Identifiers

examples (val1u e, r2ate, C1o_unter,

2test123, etc

“_ _” cannot be an identifier.
“_” cannot be last symbol of id.
Must have one or more digit.
Can start with Digit.
3 Numbers example (123,223, 23.5, 0.45 etc)  
4 Operators <,>,!=, <>, :=, ==, *, +, /,-, >>>,<<<, ++,
+=, -=, --, &&, ||, |& as XOR , &| as
NOR;
 
5 User input/output Input>>>, output<<< “>>>” use instead of >>
“<<<” use instead of <<
6 Punctuations [,{,(,),},],”,”  
7 Comments //this is comment
/* */
 

Description:
For this  you have to implement a lexical analyzer, also called a scanner. This includes following parts:

1. Define Lexical Specification (Regular Expressions) for all
token types.
2. Generate NFA for each regular expression or complete DFA.
3. Code (Pre Lex and Lexical Analysis)

Tools:
Language (For Development): C++, JAVA, Python (You can do in any of them in which you are
comfortable)
     

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Function Arguments
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
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage