symbol table creation
TRANSCRIPT
![Page 1: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/1.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 1/6
Symbol table creation
Name: K.BALAJI Exercise No: 1a Date:
#include<stdio.h>#include<conio.h>struct intermediate{int addr;char label[10];char mnem[10];char op[10];}res;struct symbol
{char symbol[10];int addr;}sy;void main(){FILE *s1,*p1;clrscr();s1=fopen("inter.txt","r+");p1=fopen("symbol.txt","w");while(!feof(s1))
{fscanf(s1,"%d %s %s %s",&res.addr,res.label,res.mnem,res.op);if(strcmp(res.label,"NULL")!=0){strcpy(sy.symbol,res.label);sy.addr=res.addr;fprintf(p1,"%s\t%d\n",sy.symbol,sy.addr);}}fcloseall();printf("symbol table created");
getch();}
![Page 2: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/2.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 2/6
Input Filesinter.txt0 NULL START 500500 A DS 100600 B DC 10
610 FIRST PRINT A612 NULL READ B613 NULL END FIRST
Output Files:Symbol.txtA 500B 600FIRST 610
![Page 3: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/3.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 3/6
Implementations of symbol table with features like insert, modify, search, and display.
Name: K.BALAJI Ex.no:1b Date:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>int cnt=0;struct symtab{char label[20];int addr;}sy[50];void insert();int search(char *);void display();void modify();void main(){int ch,val;char lab[10];do{printf("\n 1.insert\n2.display\n3.search\n4.modify\n5.exit\n");scanf("%d",&ch);switch(ch){case 1:insert();break;case 2:display();break;case 3:printf("enter the label");scanf("%s",lab);val=search(lab);if(val==1)printf("label is found");elseprintf("label is not found");break;case 4:modify();
![Page 4: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/4.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 4/6
break;case 5:exit(0);break;}
}while(ch<5);}void insert(){int val;char lab[10];printf("enter the label");scanf("%s",lab);val=search(lab);if(val==1)printf("duplicate symbol");
else{strcpy(sy[cnt].label,lab);printf("enter the address");scanf("%d",&sy[cnt].addr);cnt++;}}int search(char *s){int flag=0,i;for(i=0;i<cnt;i++){if(strcmp(sy[i].label,s)==0)flag=1;}return flag;}void modify(){int val,ad,i;char lab[10];printf("enter the label");scanf("%s",lab);val=search(lab);if(val==0)printf("no such symbol");else{printf("label is found \n");
![Page 5: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/5.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 5/6
printf("enter the address");scanf("%d",&ad);for(i=0;i<cnt;i++){if(strcmp(sy[i].label,lab)==0)
sy[i].addr=ad;}}}void display(){int i;for(i=0;i<cnt;i++)printf("%s\t%d\n",sy[i].label,sy[i].addr);}
Input and output1.insert2.display3.search4.modify5.exit1enter the label Aenter the address 20001.insert2.display3.search4.modify5.exit1enter the label SUBenter the address 30001.insert2.display3.search4.modify5.exit1enter the label MULenter the address 40001.insert2.display3.search4.modify
![Page 6: Symbol Table Creation](https://reader031.vdocuments.mx/reader031/viewer/2022021123/577ce6711a28abf10392d237/html5/thumbnails/6.jpg)
7/31/2019 Symbol Table Creation
http://slidepdf.com/reader/full/symbol-table-creation 6/6
5.exit2A 2000SUB 3000MUL 4000
1.insert2.display3.search4.modify5.exit3enter the label Alabel is found1.insert2.display3.search
4.modify5.exit4enter the label Alabel is foundenter the address 50001.insert2.display3.search4.modify5.exit5