C PROGRAM TO IMPLEMENT LEXICAL ANALYZER
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void keyw(char *p);
int i=0,id=0,kw=0,num=0,op=0;
char keys[32][10]={"auto","break","case","char","const","continue","default",
"do","double","else","enum","extern","float","for","goto",
"if","int","long","register","return","short","signed",
"sizeof","static","struct","switch","typedef","union",
"unsigned","void","volatile","while"};
main()
{
char ch,str[25],seps[15]=" \t\n,;(){}[]#\"<>",oper[]="!%^&*-+=~|.<>/?";
int j;
char fname[50];
FILE *f1;
//clrscr();
printf("enter file path (drive:\\fold\\filename)\n");
scanf("%s",fname);
f1 = fopen(fname,"r");
//f1 = fopen("Input","r");
if(f1==NULL)
{
printf("file not found");
exit(0);
}
while((ch=fgetc(f1))!=EOF)
{
for(j=0;j<=14;j++)
{
if(ch==oper[j])
{
printf("%c is an operator\n",ch);
op++;
str[i]='\0';
keyw(str);
}
}
for(j=0;j<=14;j++)
{
if(i==-1)
break;
if(ch==seps[j])
{
if(ch=='#')
{
while(ch!='>')
{
printf("%c",ch);
ch=fgetc(f1);
}
printf("%c is a header file\n",ch);
i=-1;
break;
}
if(ch=='"')
{
do
{
ch=fgetc(f1);
printf("%c",ch);
}while(ch!='"');
printf("\b is an argument\n");
i=-1;
break;
}
str[i]='\0';
keyw(str);
}
}
if(i!=-1)
{
str[i]=ch;
i++;
}
else
i=0;
}
printf("Keywords: %d\nIdentifiers: %d\nOperators: %d\nNumbers: %d\n",kw,id,op,num);
//getch();
}
void keyw(char *p)
{
int k,flag=0;
for(k=0;k<=31;k++)
{
if(strcmp(keys[k],p)==0)
{
printf("%s is a keyword\n",p);
kw++;
flag=1;
break;
}
}
if(flag==0)
{
if(isdigit(p[0]))
{
printf("%s is a number\n",p);
num++;
}
else
{
//if(p[0]!=13&&p[0]!=10)
if(p[0]!='\0')
{
printf("%s is an identifier\n",p);
id++;
}
}
}
i=-1;
}
output

thankyou! you are a savior!
ReplyDeletecode toh chal ta nahi hai bhai kyu uplaod karta hai bsdk
ReplyDeletemaderchood waaale kaand maar lenge jab program nhi chalta to us program ko kaahe choodne mei jutaa hai. Saaale aagr mil gyaa naa lund thod ke teri hi gaand mei ghused dunga, betichood, bosdik
ReplyDeleteYou really make it look so natural with your exhibition however I discover this issue to be really something which I figure I could never appreciate. It appears to be excessively confounded and amazingly wide for me. I'm searching forward for your next post, I'll attempt to get its hang! situs kimak
ReplyDeleteHi I am so charmed I found your blog, I truly found you unintentionally, while I was watching on google for something different, Anyways I am here now and could simply prefer to state thank for a colossal post and an overall engaging site. Kindly keep up the incredible work. situs kontol
ReplyDeleteSet aside me effort to see the entirety of the remarks, yet I genuinely appreciated the review. It demonstrated being truly useful to me and Im positive to the entirety of the analysts here! Its continually pleasant when you can not exclusively be educated, yet in addition engaged! I am sure you had agreeable composing this review. situs penipu
ReplyDeleteThe material and aggregation is excellent and telltale as comfortably. deriv auto trader
ReplyDeleteThe material and aggregation is excellent and telltale as comfortably. dewibola
ReplyDeleteThe material and aggregation is excellent and telltale as comfortably. دانلود آهنگ شاه از شاهین نجفی
ReplyDeleteThis is also a very good post which I really enjoyed reading. It is not every day that I have the possibility to see something like this.. alexistogel terpercaya
ReplyDeleteNice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post. togel online terpercaya
ReplyDelete乐鱼体育 ( https://vipleyu.com ) 是全球首家独特综合娱乐平台,将流畅与精湛操作融为一体。从丰富多彩的体育赛事到顶尖电竞比赛,再到真实而刺激的娱乐体验、彩票投注和电子游戏,无一不尽在我们的平台中,尽在您的指尖。只需扫码下载乐鱼体育app,尽享畅快体验,立刻开启!
ReplyDelete而且,在欢乐鱼体育,我们提供业界最高的赔率!不仅覆盖世界各地的精彩赛事,还有多种竞猜选择:从赛果预测、大小猜测、半全场预测,到波胆猜想、单双预测、总入球统计,甚至是连串过关玩法,应有尽有。此外,我们还为您提供动画直播,让您不仅可以轻松畅谈比赛,还能尽情享受娱乐投注的乐趣,一举两得!
#乐鱼 #乐鱼体育 #乐鱼体育APP #乐鱼体育官网
Cool stuff you have and you keep overhaul every one of us slot gacor
ReplyDeleteCool stuff you have and you keep overhaul every one of us rajabandot login alternatif
ReplyDeleteYou completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog. Best and quality Inverters in Nigeria
ReplyDeleteslot online
ReplyDeleteI seen your blog post yesterday morning and i also are actually analyzing this item on a normal schedule. You’ve substantial amount of tips correct here so i take pleasure in your thing of an web presence absurdly. Maintain the actual great jobs!
Cashing out small payments is one of the most useful ways to get cash when you need it. However, you should choose a safe company and be careful of excessive fees or illegal activities. Use it with caution. 소액결제현금화
ReplyDelete