def RightLineartoFSA(File):
    Grammar = GrammarRead.read_grammar(File)
    value = isRightLinear(Grammar)
    if(not(value[0])):
        raise isNotRightLinear(Grammar,value[1])
    else:
        print convert_FSA(Grammar)
def RightLineartoFSA(File):
    Grammar = GrammarRead.read_grammar(File)
    value = isRightLinear(Grammar)
    if (not (value[0])):
        raise isNotRightLinear(Grammar, value[1])
    else:
        print convert_FSA(Grammar)
            var = list_var_copy.pop()

            try:
                
                variables.remove(var)
                
                if Grammar_Functions.isState(Grammar,var) == True:
                    
                    reachable.add(var)
                    list_var_copy.extend(Grammar_Functions.leftmost_variable(Grammar, Grammar.dict_grammar[var]))
                    
            except:
                
                pass

        print reachable

        if node in reachable:
                flag = True

        dict_recursion[node] = flag

    return dict_recursion

if __name__ == "__main__":

    Grammar = GrammarRead.read_grammar('C:/Python26/Lib/site-packages/Grammar/Grammar.txt')
    print identify_leftrecur(Grammar)

Example #4
0
            try:

                variables.remove(var)

                if Grammar_Functions.isState(Grammar, var) == True:

                    reachable.add(var)
                    list_var_copy.extend(
                        Grammar_Functions.leftmost_variable(
                            Grammar, Grammar.dict_grammar[var]))

            except:

                pass

        print reachable

        if node in reachable:
            flag = True

        dict_recursion[node] = flag

    return dict_recursion


if __name__ == "__main__":

    Grammar = GrammarRead.read_grammar(
        'C:/Python26/Lib/site-packages/Grammar/Grammar.txt')
    print identify_leftrecur(Grammar)