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
  fastest finger first using at89c51 Guest 1 235 25-04-2017 02:21 PM
Last Post: jaseela123
  matlab program for extended equal area criterion Guest 1 185 25-04-2017 12:59 PM
Last Post: jaseela123
  c program to implement dijkstra s algorithm using ospf protocol Guest 1 153 25-04-2017 12:56 PM
Last Post: jaseela123
  butterfly program in computer graphics using c Guest 1 216 18-04-2017 04:03 PM
Last Post: jaseela123
  buzzer program for at89s51 Guest 1 0 02-03-2017 09:41 AM
Last Post: jaseela123
  hostel mess management system c program code Guest 1 0 25-02-2017 10:17 AM
Last Post: ijasti
  program in assembly language of eight player quiz buzzer using 8051 microcontroller Guest 1 0 25-02-2017 10:04 AM
Last Post: ijasti
Wink c program for coin operated mobile charger Guest 1 0 24-02-2017 09:05 AM
Last Post: jaseela123
  how to calculate voltage stability in matlab siri0608 1 0 20-02-2017 11:43 AM
Last Post: ijasti
  how to burn program in at89s51 using flash magic Guest 0 186 17-02-2017 09:25 PM
Last Post: Guest
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: