CSC 520 Lab March 9, 2018 Complete the pseudocode-style function that decides if
ID: 3726962 • Letter: C
Question
CSC 520 Lab March 9, 2018 Complete the pseudocode-style function that decides if a CFG G can generate at least 3 strings. Do not use any procedures other than the ones shown. In particular, do not use decideCFLInfinite. Note that decideCFL(g,w) returns true if w E L(g), and false otherwise. boolean atLeast3Strings (CFG g) f int b getBranchingFactor (g: int n- getNumNonterminals(g): int numStrings0: //2a is the alphabet of L(g) if ( decideCFL(g,w) ) 1 ++numstrings I/ for if (numstrings0) //every infinite language must include at //least one string shorter than bn1 ! //atLeast3stringsExplanation / Answer
boolean atLeast3Strings(CFG g){
int b=getBrachingFactor(g);
int n=getnumNonterminals(g);
int numStrings = 0;
for( w belongs to language and len(w) < b^n){
if(decideCFL(g,w)) ++numStrings;
if(numStrings==3) return TRUE;
}
if(numStrings == 0) return FALSE;
}
// I tried to implement the given requirements from given set preocedures only.
// I hope it will be useful for some extent . Thanks in advance.....