/*
Input must be ONLY the CALLing Statements of PASS1 Input
*/
#include<stdio.h>
#include<string.h>
FILE *p2_source, *temp, *m_mdtf, *expnd;
char col1[30],col2[30],col3[30],col4[30],mdtf_col1[30], mdtf_col2[30], mdtf_col3[30], mdtf_col4[30], mdtf_col5[30],t_col1[30],t_col2[30];
int ala_cntr=1,i,k;
int main()
{
remove("temp_file.txt");
remove("expnd_code.txt");
p2_source=fopen("macro_pass2.txt","r");
for(k=1;k<=2;k++)
{
fscanf(p2_source,"%s %s %s %s",col1,col2,col3,col4);
temp=fopen("temp_file.txt","w");
fprintf(temp,"\n%d\t%s",ala_cntr,col2);
ala_cntr++;
fprintf(temp,"\n%d\t%s",ala_cntr,col3);
ala_cntr++;
fprintf(temp,"\n%d\t%s",ala_cntr,col4);
ala_cntr=1;
fclose(temp);
m_mdtf=fopen("m_mdt.txt","r");
scan_more:
fscanf(m_mdtf,"%s %s %s %s %s",mdtf_col1,mdtf_col2,mdtf_col3,mdtf_col4,mdtf_col5);
if ((strcmp(col1,mdtf_col2))==0)
{
do
{
fscanf(m_mdtf,"%s %s %s %s %s",mdtf_col1,mdtf_col2,mdtf_col3,mdtf_col4,mdtf_col5);
// Search for the data in temp file
temp=fopen("temp_file.txt","r");
// Because there are only 3 arguments
for(i=0;i<3;i++)
{
fscanf(temp,"%s %s",t_col1,t_col2);
if((strcmp(mdtf_col4,t_col1))==0)
{
expnd=fopen("expnd_code.txt","a");
fprintf(expnd,"\n%s\t%s\t%s",mdtf_col2,mdtf_col3,t_col2);
fclose(expnd);
}
}
fclose(temp);
}while(strcmp(mdtf_col2,"MEND")!=0);
}
else
{
goto scan_more;
}
fclose(m_mdtf);
}
fclose(p2_source);
return 0;
}
Input must be ONLY the CALLing Statements of PASS1 Input
*/
#include<stdio.h>
#include<string.h>
FILE *p2_source, *temp, *m_mdtf, *expnd;
char col1[30],col2[30],col3[30],col4[30],mdtf_col1[30], mdtf_col2[30], mdtf_col3[30], mdtf_col4[30], mdtf_col5[30],t_col1[30],t_col2[30];
int ala_cntr=1,i,k;
int main()
{
remove("temp_file.txt");
remove("expnd_code.txt");
p2_source=fopen("macro_pass2.txt","r");
for(k=1;k<=2;k++)
{
fscanf(p2_source,"%s %s %s %s",col1,col2,col3,col4);
temp=fopen("temp_file.txt","w");
fprintf(temp,"\n%d\t%s",ala_cntr,col2);
ala_cntr++;
fprintf(temp,"\n%d\t%s",ala_cntr,col3);
ala_cntr++;
fprintf(temp,"\n%d\t%s",ala_cntr,col4);
ala_cntr=1;
fclose(temp);
m_mdtf=fopen("m_mdt.txt","r");
scan_more:
fscanf(m_mdtf,"%s %s %s %s %s",mdtf_col1,mdtf_col2,mdtf_col3,mdtf_col4,mdtf_col5);
if ((strcmp(col1,mdtf_col2))==0)
{
do
{
fscanf(m_mdtf,"%s %s %s %s %s",mdtf_col1,mdtf_col2,mdtf_col3,mdtf_col4,mdtf_col5);
// Search for the data in temp file
temp=fopen("temp_file.txt","r");
// Because there are only 3 arguments
for(i=0;i<3;i++)
{
fscanf(temp,"%s %s",t_col1,t_col2);
if((strcmp(mdtf_col4,t_col1))==0)
{
expnd=fopen("expnd_code.txt","a");
fprintf(expnd,"\n%s\t%s\t%s",mdtf_col2,mdtf_col3,t_col2);
fclose(expnd);
}
}
fclose(temp);
}while(strcmp(mdtf_col2,"MEND")!=0);
}
else
{
goto scan_more;
}
fclose(m_mdtf);
}
fclose(p2_source);
return 0;
}
Comments
Post a Comment