diff --git a/astat2/src/AutomataStat.cpp b/astat2/src/AutomataStat.cpp index 6f9b8c95de4b65ea6ed4cef3962683269684a863..fa27ad71dbaf3dfb101baadb322c55cf8b975caf 100644 --- a/astat2/src/AutomataStat.cpp +++ b/astat2/src/AutomataStat.cpp @@ -15,6 +15,7 @@ #include <automaton/PDA/InputDrivenDPDA.h> #include <automaton/PDA/DPDA.h> +#include <automaton/PDA/NPDA.h> void AutomataStat::stat ( const automaton::Automaton & automaton, const AutomataSettings & settings ) { dispatch ( automaton.getData ( ), settings ); @@ -60,6 +61,16 @@ void AutomataStat::stat ( const automaton::InputDrivenDPDA & automaton, const Au auto AutomataStatInputDrivenDPDA = AutomataStat::RegistratorWrapper < void, automaton::InputDrivenDPDA > ( AutomataStat::stat ); +void AutomataStat::stat ( const automaton::NPDA & automaton, const AutomataSettings & settings ) { + Printer::PrintSet ( settings.states, automaton.getStates ( ) ); + Printer::PrintSet ( settings.finalStates, automaton.getFinalStates ( ) ); + Printer::PrintValue ( settings.initialStates, automaton.getInitialState ( ) ); + Printer::PrintSet ( settings.inputAlphabet, automaton.getInputAlphabet ( ) ); + Printer::PrintMap ( settings.transitions, automaton.getTransitions ( ) ); +} + +auto AutomataStatNPDA = AutomataStat::RegistratorWrapper < void, automaton::NPDA > ( AutomataStat::stat ); + void AutomataStat::stat ( const automaton::DPDA & automaton, const AutomataSettings & settings ) { Printer::PrintSet ( settings.states, automaton.getStates ( ) ); Printer::PrintSet ( settings.finalStates, automaton.getFinalStates ( ) ); diff --git a/astat2/src/AutomataStat.h b/astat2/src/AutomataStat.h index e3af2a42509a58a1dcd932455a91919d55e4bec2..a3c764fd92c3b402fdfd2a7958c01a8762d07ecd 100644 --- a/astat2/src/AutomataStat.h +++ b/astat2/src/AutomataStat.h @@ -26,6 +26,7 @@ public: static void stat ( const automaton::InputDrivenDPDA & automaton, const AutomataSettings & settings ); static void stat ( const automaton::DPDA & automaton, const AutomataSettings & settings ); + static void stat ( const automaton::NPDA & automaton, const AutomataSettings & settings ); }; #endif /* AUTOMATA_STAT_H_ */