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. |
|
|