#include<stdio.h>
//#include<conio.h>
#include<string.h>
int main()
{
char id[10],
key[][50]={{"int"},{"float"},{"double"},{"char"},
{"if"},{"do"},{"for"},{"while"},{"else"}},
sep[50]={'{','}','(',')',';',','},
op[50]={'-','+','*','/','<','>','='};
char ch[10]={0};
int i,j,k,parsed,keylen;
FILE *fp1,*fp2;
keylen=sizeof(key)/sizeof(key[0]);
printf("//This program needs space & case sensitive input !! \nParsing tokens..."); fp1
=fopen("tokenFile.txt","r"); while(fscanf(fp1
,"%s",ch
)!=EOF
) {
parsed=0;
//printf("\n%s",ch);
for(i
=0;i
<strlen(op
)&&parsed
==0;i
++) {
if(strstr(op
,ch
)) //strstr: finds ist occurance of str2 in str1 {
printf("\n%c :Operator",ch
[0]); parsed=1;
break;
}
}
for(i=0;i<keylen&&parsed==0;i++)
{
{
parsed=1;
break;
}
}
{
{
printf("\n%c :Separator",ch
[0]); parsed=1;
break;
}
}
for(i
=0;isdigit(ch
[0])&&parsed
==0;i
++) {
parsed=1;
break;
}
if(parsed==0)
{
printf("\n%s :Identifier",ch
); parsed=1;
}
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KLy8jaW5jbHVkZTxjb25pby5oPgojaW5jbHVkZTxzdHJpbmcuaD4KCmludCBtYWluKCkKewogICAgY2hhciBpZFsxMF0sCiAgICBrZXlbXVs1MF09e3siaW50In0seyJmbG9hdCJ9LHsiZG91YmxlIn0seyJjaGFyIn0sCgkJeyJpZiJ9LHsiZG8ifSx7ImZvciJ9LHsid2hpbGUifSx7ImVsc2UifX0sCiAgICBzZXBbNTBdPXsneycsJ30nLCcoJywnKScsJzsnLCcsJ30sCiAgICBvcFs1MF09eyctJywnKycsJyonLCcvJywnPCcsJz4nLCc9J307CiAgICBjaGFyIGNoWzEwXT17MH07CiAgICBpbnQgaSxqLGsscGFyc2VkLGtleWxlbjsKICAgIEZJTEUgKmZwMSwqZnAyOwogICAga2V5bGVuPXNpemVvZihrZXkpL3NpemVvZihrZXlbMF0pOwogICAgcHJpbnRmKCIvL1RoaXMgcHJvZ3JhbSBuZWVkcyBzcGFjZSAmIGNhc2Ugc2Vuc2l0aXZlIGlucHV0ICEhIFxuUGFyc2luZyB0b2tlbnMuLi4iKTsKICAgIGZwMT1mb3BlbigidG9rZW5GaWxlLnR4dCIsInIiKTsKICAgIHdoaWxlKGZzY2FuZihmcDEsIiVzIixjaCkhPUVPRikKCXsKCXBhcnNlZD0wOwoJY2hbc3RybGVuKGNoKV09MDsKCS8vcHJpbnRmKCJcbiVzIixjaCk7Cglmb3IoaT0wO2k8c3RybGVuKG9wKSYmcGFyc2VkPT0wO2krKykKCXsKCSAgICBpZihzdHJzdHIob3AsY2gpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vc3Ryc3RyOiBmaW5kcyBpc3Qgb2NjdXJhbmNlIG9mIHN0cjIgaW4gc3RyMQoJICAgIHsKCQlwcmludGYoIlxuJWMgOk9wZXJhdG9yIixjaFswXSk7CgkJcGFyc2VkPTE7CgkJYnJlYWs7CgkgICAgfQoJfQoJZm9yKGk9MDtpPGtleWxlbiYmcGFyc2VkPT0wO2krKykKCXsKCSAgICBpZihzdHJzdHIoY2gsa2V5W2ldKSkKCSAgICB7CgkJcHJpbnRmKCJcbiVzIDpLZXl3b3JkIixjaCk7CgkJcGFyc2VkPTE7CgkJYnJlYWs7CgkgICAgfQoJfQoJZm9yKGk9MDtpPHN0cmxlbihzZXApO2krKykKCXsKCSAgICBpZihzdHJzdHIoc2VwLGNoKSkKCSAgICB7CgkJcHJpbnRmKCJcbiVjIDpTZXBhcmF0b3IiLGNoWzBdKTsKCQlwYXJzZWQ9MTsKCQlicmVhazsKCSAgICB9Cgl9Cglmb3IoaT0wO2lzZGlnaXQoY2hbMF0pJiZwYXJzZWQ9PTA7aSsrKQoJewoJICAgIHByaW50ZigiXG4lcyA6Q29uc3RhbnQiLGNoKTsKCSAgICBwYXJzZWQ9MTsKCSAgICBicmVhazsKCX0KCWlmKHBhcnNlZD09MCkKCXsKCSAgICBwcmludGYoIlxuJXMgOklkZW50aWZpZXIiLGNoKTsKCSAgICBwYXJzZWQ9MTsKCX0KICAgIH0KCiAgICBmY2xvc2UoZnAxKTsKICAgIHJldHVybiAwOwp9Cgo=