/* 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);
}
download the program file
How to run this program
1 step- save as .l extension and run " flex ass1.3_a.l "
2 step- there would be a c program generated by flex analyser which may be " lex.yy.c " run this file as this command "gcc lex.yy.c -o first -ll " or "cc lex.yy.c -o first -ll"
3rd step- for output "./a.out " and enter the input after complete input press ctrl + D so that input sections will complete ,it will display the result
Comments
Post a Comment