Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

6 Finite regular languages
 6.1 Dealing with finite regular languages

6 Finite regular languages

This chapter describes some functions to deal with finite regular languages.

6.1 Dealing with finite regular languages

6.1-1 IsFiniteRegularLanguage
‣ IsFiniteRegularLanguage( L )( function )

L is an automaton or a rational expression. This function tests whether its argument represents a finite language or not.

gap> RandomRatExp(2);
b*(aU@)
gap> IsFiniteRegularLanguage(last);
false
gap> RandomRatExp(2);
aUbU@
gap> IsFiniteRegularLanguage(last);
true

6.1-2 FiniteRegularLanguageToListOfWords
‣ FiniteRegularLanguageToListOfWords( L )( function )

L is an automaton or a rational expression. This function outputs the recognized language as a list of words.

gap> r:=RationalExpression("aaUx(aUb)");   
aaUx(aUb)
gap>  FiniteRegularLanguageToListOfWords(r);
[ "aa", "xa", "xb" ]

6.1-3 ListOfWordsToAutomaton
‣ ListOfWordsToAutomaton( alph, L )( function )

Given an alphabet alph (a list) and a list of words L (a list of lists), outputs an automaton that recognizes the given list of words.

gap> ListOfWordsToAutomaton("ab",["aaa","bba",""]);
< deterministic automaton on 2 letters with 6 states >
gap> FAtoRatExp(last);
(bbUaa)aU@
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind

generated by GAPDoc2HTML