Lex Program TO find Syntax of Printf()
Lex Program TO find Syntax of Printf() Source Code:- 1: %{ 2: #include<stdio.h> 3: #include<ctype.h> 4: int i=0,j=0; 5: %} 6: a "%d"|"%f"|"%c"|"%s" 7: id [a-zA-Z][a-zA-Z0-9]* 8: %% 9: printf\((\"({a}*|.*)*\"(,{id})*\))\; {for(i=0;i<yyleng;i++){if(yytext[i]=='%') 10: j++; 11: if(yytext[i]==',') 12: j--; 13: } 14: if(j==0) 15: printf("\ncorrect"); 16: else 17: printf("incorrect"); 18: } 19: %% 20: main() 21: { yyin=fopen("file12.c","r"); 22: yylex(); 23: } 24: int yywrap() 25: {return 1; 26: }