libFAUDES

PlugIns

Types

Functions

Functions related to Regular Expressions

Regular expressions extend the boolean algebra on languages by the Kleene-closure and language concatenation operation. Additionally, functions for the generating elements are provided, i.e. full- and alphabet language.

LanguageConcatenate

Concatenates two languages.

Signature:

LanguageConcatenate(+In+ Generator Lm1, +In+ Generator Lm2, +Out+ Generator LmRes)

Detailed description:

With the languages Lm1 and Lm2 marked by the specified generators, respectively, the result marks the concatenation LmRes = Lm1 Lm2. The generated closed languages are ignored.

Parameter Conditions:

Arguments may be non-deterministic. The result, however, is converted to a deterministic generator. The C++ API provides an alternative function without the conversion step.

KleeneClosure

Compute Kleene closure for given language.

Signature:

KleeneClosure(+InOut+ Generator LmArg)

Detailed description:

This function computes the Kleene-closure ( ()* - operator) of the specified marked language. The generated language is not considered.

Parameter Conditions:

The argument may be non-deterministic. The core implementation may lead to a non-determinkistic result event for deterministic arguments. The wrapper function hence converts to a guarantee for a deterministic result.

FullLanguage

Generator with Lm(G)=Sigma*.

Signature:

FullLanguage(+In+ EventSet Sigma, +Out+ Generator LRes)

Detailed description:

For a given alphabet Sigma, construct a generator generating and marking the so called full language Sigma*, i.e. Lm(G)=L(G)=Sigma*.

AlphabetLanguage

Generator with Lm(G)=Sigma.

Signature:

AlphabetLanguage(+In+ EventSet Sigma, +Out+ Generator LmRes)

Detailed description:

Construct a generator G that generates and marks the given alphabet as language, i.e. L(G)=Lm(G)=Sigma.

EmptyStringLanguage

Generator with L(G)={epsilon}.

Signature:

EmptyStringLanguage(+In+ EventSet Sigma, +Out+ Generator LmRes)

Detailed description:

Construct a generator G that marks the language that consists of the empty string epsilon only, i.e. Lm(G)={epsilon}

libFAUDES 2.13a run-time interface with "example observer hiosys multitasking timed simulator luabindings"