×
NOTE!
Click on MENU to Browse between Subjects...
Advertisement
SYSTEM SOFTWARE AND OPERATING SYSTEM LABORATORY
[As per Choice Based Credit System (CBCS) scheme]
(Effective from the academic year 2017 - 2018)
SEMESTER - VI
Subject Code 17CSL67
IA Marks 40
Number of Lecture Hours/Week 01I + 02P
Exam Marks 60
17CSL67 - SYSTEM SOFTWARE AND OPERATING SYSTEM LABORATORY
Program 4
Design, develop and implement YACC/C program to demonstrate Shift Reduce Parsing techniquefor the grammar rules: E →E+T | T, T →T*F | F, F →(E) | id and parse the sentence: id + id * id.
Advertisement
Advertisement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include<stdio.h> #include<string.h> int k=0,z=0,i=0,j=0,c=0; char a[16],ac[20],stk[15],act[10]; void check(); void main() { puts("GRAMMAR is E->E+E \n E->E*E \n E->(E) \n E->id"); puts("enter input string "); gets(a); c=strlen(a); strcpy(act,"SHIFT->"); puts("stack \t input \t action"); for(k=0,i=0; j<c; k++,i++,j++) { if(a[j]=='i' && a[j+1]=='d') { stk[i]=a[j]; stk[i+1]=a[j+1]; stk[i+2]='\0'; a[j]=' '; a[j+1]=' '; printf("\n$%s\t%s$\t%sid",stk,a,act); check(); } else { stk[i]=a[j]; stk[i+1]='\0'; a[j]=' '; printf("\n$%s\t%s$\t%ssymbols",stk,a,act); check(); } } } void check() { strcpy(ac,"REDUCE TO E"); for(z=0; z<c; z++) if(stk[z]=='i' && stk[z+1]=='d') { stk[z]='E'; stk[z+1]='\0'; printf("\n$%s\t%s$\t%s",stk,a,ac); j++; } for(z=0; z<c; z++) if(stk[z]=='E' && stk[z+1]=='+' && stk[z+2]=='E') { stk[z]='E'; stk[z+1]='\0'; stk[z+2]='\0'; printf("\n$%s\t%s$\t%s",stk,a,ac); i=i-2; } for(z=0; z<c; z++) if(stk[z]=='E' && stk[z+1]=='*' && stk[z+2]=='E') { stk[z]='E'; stk[z+1]='\0'; stk[z+1]='\0'; printf("\n$%s\t%s$\t%s",stk,a,ac); i=i-2; } for(z=0; z<c; z++) if(stk[z]=='(' && stk[z+1]=='E' && stk[z+2]==')') { stk[z]='E'; stk[z+1]='\0'; stk[z+1]='\0'; printf("\n$%s\t%s$\t%s",stk,a,ac); i=i-2; } } |
Output
×
Note
Page Number is specified to navigate between Pages...
SYS = Syllabus
P = Program
-ADMIN
SYS = Syllabus
P = Program
-ADMIN
×
Note
Do Share the website link with Your Friends and known Students...
-ADMIN
-ADMIN
lIKE OUR CONTENT SUPPORT US BY FOLLOWING US ON INSTAGRAM : @futurevisionbie
Latest Updates are also posted in instagram as Stories...
For immediate Notification Join the Telegram Channel
Advertisement