From 4c3ef6be1d79a445e117e20ba8715402f255e6de Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 13 May 2016 19:54:34 +0200
Subject: [PATCH] add NPDA callback to astat

---
 astat2/src/AutomataStat.cpp | 11 +++++++++++
 astat2/src/AutomataStat.h   |  1 +
 2 files changed, 12 insertions(+)

diff --git a/astat2/src/AutomataStat.cpp b/astat2/src/AutomataStat.cpp
index 6f9b8c95de..fa27ad71db 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 e3af2a4250..a3c764fd92 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_ */
-- 
GitLab