28#include "../common/AutomatonFromXMLParser.h"
29#include "../common/AutomatonToXMLComposer.h"
37template <
class SymbolType,
class StateType >
38struct xmlApi <
automaton::NondeterministicZAutomaton < SymbolType, StateType > > {
47 return "NondeterministicZAutomaton";
95template <
class SymbolType,
class StateType >
99 ext::set<StateType> states = automaton::AutomatonFromXMLParser::parseStates<StateType>(input);
100 ext::set< SymbolType > inputSymbols = automaton::AutomatonFromXMLParser::parseInputAlphabet< SymbolType >(input);
101 ext::set<StateType> finalStates = automaton::AutomatonFromXMLParser::parseFinalStates<StateType>(input);
105 automaton.setInputAlphabet(std::move(inputSymbols));
106 automaton.setFinalStates(std::move(finalStates));
114template <
class SymbolType,
class StateType >
120 automaton.addTransition ( std::move ( transition.first.first ), std::move ( transition.first.second ), std::move ( transition.second ) );
123template <
class SymbolType,
class StateType >
135template <
class SymbolType,
class StateType >
138 for(
const auto& transition :
automaton.getTransitions()) {
static void parseTransitions(ext::deque< sax::Token >::iterator &input, T &automaton)
Definition: AutomatonFromXMLParser.h:114
static void composeStates(ext::deque< sax::Token > &, const ext::set< StateType > &states)
Definition: AutomatonToXMLComposer.h:100
static void composeInputAlphabet(ext::deque< sax::Token > &, const ext::set< SymbolType > &symbols)
Definition: AutomatonToXMLComposer.h:109
static void composeFinalStates(ext::deque< sax::Token > &, const ext::set< StateType > &states)
Definition: AutomatonToXMLComposer.h:170
Nondeterministic Z-Automaton. Computation model for unranked regular tree languages.
Definition: NondeterministicZAutomaton.h:68
Class extending the deque class from the standard library. Original reason is to allow printing of th...
Definition: deque.hpp:44
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
static void popToken(ext::deque< Token >::iterator &input, Token::TokenType type, const std::string &data)
Definition: FromXMLParserHelper.cpp:39
static bool isToken(ext::deque< Token >::const_iterator input, Token::TokenType type, const std::string &data)
Definition: FromXMLParserHelper.cpp:29
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
Definition: ToGrammar.h:31
Definition: normalize.hpp:10
static bool first(const ext::deque< sax::Token >::const_iterator &input)
Tests whether the token stream starts with this type.
Definition: NondeterministicZAutomaton.h:57
static std::string xmlTagName()
The XML tag name of class.
Definition: NondeterministicZAutomaton.h:46
Definition: xmlApi.hpp:27