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 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 
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 } // namespace faudes
00816 
00817 #define REGULAR_H
00818 #endif 
00819 

Generated on Fri May 9 11:26:47 2008 for libFAUDES 2.09b by  doxygen 1.4.4