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
  java program for reversible watermarking Guest 0 0 Today 10:35 AM
Last Post: Guest
  java program for reversible watermarking Guest 0 0 Today 09:37 AM
Last Post: Guest
  89c51 microcontroller program for automation of street light system Guest 0 157 16-07-2017 12:20 AM
Last Post: Guest
  how to burn program in at89s51 using flash magic Guest 0 186 16-07-2017 12:20 AM
Last Post: Guest
  ieee base paper for first aid android defence Guest 0 195 16-07-2017 12:20 AM
Last Post: Guest
  projects by using clips program Guest 0 242 16-07-2017 12:20 AM
Last Post: Guest
  write a java program for enquiring the pnr status using servlet Guest 0 332 16-07-2017 12:20 AM
Last Post: Guest
  softcopy of computer graphics program at www vtubooks com Guest 0 186 16-07-2017 12:20 AM
Last Post: Guest
  how to log on kvb internet banking for the first time Guest 0 262 16-07-2017 12:20 AM
Last Post: Guest
  fastest finger first programming in assembly language for 8051 microcontroller Guest 0 246 16-07-2017 12:20 AM
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: