Skip to main content

LEX program to identify the number is Even or Odd.



/* declaration section in this sections we will declare the different value and include the header file which we are using in this program to run this program */


%{
#include<stdio.h>
#include<stdlib.h>
int i;
%}

/* defined section */

%%
[0-9]+ {i=atoi(yytext); if(i%2==0) printf("Even !"); else printf("Odd !");}
%%

int main()
{
yylex();

}



How to run this program 

          save the file as "even_odd.l"
          open terminal  and run    " flex  even_odd.l "
          it generates c file run      " cc lex.yy.c -o evenodd  -ll  "  as out put  in file count
          now run   for output       " ./evenodd"
         

Comments

  1. That's dumb.

    Replace :

    [0-9]+ {i=atoi(yytext); if(i%2==0) printf("Even !"); else printf("Odd !");}

    By

    [0-9]*[02468] { printf ("Even!"); }
    [0-9]*[13579] {printf ("Odd!); }

    ReplyDelete
  2. How to play Coin Casino: a Bitcoin Casino - Casino
    Coin Casino offers online 샌즈카지노 slots games with BTC, Ethereum, Litecoin, Dash, Dash, Litecoin and more, so 제왕 카지노 that you can take advantage of its range of 인카지노

    ReplyDelete

Post a Comment

Popular posts from this blog

YACC Program to check whether the arithmetic expression is valid or not

validexp.l //LEX Program /* declaration section in this sections we will declare the different value and include the header file which we are using in this program to run this program */ %{ #include"y.tab.h" extern yylval; %} /* defined section */ %% [0-9]+ {yylval=atoi(yytext); return NUMBER;}    //this is send to the yacc code as token INTEGER [a-zA-Z]+ {return ID;}                                          //this is send to the yacc code as token  ID [\t]+ ; \n {return 0;} . {return yytext[0];} %%    validexp.y  //yacc program //decelration section %{ #include<stdio.h> %} //definition section %token NUMBER ID                        // token from lex file %left '+' '-'                    ...

LEX to count the no of "scanf" and "printf" statement in a c program. Replace them with "writf" and "readf" respectively.

/* declaration section in this sections we will declare the different value and include the header file which we are using in this program to run this program */ %{ #include<stdio.h> int sf=0,pf=0; %} /* defined section */ %% "scanf" { sf++; fprintf(yyout,"readf");}            // replace scanf  with readf "printf" { pf++; fprintf(yyout,"writef");}            // replace printf  with writef %% int main() { yyin=fopen("open.c","r");                            // input file open.c yyout=fopen("new.c","w");                            // output file new.c with replace  yylex();      //no of printf and scanf in the file printf("Number of scanfs=%d\nNumber of Printf's=%d\n",sf,pf); return 0; } download the file  ...

lex program to count the number of Positive and negative integer

/* decleration section in this sections we will decleared the different  value and include the header file which we are using in this program to run this program */ %{ #include<stdio.h> int p_count=0; int n_count=0; %} /* this sections is known as defined section in which we defined the rule and regulation of regular expression which will going to accept or not */ %% [+]?([0-9])+  { /* this is for increment and print the positive integer eg: 96, +36 */ p_count++; printf("Positive Integer:%s\n",yytext);} [-]([0-9])+   { /* this is for increment and print the negative integer eg: -96, -36 */ n_count++; printf("negative Integer:%s\n",yytext);} %% /* main function for calling the function */ void main(int argc[],char *argv[]) { yylex(); printf("the total number of Postive Integer are: %d\n" ,p_count); printf("the total number of Negative  Integer are:%d\n",n_count); }                ...