answersLogoWhite

0

#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]=='[at]'&&p[0]!=-1)

{ //taking ,[at], 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]=='[at]')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();

}

}

User Avatar

Wiki User

14y ago

What else can I help you with?

Related Questions

Write a program in c plus plus to compute first of non-terminal?

there is no solution of this problem...........that's it..........


Write a program to compute the sum of first ten integer numbers in PHP?

$n = 10*(1+10)/2;


How do you compute tension?

First, you have to write this down:you get a computer, Erase the R.and you have to get tensthen get a ion.And there you have it, Compute Tension


What was the first civilization to compute with radicals?

the Babylonians


How two write c program for left factoring in given grammar?

To implement left factoring in a given grammar using C, first, identify the common prefixes in the production rules. Create a new non-terminal symbol to represent the factored part, and rewrite the productions accordingly. Use a function to parse the grammar, detect the common prefixes, and generate the factored grammar. Finally, display the updated grammar with the left-factored rules.


Who wrote the first grammar book short introduction to the English grammar in 1762?

In fact, Robert Lowth wrote "Short Introduction to English Grammar" in 1762 and it is seen as the first grammar book because there was a real explosion of grammar in the 1760's but the first real grammar book was written by William Bullokar. In 1586 Bullokar wrote "Pamphlet for Grammar" . Of course it wasn't as complete as Lowth's work but it is the first real English grammar book. Source: The Oxford History of English


How do I apply online to I.T.T. Techinical School?

First select a program and campus then follow their dirrections itt-tech.edu


How do you compute the waistline measurement of a circle skirt?

In order to compute the waistline measurement of a circle skirt, you first need to determine what type if waist you are going to want.


How do you introduce yourself the first day in college in an MBA program?

First, use better grammar: "How should I introduce myself on first day of an MBA curriculum?" Getting to the point: "Hello. I am Andrew Matej. And you are?"


What is brahmagupta famous for?

He was the first to invent zero . He gave rules to compute zero.


When was Urmston Grammar School founded?

Urmston Grammar school was first established in 1882.


What is a Good Diet Program?

A diet program can help you lose weight and achieve better health, but it is important to be careful when choosing a program to follow. Some programs do not offer accurate information and will actually not help you lose weight or gain better health. The best program is the one recommended by your doctor. If you choose to follow a different program, make sure you verify the claims and facts behind the diet program via independent resources first.