Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
Static Public Member Functions
automaton::transform::AutomataConcatenation Class Reference

#include <AutomataConcatenation.h>

Static Public Member Functions

template<class AutomatonType >
requires isDFA < AutomatonType > || isNFA < AutomatonType >
static automaton::NFA< typename AutomatonType::SymbolType, ext::pair< typename AutomatonType::StateType, unsigned > > concatenation (const AutomatonType &first, const AutomatonType &second)
 

Detailed Description

Concatenation of two finite automata. For finite automata A1, A2, we create a finite automaton A such that L(A) = L(A1).L(A2). This method does not utilize epsilon transitions in the resulting finite automata (Melichar: Jazyky a překlady, 2.82).

Member Function Documentation

◆ concatenation()

template<class AutomatonType >
requires isDFA < AutomatonType > || isNFA < AutomatonType >
static automaton::NFA< typename AutomatonType::SymbolType, ext::pair< typename AutomatonType::StateType, unsigned > > automaton::transform::AutomataConcatenation::concatenation ( const AutomatonType &  first,
const AutomatonType &  second 
)
static

Concatenates two finite automata without using epsilon transitions.

Template Parameters
SymbolTypeType for input symbols.
StateTypeType for states.
Parameters
firstFirst automaton (A1)
secondSecond automaton (A2)
Returns
nondeterministic FA representing the concatenation of two automata

The documentation for this class was generated from the following file: