regular.h

Go to the documentation of this file.
00001 
00013 /* FAU Discrete Event Systems Library (libfaudes)
00014 
00015    Copyright (C) 2006  Bernd Opitz
00016    Exclusive copyright is granted to Klaus Schmidt
00017 
00018    This library is free software; you can redistribute it and/or
00019    modify it under the terms of the GNU Lesser General Public
00020    License as published by the Free Software Foundation; either
00021    version 2.1 of the License, or (at your option) any later version.
00022 
00023    This library is distributed in the hope that it will be useful,
00024    but WITHOUT ANY WARRANTY; without even the implied warranty of
00025    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00026    Lesser General Public License for more details.
00027 
00028    You should have received a copy of the GNU Lesser General Public
00029    License along with this library; if not, write to the Free Software
00030    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00031 
00032 
00033 #ifndef FAUDES_REGULAR_H
00034 
00035 #include "definitions.h"
00036 #include "parallel.h"
00037 #include "project.h" // check: is this only necessary to use Deterministic()?
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 } // namespace faudes
00849 
00850 #define FAUDES_REGULAR_H
00851 #endif 
00852 

Generated on Mon Nov 10 08:13:15 2008 for libFAUDES 2.11v by  doxygen 1.4.4