libFAUDES

Sections

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 G1, +In+ Generator G2, +Out+ Generator GRes)

Detailed description:

With the languages L1 = Lm(G1) and L2 = Lm(G2) marked by the specified generators, respectively, the result Lres = Lm(GRes) marks the concatenation

Lres = {s r| s  L1, r  L2}.

The generated closed languages are ignored.

Example:

G1 G2


Lm(GRes) = Lm(G1) LmG(2)

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 GArg)

Detailed description:

This function computes the Kleene-closure L* of the specified marked language L = Lm(G):

L* = {s1 s2 ... s_n| n  N and s_i  L for all i ≤ n}  {epsilon}.

The generated language is not considered.

Example:

G GRes

Parameter Conditions:

The argument may be non-deterministic. The core implementation may lead to a non-deterministic 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 GRes)

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 GRes)

Detailed description:

Construct a generator G that marks the given alphabet as language, i.e. Lm(G) = Sigma. Furthermore, L(G) = Sigma  {epsilon}.

EmptyStringLanguage

Generator with Lm(G)={epsilon}.

Signature:

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

Detailed description:

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

libFAUDES 2.14g --- 2009-12-3 --- plugins "example synthesis observer diagnosis hiosys multitasking timed simulator iodevice luabindings"