00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef FAUDES_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
00293 void Automaton(vGenerator& rGen, const EventSet& rAlphabet);
00294
00328 void LanguageComplement(vGenerator& rGen);
00329
00356 void LanguageComplement(vGenerator& rGen, const EventSet& rAlphabet);
00357
00397 void LanguageDifference(const vGenerator& rGen1, const vGenerator& rGen2,
00398 vGenerator& rResGen);
00399
00430 void LanguageConcatenateNonDet(const vGenerator& rGen1, const vGenerator& rGen2,
00431 vGenerator& rResGen);
00432
00495 void LanguageConcatenate(const vGenerator& rGen1, const vGenerator& rGen2,
00496 vGenerator& rResGen);
00497
00519 void FullLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00520
00544 void AlphabetLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00545
00568 void EmptyStringLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00569
00584 void EmptyLanguage(const EventSet& rAlphabet, vGenerator& rResGen);
00585
00606 bool EmptyLanguage(const vGenerator& rGen);
00607
00637 bool LanguageInclusion(const vGenerator& rGen1, const vGenerator& rGen2);
00638
00665 bool LanguageEquality(const vGenerator& rGen1, const vGenerator& rGen2);
00666
00693 void KleeneClosure(vGenerator& rGen);
00694
00708 void KleeneClosureNonDet(vGenerator& rGen);
00709
00741 void PrefixClosure(vGenerator& rGen);
00742
00774 void SelfLoop(vGenerator& rGen,const EventSet& rAlphabet);
00775
00807 void SelfLoopMarkedStates(vGenerator& rGen,const EventSet& rAlphabet);
00808
00845 void SelfLoop(vGenerator& rGen,const EventSet& rAlphabet,const StateSet& rStates);
00846
00847
00848 }
00849
00850 #define FAUDES_REGULAR_H
00851 #endif
00852