00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef REGULAR_H
00034
00035 #include "definitions.h"
00036 #include "parallel.h"
00037 #include "project.h"
00038
00039 namespace faudes {
00040
00071 void LanguageUnionNonDet(const vGenerator& rGen1, const vGenerator& rGen2,
00072 vGenerator& rResGen);
00073
00117 void LanguageUnion(const vGenerator& rGen1, const vGenerator& rGen2,
00118 vGenerator& rResGen);
00119
00160 void LanguageIntersection(const vGenerator& rGen1, const vGenerator& rGen2,
00161 vGenerator& rResGen);
00162
00188 bool EmptyLanguageIntersection(const vGenerator& rGen1, const vGenerator& rGen2);
00189
00215 bool LanguageDisjoint(const vGenerator& rGen1, const vGenerator& rGen2);
00216
00256 void Automaton(vGenerator& rGen);
00257
00297 void Automaton(vGenerator& rGen, const EventSet& rAlphabet);
00298
00333 void LanguageComplement(vGenerator& rGen);
00334
00365 void LanguageComplement(vGenerator& rGen, const EventSet& rAlphabet);
00366
00397 void LanguageConcatenateNonDet(const vGenerator& rGen1, const vGenerator& rGen2,
00398 vGenerator& rResGen);
00399
00462 void LanguageConcatenate(const vGenerator& rGen1, const vGenerator& rGen2,
00463 vGenerator& rResGen);
00464
00486 void FullLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00487
00511 void AlphabetLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00512
00535 void EmptyStringLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00536
00551 void EmptyLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00552
00573 bool EmptyLanguage(const vGenerator& rGen);
00574
00604 bool LanguageInclusion(const vGenerator& rGen1, const vGenerator& rGen2);
00605
00632 bool LanguageEquality(const vGenerator& rGen1, const vGenerator& rGen2);
00633
00660 void KleeneClosure(vGenerator& rGen);
00661
00675 void KleeneClosureNonDet(vGenerator& rGen);
00676
00708 void PrefixClosure(vGenerator& rGen);
00709
00741 void SelfLoop(vGenerator& rGen,const EventSet& rAlphabet);
00742
00774 void SelfLoopMarkedStates(vGenerator& rGen,const EventSet& rAlphabet);
00775
00812 void SelfLoop(vGenerator& rGen,const EventSet& rAlphabet,const StateSet& rStates);
00813
00814
00815 }
00816
00817 #define REGULAR_H
00818 #endif
00819