You are on page 1of 3

Compiler Design | Subject Code 170701

120050131157

Practical No-1
AIM: Write a program to implement Lexical Analysis.
Theory:
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i=0,j;
char c;
char str[50],b[20],d[20],e[20],f[20];
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
FILE *fp5;
clrscr();
fp1=fopen("abc.txt","r");
while((c=getc(fp1))!=EOF)
{
str[i]=c;
i++;
}
str[i]=NULL;
printf("\n%s",str);
fclose(fp1);
j=0;
fp2=fopen("opp.txt","r");
while((fscanf(fp2,"%s",b))!=EOF)
{
fp1=fopen("abc.txt","r");
while((fscanf(fp1,"%s",str))!=EOF)
{
if((strcmp(b,str))==0)
{
printf("\nopp#%d:",j+1);
j++;
break;
}

Compiler Design | Subject Code 170701

120050131157
}
}
fclose(fp1);
fclose(fp2);
j=0;
fp3=fopen("kw.txt","r");
while((fscanf(fp3,"%s",d))!=EOF)
{
fp1=fopen("abc.txt","r");
while((fscanf(fp1,"%s",str))!=EOF)
{
if((strcmp(d,str))==0)
{
printf("\nkw#%d:",j+1);
j++;
break;
}
}
}
fclose(fp1);
fclose(fp3);
j=0;
fp5=fopen("id.txt","r");
while((fscanf(fp5,"%s",f))!=EOF)
{
fp1=fopen("abc.txt","r");
while((fscanf(fp1,"%s",str))!=EOF)
{
if((strcmp(f,str))==0)
{
printf("\nid#%d",j+1);
j++;
break;
}
}
}
fclose(fp1);
fclose(fp5);
j=0;

Compiler Design | Subject Code 170701

120050131157
fp4=fopen("sc.txt","r");
while((fscanf(fp4,"%s",e))!=EOF)
{
fp1=fopen("abc.txt","r");
while((fscanf(fp1,"%s",str))!=EOF)
{
if((strcmp(e,str))==0)
{
printf("\nsc#%d",j+1);
j++;
break;
}
}
}
fclose(fp1);
fclose(fp4);
getch();
}

Output:

You might also like