regular.h File Reference


Detailed Description

Operations on regular languages.

See [Cassandras and Lafortune. Introduction to Discrete Event Systems] for an introduction to regular language operations. Operations are always performed on language(s) marked by the passed generator(s), resulting in the language(s) marked by the resulting generator(s). Only if mentioned extra, the same is done for the involved generated (prefix-closed) languages.

Definition in file regular.h.

#include "definitions.h"
#include "parallel.h"
#include "project.h"

Go to the source code of this file.

Namespaces

namespace  faudes

Defines

#define REGULAR_H

Functions

void faudes::LanguageUnionNonDet (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen)
 Language union, nondeterministic version: This function performs the union of two languages marked by two generators; the resulting generator marks the resulting language.
void faudes::LanguageUnion (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen)
 Language union, deterministic version: This function performs the union of two languages marked by two generators; the resulting generator marks the resulting language.
void faudes::LanguageIntersection (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen)
 Language intersection: This function performs the intersection of two languages marked by two generators; the resulting generator marks the resulting language.
bool faudes::EmptyLanguageIntersection (const vGenerator &rGen1, const vGenerator &rGen2)
 Empty language intersection: This function checks if the intersection of two languages marked by two generators is empty that is the two languages are disjoint.
bool faudes::LanguageDisjoint (const vGenerator &rGen1, const vGenerator &rGen2)
 Disjoint: This function checks if the intersection of two languages marked by two generators is empty, ie the two languages are disjoint.
void faudes::Automaton (vGenerator &rGen)
 Automaton wrt generator alphabet: Convert a generator marking the language Lm into a formal automaton recognizing Lm with a dump state representing Sigma*-PrefixClosure(Lm).
void faudes::Automaton (vGenerator &rGen, const EventSet &rAlphabet)
 Automaton wrt alphabet: Convert a generator marking the language Lm into a formal automaton recognizing Lm with a dump state representing Sigma*-PrefixClosure(Lm).
void faudes::LanguageComplement (vGenerator &rGen)
 Language complement wrt generator alphabet: Convert generator marking the language Lm into generator marking the language complement of Lm which is defined as Sigma*-Lm.
void faudes::LanguageComplement (vGenerator &rGen, const EventSet &rAlphabet)
 Language complement wrt alphabet: Convert generator marking the language Lm into generator marking the language complement of Lm which is defined as Sigma*-Lm.
void faudes::LanguageConcatenateNonDet (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen)
 Language Concatenation, nondeterministic version: With the languages Lm1 and Lm2 marked by rGen1 and rGen2, respectively, the result rResGen marks the concatenation LmRes=Lm1Lm2.
void faudes::LanguageConcatenate (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen)
 Language Concatenation, deterministic version: With the languages Lm1 and Lm2 marked by rGen1 and rGen2, respectively, the result rResGen marks the concatenation LmRes=Lm1Lm2.
void faudes::FullLanguage (const EventSet &rAlphabet, vGenerator &rResGen)
 Full Language: Construct generator generating and marking full language Sigma* from alphabet Sigma.
void faudes::AlphabetLanguage (const EventSet &rAlphabet, vGenerator &rResGen)
 Alphabet Language: Construct generator generating and marking an alphabet as languages, that is L(G)=Lm(G)=Sigma.
void faudes::EmptyStringLanguage (const EventSet &rAlphabet, vGenerator &rResGen)
 Empty string language: Construct generator generating and marking the empty string, that is L(G)=Lm(G)={epsilon}.
void faudes::EmptyLanguage (const EventSet &rAlphabet, vGenerator &rResGen)
 Empty language: Construct generator generating and marking the empty language, that is L(G)=Lm(G)={}.
bool faudes::EmptyLanguage (const vGenerator &rGen)
 Empty language: Tests if the language marked by rGen is empty, that is if Lm(G)={}.
bool faudes::LanguageInclusion (const vGenerator &rGen1, const vGenerator &rGen2)
 Language inclusion: Test if language Lm1 marked by rGen1 is included in language Lm2 marked by rGen2.
bool faudes::LanguageEquality (const vGenerator &rGen1, const vGenerator &rGen2)
 Language equality: Test if the language Lm1 marked by rGen1 equals the language Lm2 marked by rGen2.
void faudes::KleeneClosure (vGenerator &rGen)
 Kleene Closure: This function computes the Kleene Closure ( ()* - operator) of the language marked by rGen.
void faudes::KleeneClosureNonDet (vGenerator &rGen)
 Kleene Closure, nondeterministic version: This function computes the Kleene Closure ( ()* - operator) of the language marked by rGen.
void faudes::PrefixClosure (vGenerator &rGen)
 Prefix Closure: This function computes the prefix closure the language Lm marked by rGen.
void faudes::SelfLoop (vGenerator &rGen, const EventSet &rAlphabet)
 SelfLoop: This function selfoops all states of rGen with the events from rAlphabet.
void faudes::SelfLoopMarkedStates (vGenerator &rGen, const EventSet &rAlphabet)
 SelfLoopMarkedStates: This function selfoops all marked states of rGen with the events from rAlphabet.
void faudes::SelfLoop (vGenerator &rGen, const EventSet &rAlphabet, const StateSet &rStates)
 SelfLoop: This function selfoops the states rStates of rGen with the events from rAlphabet.


Define Documentation

#define REGULAR_H
 

Definition at line 817 of file regular.h.


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