Important: Use custom search function to get better results from our thousands of pages

Use " " for compulsory search eg:"electronics seminar" , use -" " for filter something eg: "electronics seminar" -"/tag/" (used for exclude results from tag pages)


Tags: First, calculate, program, software to write, lr k grammar, how to check the sentence, find the of a number, how to do addition, find the date, how to write computer software, how to find the number, computer c program, A program to calculate the First,
 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
A program to calculate the First & Follow of a grammar.
Post: #1




Code:
#include"stdio.h"
#include<conio.h>
#define max 10
#define MAX 15
char array[max][MAX],temp[max][MAX];
int c,n,t;void fun(int,int[]);
int fun2(int i,int j,int p[],int key)
{
int k;
if(!key)
{
for(k=0;k<n;k++)
if(array[i][j]==array[k][0])
break;
p[0]=i;p[1]=j+1;
fun(k,p);
return 0;
}
else
{
for(k=0;k<=c;k++)
{
if(array[i][j]==temp[t][k])
break;
}
if(k>c)return 1;
else return 0;
}
}
void fun(int i,int p[])
{
int j,k,key;
for(j=2;array[i][j]!='\0';j++)
{
if(array[i][j-1]=='/')
{
if(array[i][j]>='A'&&array[i][j]<='Z')
{
key=0;
fun2(i,j,p,key);
}
else
{key=1;
if(fun2(i,j,p,key))
temp[t][++c]=array[i][j];
if(array[i][j]=='@'&&p[0]!=-1)
{ //taking ,@, as null symbol.
if(array[p[0]][p[1]]>='A'&&array[p[0]][p[1]]<='Z')
{
key=0;
fun2(p[0],p[1],p,key);
}
else
if(array[p[0]][p[1]]!='/'&&array[p[0]][p[1]]!='\0')
{
if(fun2(p[0],p[1],p,key))
temp[t][++c]=array[p[0]][p[1]];
}
}
}
}
}
}
char fol[max][MAX],ff[max];int f,l,ff0;
void ffun(int,int);
void follow(int i)
{
int j,k;
for(j=0;j<=ff0;j++)
if(array[i][0]==ff[j])
return 0;
if(j>ff0)ff[++ff0]=array[i][0];
if(i==0)fol[l][++f]='$';
for(j=0;j<n;j++)
for(k=2;array[j][k]!='\0';k++)
if(array[j][k]==array[i][0])
ffun(j,k);
}
void ffun(int j,int k)
{
int ii,null=0,tt,cc;
if(array[j][k+1]=='/'|array[j][k+1]=='\0')
null=1;
for(ii=k+1;array[j][ii]!='/'&&array[j][ii]!='\0';ii++)
{
if(array[j][ii]<='Z'&&array[j][ii]>='A')
{
for(tt=0;tt<n;tt++)
if(temp[tt][0]==array[j][ii])break;
for(cc=1;temp[tt][cc]!='\0';cc++)
{
if(temp[tt][cc]=='@')null=1;
else fol[l][++f]=temp[tt][cc];
}
}
else fol[l][++f]=array[j][ii];
}
if(null)follow(j);
}
void main()
{
int p[2],i,j;
clrscr();
printf("Enter the no. of productions :");
scanf("%d",&n);
printf("Enter the productions :\n");
for(i=0;i<n;i++)
scanf("%s",array[i]);
for(i=0,t=0;i<n;i++,t++)
{
c=0,p[0]=-1,p[1]=-1;
temp[t][0]=array[i][0];
fun(i,p);
temp[t][++c]='\0';
printf("First(%c) : [ ",temp[t][0]);
for(j=1;j<c;j++)
printf("%c,",temp[t][j]);
printf("\b ].\n");
getch();
}
/* Follow Finding */
for(i=0,l=0;i<n;i++,l++)
{
f=-1;ff0=-1;
fol[l][++f]=array[i][0];
follow(i);
fol[l][++f]='\0';
}
for(i=0;i<n;i++)
{
printf("\nFollow[%c] : [ ",fol[i][0]);
for(j=1;fol[i][j]!='\0';j++)
printf("%c,",fol[i][j]);
printf("\b ]");
getch();
}
}



Post: #2
which type of productions it will take ?
 

Marked Categories : first follow, first and follow c program using files, how to compute first and follow, c progarm for finding follow and first, first and follow implementation, to compute first and follow set program in c, prgm for first nd follow functn, program on first and follow, program in c to find first and follow function, first and follow set program, first and follow function program in c, grammar first follow, c algorithm on first and follow, c program to implement first and follow, program in c to find first and follow, first and follow program, program to compute first and follow, program to compute first and follow of a grammar, c program to compute first follow,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Image Verification
(case insensitive)
Please enter the text within the image on the left in to the text box below. This process is used to prevent automated posts.

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  unrestricted simplex protocol in computer network in c program Guest 1 0 25-10-2017 04:25 PM
Last Post: jaseela123
  verilog program for diffie hellman algorithm Guest 1 175 11-10-2017 10:13 AM
Last Post: jaseela123
Wink verification of time division multiplexing using matlab program Guest 1 145 10-10-2017 02:45 PM
Last Post: jaseela123
  assembly code for 8085 fastest finger first Guest 1 175 10-10-2017 11:13 AM
Last Post: jaseela123
  simulation of extra high voltage long transmission lines matlab program Guest 1 274 09-10-2017 11:12 AM
Last Post: jaseela123
Question matlab program for handover in lte network Guest 1 268 07-10-2017 12:25 PM
Last Post: jaseela123
  embedded c program for rfid based toll gate control Guest 1 126 06-10-2017 11:17 AM
Last Post: jaseela123
  night light saver electronics mini project circuit and program Guest 1 742 06-10-2017 11:09 AM
Last Post: jaseela123
  fastest finger first Guest 1 218 04-10-2017 03:31 PM
Last Post: jaseela123
  java servlet program to display student mark list Guest 1 153 03-10-2017 12:11 PM
Last Post: jaseela123
This Page May Contain What is A program to calculate the First & Follow of a grammar. And Latest Information/News About A program to calculate the First & Follow of a grammar.,If Not ...Use Search to get more info about A program to calculate the First & Follow of a grammar. Or Ask Here

Options: