Question: im trying to create a parser.y code file from my flex.l file. this is my code from flex.l file. Please help me creating the parser.y

im trying to create a parser.y code file from my flex.l file. this is my code from flex.l file. Please help me creating the parser.y code.
%{
#include
%}
/* Regular definitions */
delim [\t]
ws {delim}+
letter [A-Za-z]
digit [0-9]
id ({letter}|_)({letter}|{digit}|_)*
number {digit}+
%%
{ws}{/* No action and no return */}
[
]{line++;}// Increment line number
bool {return(BOOL);}
else {return(ELSE);}
if {return(IF);}
true {return(TRUE);}
while {return(WHILE);}
do {return(DO);}
false {return(FALSE);}
int {return(INT);}
void {return(VOID);}
{id}{return(ID);}
{number}{return(NUM);}// Fix: Separate {id} and {number} rules
"("{yylval = LPAREN; return(PUNCT);}
")"{yylval = RPAREN; return(PUNCT);}
"["{yylval = LBRACK; return(PUNCT);}
"]"{yylval = RBRACK; return(PUNCT);}
"{"{yylval = LBRACE; return(PUNCT);}
"}"{yylval = RBRACE; return(PUNCT);}
";"{yylval = SEMI; return(PUNCT);}
","{yylval = COMMA; return(PUNCT);}
"+"{yylval = PLUS; return(OP);}
"-"{yylval = MINUS; return(OP);}
"*"{yylval = TIMES; return(OP);}
"/"{yylval = DIV; return(OP);}
"%"{yylval = MOD; return(OP);}
"&"{yylval = ADDR; return(OP);}
"&&"{yylval = AND; return(OP);}
"||"{yylval = OR; return(OP);}
"!"{yylval = NOT; return(OP);}
"!="{yylval = NE; return(OP);}
"="{yylval = IS; return(OP);}
"=="{yylval = EQ; return(OP);}
"<"{yylval = LT; return(OP);}
"<="{yylval = LE; return(OP);}
">"{yylval = GT; return(OP);}
">="{yylval = GE; return(OP);}
.{/* For any unrecognized character */}
%%
int main(){
yylex(); // Calling the rules section
return 0;
}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!