diff --git a/astat2/src/AutomataStat.cpp b/astat2/src/AutomataStat.cpp
index 1fa60d09f71e6a5d8cacd98c055f1dcad12f9d6b..df4a10ba3404330f524e68ff40f03a2de4b0e912 100644
--- a/astat2/src/AutomataStat.cpp
+++ b/astat2/src/AutomataStat.cpp
@@ -13,9 +13,15 @@
 #include <automaton/PDA/InputDrivenNPDA.h>
 #include <automaton/PDA/InputDrivenDPDA.h>
 
+#include <automaton/PDA/DPDA.h>
+
 #include <factory/XmlDataFactory.hpp>
 #include <container/ObjectsSet.h>
 #include <container/ObjectsMap.h>
+#include <container/ObjectsTuple.h>
+#include <container/ObjectsVector.h>
+#include <container/ObjectsVariant.h>
+#include <container/ObjectsPair.h>
 #include <iostream>
 
 void AutomataStat::stat ( const automaton::Automaton & automaton, const AutomataSettings & settings ) {
@@ -397,3 +403,97 @@ void AutomataStat::stat ( const automaton::InputDrivenDPDA & automaton, const Au
 }
 
 auto AutomataStatInputDrivenDPDA = AutomataStat::RegistratorWrapper < void, automaton::InputDrivenDPDA > ( AutomataStat::stat );
+
+void AutomataStat::stat ( const automaton::DPDA & automaton, const AutomataSettings & settings ) {
+	switch ( settings.states ) {
+	case PrintingOptions::PRINT:
+		alib::XmlDataFactory::toStdout ( automaton.getStates ( ) );
+		break;
+
+	case PrintingOptions::SIZE:
+		std::cout << automaton.getStates ( ).size ( ) << std::endl;
+		break;
+
+	case PrintingOptions::BOTH:
+		std::cout << automaton.getStates ( ).size ( ) << std::endl;
+		alib::XmlDataFactory::toStdout ( automaton.getStates ( ) );
+		break;
+
+	case PrintingOptions::NOOP:
+		break;
+	}
+
+	switch ( settings.finalStates ) {
+	case PrintingOptions::PRINT:
+		alib::XmlDataFactory::toStdout ( automaton.getFinalStates ( ) );
+		break;
+
+	case PrintingOptions::SIZE:
+		std::cout << automaton.getFinalStates ( ).size ( ) << std::endl;
+		break;
+
+	case PrintingOptions::BOTH:
+		std::cout << automaton.getFinalStates ( ).size ( ) << std::endl;
+		alib::XmlDataFactory::toStdout ( automaton.getFinalStates ( ) );
+		break;
+
+	case PrintingOptions::NOOP:
+		break;
+	}
+
+	switch ( settings.initialStates ) {
+	case PrintingOptions::PRINT:
+		alib::XmlDataFactory::toStdout ( automaton.getInitialState ( ) );
+		break;
+
+	case PrintingOptions::SIZE:
+		std::cout << 1 << std::endl;
+		break;
+
+	case PrintingOptions::BOTH:
+		std::cout << 1 << std::endl;
+		alib::XmlDataFactory::toStdout ( automaton.getInitialState ( ) );
+		break;
+
+	case PrintingOptions::NOOP:
+		break;
+	}
+
+	switch ( settings.inputAlphabet ) {
+	case PrintingOptions::PRINT:
+		alib::XmlDataFactory::toStdout ( automaton.getInputAlphabet ( ) );
+		break;
+
+	case PrintingOptions::SIZE:
+		std::cout << automaton.getInputAlphabet ( ).size ( ) << std::endl;
+		break;
+
+	case PrintingOptions::BOTH:
+		std::cout << automaton.getInputAlphabet ( ).size ( ) << std::endl;
+		alib::XmlDataFactory::toStdout ( automaton.getInputAlphabet ( ) );
+		break;
+
+	case PrintingOptions::NOOP:
+		break;
+	}
+
+	switch ( settings.transitions ) {
+	case PrintingOptions::PRINT:
+		alib::XmlDataFactory::toStdout ( automaton.getTransitions ( ) );
+		break;
+
+	case PrintingOptions::SIZE:
+		std::cout << automaton.getTransitions ( ).size ( ) << std::endl;
+		break;
+
+	case PrintingOptions::BOTH:
+		std::cout << automaton.getTransitions ( ).size ( ) << std::endl;
+		alib::XmlDataFactory::toStdout ( automaton.getTransitions ( ) );
+		break;
+
+	case PrintingOptions::NOOP:
+		break;
+	}
+}
+
+auto AutomataStatDPDA = AutomataStat::RegistratorWrapper < void, automaton::DPDA > ( AutomataStat::stat );
diff --git a/astat2/src/AutomataStat.h b/astat2/src/AutomataStat.h
index ac2cdf54be57a27bd7ab1f89e41f5c6a04321991..e3af2a42509a58a1dcd932455a91919d55e4bec2 100644
--- a/astat2/src/AutomataStat.h
+++ b/astat2/src/AutomataStat.h
@@ -25,6 +25,7 @@ public:
 	static void stat ( const automaton::InputDrivenNPDA & automaton, const AutomataSettings & settings );
 	static void stat ( const automaton::InputDrivenDPDA & automaton, const AutomataSettings & settings );
 
+	static void stat ( const automaton::DPDA & automaton, const AutomataSettings & settings );
 };
 
 #endif /* AUTOMATA_STAT_H_ */