ads

14. WRITE A PROGRAM TO IMPLEMENT THE BACK END OF THE COMPILER

 


#include<stdio.h>

#include<string.h>

void main()

{

   char icode[10][30],str[20],opr[10];

  int i=0;

    printf("\n enter the set of intermediate code(terminated by exit):\n");

    do

    {

     scanf("%s",&icode[i]);

     }

    while(strcmp(icode[i++],"exit")!=0);

    printf("\n target code generation");

    printf("\n******************");

    i=0;

    do

     {

      strcpy(str,icode[i]);

      switch(str[3])

     {

     case'+':

      strcpy(opr,"ADD");

     break;

    case'-':

      strcpy(opr,"SUB");

     break;

    case'*':

      strcpy(opr,"MUL");

     break;

        case'/':

      strcpy(opr,"DIV");

     break;

      }

      printf("\n \t MOV %c,R%d",str[2],i);

    printf("\n\t%s %c,R%d",opr,str[4],i);

    printf("\n\tMOv R%d,%c",i,str[0]);

   }

     while(strcmp(icode[++i],"exit")!=0);

   }

OUTPUT:

No comments:

Post a Comment