From 4f3d0099aabe08270ef6e9ea40e7838dff4ef2a8 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 5 Aug 2016 11:24:54 +0200
Subject: [PATCH] strip printing from astat

---
 astat2/src/AutomataSettings.h       |  21 ---
 astat2/src/AutomataStat.cpp         |  82 -----------
 astat2/src/AutomataStat.h           |  32 -----
 astat2/src/GrammarSettings.h        |  20 ---
 astat2/src/GrammarStat.cpp          |  34 -----
 astat2/src/GrammarStat.h            |  27 ----
 astat2/src/RegExpSettings.h         |  18 ---
 astat2/src/RegExpStat.cpp           |  76 ----------
 astat2/src/RegExpStat.h             |  31 ----
 astat2/src/SetSettings.h            |  17 ---
 astat2/src/SetStat.cpp              |  21 ---
 astat2/src/SetStat.h                |  27 ----
 astat2/src/SizeStat.cpp             |  26 ++++
 astat2/src/SizeStat.h               |  30 ++++
 astat2/src/StringSettings.h         |  18 ---
 astat2/src/StringStat.cpp           |  30 ----
 astat2/src/StringStat.h             |  27 ----
 astat2/src/TreeSettings.h           |  18 ---
 astat2/src/TreeStat.cpp             |  82 -----------
 astat2/src/TreeStat.h               |  31 ----
 astat2/src/astat.cpp                | 216 ++--------------------------
 astat2/src/common/Printer.hpp       | 111 --------------
 astat2/src/common/PrintingOptions.h |  15 --
 tests.aarbology.sh                  |  54 +++----
 tests.astringology.sh               |  12 +-
 25 files changed, 104 insertions(+), 972 deletions(-)
 delete mode 100644 astat2/src/AutomataSettings.h
 delete mode 100644 astat2/src/AutomataStat.cpp
 delete mode 100644 astat2/src/AutomataStat.h
 delete mode 100644 astat2/src/GrammarSettings.h
 delete mode 100644 astat2/src/GrammarStat.cpp
 delete mode 100644 astat2/src/GrammarStat.h
 delete mode 100644 astat2/src/RegExpSettings.h
 delete mode 100644 astat2/src/RegExpStat.cpp
 delete mode 100644 astat2/src/RegExpStat.h
 delete mode 100644 astat2/src/SetSettings.h
 delete mode 100644 astat2/src/SetStat.cpp
 delete mode 100644 astat2/src/SetStat.h
 create mode 100644 astat2/src/SizeStat.cpp
 create mode 100644 astat2/src/SizeStat.h
 delete mode 100644 astat2/src/StringSettings.h
 delete mode 100644 astat2/src/StringStat.cpp
 delete mode 100644 astat2/src/StringStat.h
 delete mode 100644 astat2/src/TreeSettings.h
 delete mode 100644 astat2/src/TreeStat.cpp
 delete mode 100644 astat2/src/TreeStat.h
 delete mode 100644 astat2/src/common/Printer.hpp
 delete mode 100644 astat2/src/common/PrintingOptions.h

diff --git a/astat2/src/AutomataSettings.h b/astat2/src/AutomataSettings.h
deleted file mode 100644
index 36f93ea200..0000000000
--- a/astat2/src/AutomataSettings.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * AutomataSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __AUTOMATA_SETTINGS_H__
-#define __AUTOMATA_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct AutomataSettings {
-	PrintingOptions states;
-	PrintingOptions finalStates;
-	PrintingOptions initialStates;
-	PrintingOptions inputAlphabet;
-	PrintingOptions transitions;
-};
-
-#endif /* __AUTOMATA_SETTINGS_H__ */
diff --git a/astat2/src/AutomataStat.cpp b/astat2/src/AutomataStat.cpp
deleted file mode 100644
index fa27ad71db..0000000000
--- a/astat2/src/AutomataStat.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * AutomataStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "AutomataStat.h"
-#include "common/Printer.hpp"
-
-#include <automaton/FSM/NFA.h>
-#include <automaton/FSM/DFA.h>
-
-#include <automaton/PDA/InputDrivenNPDA.h>
-#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 );
-}
-
-void AutomataStat::stat ( const automaton::NFA & 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 AutomataStatNFA = AutomataStat::RegistratorWrapper < void, automaton::NFA > ( AutomataStat::stat );
-
-void AutomataStat::stat ( const automaton::DFA & 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 AutomataStatDFA = AutomataStat::RegistratorWrapper < void, automaton::DFA > ( AutomataStat::stat );
-
-void AutomataStat::stat ( const automaton::InputDrivenNPDA & 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 AutomataStatInputDrivenNPDA = AutomataStat::RegistratorWrapper < void, automaton::InputDrivenNPDA > ( AutomataStat::stat );
-
-void AutomataStat::stat ( const automaton::InputDrivenDPDA & 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 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 ( ) );
-	Printer::PrintValue ( settings.initialStates, automaton.getInitialState ( ) );
-	Printer::PrintSet ( settings.inputAlphabet, automaton.getInputAlphabet ( ) );
-	Printer::PrintMap ( settings.transitions, automaton.getTransitions ( ) );
-}
-
-auto AutomataStatDPDA = AutomataStat::RegistratorWrapper < void, automaton::DPDA > ( AutomataStat::stat );
diff --git a/astat2/src/AutomataStat.h b/astat2/src/AutomataStat.h
deleted file mode 100644
index a3c764fd92..0000000000
--- a/astat2/src/AutomataStat.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * AutomataStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef AUTOMATA_STAT_H_
-#define AUTOMATA_STAT_H_
-
-#include <core/multipleDispatch.hpp>
-
-#include "automaton/Automaton.h"
-#include "automaton/AutomatonFeatures.h"
-
-#include "AutomataSettings.h"
-
-class AutomataStat : public std::SingleDispatchLastStaticParam < AutomataStat, void, automaton::AutomatonBase, const AutomataSettings & > {
-public:
-	static void stat ( const automaton::Automaton & automaton, const AutomataSettings & settings );
-
-	static void stat ( const automaton::NFA & automaton, const AutomataSettings & settings );
-	static void stat ( const automaton::DFA & automaton, const AutomataSettings & settings );
-
-	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 );
-	static void stat ( const automaton::NPDA & automaton, const AutomataSettings & settings );
-};
-
-#endif /* AUTOMATA_STAT_H_ */
diff --git a/astat2/src/GrammarSettings.h b/astat2/src/GrammarSettings.h
deleted file mode 100644
index 0c155b8071..0000000000
--- a/astat2/src/GrammarSettings.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * GrammarSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __GRAMMAR_SETTINGS_H__
-#define __GRAMMAR_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct GrammarSettings {
-	PrintingOptions nonterminals;
-	PrintingOptions terminals;
-	PrintingOptions initialSymbols;
-	PrintingOptions rules;
-};
-
-#endif /* __GRAMMAR_SETTINGS_H__ */
diff --git a/astat2/src/GrammarStat.cpp b/astat2/src/GrammarStat.cpp
deleted file mode 100644
index a0b9a91e2b..0000000000
--- a/astat2/src/GrammarStat.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * GrammarStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "GrammarStat.h"
-#include "common/Printer.hpp"
-
-#include <grammar/Regular/RightRG.h>
-#include <grammar/Regular/RightLG.h>
-
-void GrammarStat::stat ( const grammar::Grammar & grammar, const GrammarSettings & settings ) {
-	dispatch ( grammar.getData ( ), settings );
-}
-
-void GrammarStat::stat ( const grammar::RightRG & grammar, const GrammarSettings & settings ) {
-	Printer::PrintSet ( settings.nonterminals, grammar.getNonterminalAlphabet ( ) );
-	Printer::PrintSet ( settings.terminals, grammar.getTerminalAlphabet ( ) );
-	Printer::PrintValue ( settings.initialSymbols, grammar.getInitialSymbol ( ) );
-	Printer::PrintMap ( settings.rules, grammar.getRules ( ) );
-}
-
-auto GrammarStatRightRG = GrammarStat::RegistratorWrapper < void, grammar::RightRG > ( GrammarStat::stat );
-
-void GrammarStat::stat ( const grammar::RightLG & grammar, const GrammarSettings & settings ) {
-	Printer::PrintSet ( settings.nonterminals, grammar.getNonterminalAlphabet ( ) );
-	Printer::PrintSet ( settings.terminals, grammar.getTerminalAlphabet ( ) );
-	Printer::PrintValue ( settings.initialSymbols, grammar.getInitialSymbol ( ) );
-	Printer::PrintMap ( settings.rules, grammar.getRules ( ) );
-}
-
-auto GrammarStatRightLG = GrammarStat::RegistratorWrapper < void, grammar::RightLG > ( GrammarStat::stat );
diff --git a/astat2/src/GrammarStat.h b/astat2/src/GrammarStat.h
deleted file mode 100644
index 6e8ed43e31..0000000000
--- a/astat2/src/GrammarStat.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * GrammarStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef GRAMMAR_STAT_H_
-#define GRAMMAR_STAT_H_
-
-#include <core/multipleDispatch.hpp>
-
-#include "grammar/Grammar.h"
-#include "grammar/GrammarFeatures.h"
-
-#include "GrammarSettings.h"
-
-class GrammarStat : public std::SingleDispatchLastStaticParam < GrammarStat, void, grammar::GrammarBase, const GrammarSettings & > {
-public:
-	static void stat ( const grammar::Grammar & grammar, const GrammarSettings & settings );
-
-	static void stat ( const grammar::RightRG & grammar, const GrammarSettings & settings );
-	static void stat ( const grammar::RightLG & grammar, const GrammarSettings & settings );
-
-};
-
-#endif /* GRAMMAR_STAT_H_ */
diff --git a/astat2/src/RegExpSettings.h b/astat2/src/RegExpSettings.h
deleted file mode 100644
index 99345709da..0000000000
--- a/astat2/src/RegExpSettings.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * RegExpSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __REG_EXP_SETTINGS_H__
-#define __REG_EXP_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct RegExpSettings {
-	PrintingOptions nodes;
-	PrintingOptions alphabet;
-};
-
-#endif /* __REG_EXP_SETTINGS_H__ */
diff --git a/astat2/src/RegExpStat.cpp b/astat2/src/RegExpStat.cpp
deleted file mode 100644
index f33b235855..0000000000
--- a/astat2/src/RegExpStat.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * RegExpStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "RegExpStat.h"
-#include "common/Printer.hpp"
-
-#include <exception/CommonException.h>
-
-#include <regexp/formal/FormalRegExp.h>
-#include <regexp/formal/FormalRegExpElement.h>
-#include <regexp/unbounded/UnboundedRegExp.h>
-#include <regexp/unbounded/UnboundedRegExpElement.h>
-
-void RegExpStat::stat ( const regexp::RegExp & regexp, const RegExpSettings & settings ) {
-	dispatch ( regexp.getData ( ), settings );
-}
-
-unsigned RegExpStat::countNodes ( const regexp::FormalRegExpElement & ) {
-	throw exception::CommonException ( "unimplemented" );
-}
-
-void RegExpStat::stat ( const regexp::FormalRegExp & regexp, const RegExpSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, regexp.getAlphabet ( ) );
-
-	switch ( settings.nodes ) {
-	case PrintingOptions::PRINT:
-		alib::XmlDataFactory::toStdout ( regexp.getRegExp ( ) );
-		break;
-
-	case PrintingOptions::SIZE:
-		std::cout << countNodes ( regexp.getRegExp ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::BOTH:
-		alib::XmlDataFactory::toStdout ( regexp.getRegExp ( ) );
-		std::cout << countNodes ( regexp.getRegExp ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::NOOP:
-		break;
-	}
-}
-
-auto RegExpStatFormalRegExp = RegExpStat::RegistratorWrapper < void, regexp::FormalRegExp > ( RegExpStat::stat );
-
-unsigned RegExpStat::countNodes ( const regexp::UnboundedRegExpElement & ) {
-	throw exception::CommonException ( "unimplemented" );
-}
-
-void RegExpStat::stat ( const regexp::UnboundedRegExp & regexp, const RegExpSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, regexp.getAlphabet ( ) );
-
-	switch ( settings.nodes ) {
-	case PrintingOptions::PRINT:
-		alib::XmlDataFactory::toStdout ( regexp.getRegExp ( ) );
-		break;
-
-	case PrintingOptions::SIZE:
-		std::cout << countNodes ( regexp.getRegExp ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::BOTH:
-		alib::XmlDataFactory::toStdout ( regexp.getRegExp ( ) );
-		std::cout << countNodes ( regexp.getRegExp ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::NOOP:
-		break;
-	}
-}
-
-auto RegExpStatUnboundedRegExp = RegExpStat::RegistratorWrapper < void, regexp::UnboundedRegExp > ( RegExpStat::stat );
diff --git a/astat2/src/RegExpStat.h b/astat2/src/RegExpStat.h
deleted file mode 100644
index 875a58dee2..0000000000
--- a/astat2/src/RegExpStat.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * RegExpStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef REG_EXP_STAT_H_
-#define REG_EXP_STAT_H_
-
-#include <core/multipleDispatch.hpp>
-
-#include "regexp/RegExp.h"
-#include "regexp/RegExpFeatures.h"
-
-#include "RegExpSettings.h"
-
-class RegExpStat : public std::SingleDispatchLastStaticParam < RegExpStat, void, regexp::RegExpBase, const RegExpSettings & > {
-	static unsigned countNodes ( const regexp::FormalRegExpElement & node );
-
-	static unsigned countNodes ( const regexp::UnboundedRegExpElement & node );
-
-public:
-	static void stat ( const regexp::RegExp & regexp, const RegExpSettings & settings );
-
-	static void stat ( const regexp::UnboundedRegExp & regexp, const RegExpSettings & settings );
-	static void stat ( const regexp::FormalRegExp & regexp, const RegExpSettings & settings );
-
-};
-
-#endif /* REG_EXP_STAT_H_ */
diff --git a/astat2/src/SetSettings.h b/astat2/src/SetSettings.h
deleted file mode 100644
index 78c4cedd31..0000000000
--- a/astat2/src/SetSettings.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * SetSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __SET_SETTINGS_H__
-#define __SET_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct SetSettings {
-	PrintingOptions general;
-};
-
-#endif /* __SET_SETTINGS_H_ */
diff --git a/astat2/src/SetStat.cpp b/astat2/src/SetStat.cpp
deleted file mode 100644
index 4e972b93ba..0000000000
--- a/astat2/src/SetStat.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * SetStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "SetStat.h"
-#include "common/Printer.hpp"
-
-void SetStat::stat ( const container::ObjectsSet & data, const SetSettings & settings ) {
-	Printer::PrintSet ( settings.general, data );
-}
-
-void SetStat::stat ( const label::LabelSetLabel & data, const SetSettings & settings ) {
-	Printer::PrintSet ( settings.general, data.getData ( ) );
-}
-
-void SetStat::stat ( const alphabet::SymbolSetSymbol & data, const SetSettings & settings ) {
-	Printer::PrintSet ( settings.general, data.getData ( ) );
-}
diff --git a/astat2/src/SetStat.h b/astat2/src/SetStat.h
deleted file mode 100644
index 4d93250400..0000000000
--- a/astat2/src/SetStat.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * AutomataStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef SET_STAT_H_
-#define SET_STAT_H_
-
-#include <algorithm>
-#include <deque>
-#include <set>
-
-#include "container/ObjectsSet.h"
-#include "label/LabelSetLabel.h"
-#include "alphabet/SymbolSetSymbol.h"
-#include "SetSettings.h"
-
-class SetStat {
-public:
-	static void stat ( const container::ObjectsSet & set, const SetSettings & settings );
-	static void stat ( const label::LabelSetLabel & set, const SetSettings & settings );
-	static void stat ( const alphabet::SymbolSetSymbol & set, const SetSettings & settings );
-};
-
-#endif /* SET_STAT_H_ */
diff --git a/astat2/src/SizeStat.cpp b/astat2/src/SizeStat.cpp
new file mode 100644
index 0000000000..fd80532c69
--- /dev/null
+++ b/astat2/src/SizeStat.cpp
@@ -0,0 +1,26 @@
+/*
+ * SizeStat.cpp
+ *
+ *  Created on: 20. 9. 2014
+ *	  Author: Jan Travnicek
+ */
+
+#include "SizeStat.h"
+
+void SizeStat::stat ( const container::Container & container ) {
+	dispatch ( container.getData ( ) );
+}
+
+void SizeStat::stat ( const container::ObjectsSet & set ) {
+	std::cout << set.size ( ) << std::endl;
+}
+
+auto SizeStatObjectsSet = SizeStat::RegistratorWrapper < void, container::ObjectsSet > ( SizeStat::stat );
+
+void SizeStat::stat ( const label::LabelSetLabel & set ) {
+	std::cout << set.getData ( ).size ( ) << std::endl;
+}
+
+void SizeStat::stat ( const alphabet::SymbolSetSymbol & set ) {
+	std::cout << set.getData ( ).size ( ) << std::endl;
+}
diff --git a/astat2/src/SizeStat.h b/astat2/src/SizeStat.h
new file mode 100644
index 0000000000..5b15a928c1
--- /dev/null
+++ b/astat2/src/SizeStat.h
@@ -0,0 +1,30 @@
+/*
+ * SizeStat.h
+ *
+ *  Created on: 20. 9. 2014
+ *	  Author: Jan Travnicek
+ */
+
+#ifndef SIZE_STAT_H_
+#define SIZE_STAT_H_
+
+#include <algorithm>
+#include <deque>
+#include <set>
+
+#include <core/multipleDispatch.hpp>
+
+#include "container/Container.h"
+#include "container/ObjectsSet.h"
+#include "label/LabelSetLabel.h"
+#include "alphabet/SymbolSetSymbol.h"
+
+class SizeStat : public std::SingleDispatch < SizeStat, void, container::ContainerBase > {
+public:
+	static void stat ( const container::Container & container );
+	static void stat ( const container::ObjectsSet & set );
+	static void stat ( const label::LabelSetLabel & set );
+	static void stat ( const alphabet::SymbolSetSymbol & set );
+};
+
+#endif /* SIZE_STAT_H_ */
diff --git a/astat2/src/StringSettings.h b/astat2/src/StringSettings.h
deleted file mode 100644
index 9125e1cdb3..0000000000
--- a/astat2/src/StringSettings.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * StringSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __STRING_SETTINGS_H__
-#define __STRING_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct StringSettings {
-	PrintingOptions content;
-	PrintingOptions alphabet;
-};
-
-#endif /* __STRING_SETTINGS_H__ */
diff --git a/astat2/src/StringStat.cpp b/astat2/src/StringStat.cpp
deleted file mode 100644
index 938ca7681e..0000000000
--- a/astat2/src/StringStat.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * StringStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "StringStat.h"
-#include "common/Printer.hpp"
-
-#include <string/LinearString.h>
-#include <string/CyclicString.h>
-
-void StringStat::stat ( const string::String & string, const StringSettings & settings ) {
-	dispatch ( string.getData ( ), settings );
-}
-
-void StringStat::stat ( const string::LinearString & string, const StringSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, string.getAlphabet ( ) );
-	Printer::PrintVector ( settings.content, string.getContent ( ) );
-}
-
-auto StringStatFormalString = StringStat::RegistratorWrapper < void, string::LinearString > ( StringStat::stat );
-
-void StringStat::stat ( const string::CyclicString & string, const StringSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, string.getAlphabet ( ) );
-	Printer::PrintVector ( settings.content, string.getContent ( ) );
-}
-
-auto StringStatUnboundedString = StringStat::RegistratorWrapper < void, string::CyclicString > ( StringStat::stat );
diff --git a/astat2/src/StringStat.h b/astat2/src/StringStat.h
deleted file mode 100644
index 33a6e40d1b..0000000000
--- a/astat2/src/StringStat.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * StringStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef STRING_STAT_H_
-#define STRING_STAT_H_
-
-#include <core/multipleDispatch.hpp>
-
-#include "string/String.h"
-#include "string/StringFeatures.h"
-
-#include "StringSettings.h"
-
-class StringStat : public std::SingleDispatchLastStaticParam < StringStat, void, string::StringBase, const StringSettings & > {
-public:
-	static void stat ( const string::String & string, const StringSettings & settings );
-
-	static void stat ( const string::LinearString & string, const StringSettings & settings );
-	static void stat ( const string::CyclicString & string, const StringSettings & settings );
-
-};
-
-#endif /* STRING_STAT_H_ */
diff --git a/astat2/src/TreeSettings.h b/astat2/src/TreeSettings.h
deleted file mode 100644
index 3b6142ec46..0000000000
--- a/astat2/src/TreeSettings.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * TreeSettings.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __TREE_SETTINGS_H__
-#define __TREE_SETTINGS_H__
-
-#include "common/PrintingOptions.h"
-
-struct TreeSettings {
-	PrintingOptions nodes;
-	PrintingOptions alphabet;
-};
-
-#endif /* __TREE_SETTINGS_H__ */
diff --git a/astat2/src/TreeStat.cpp b/astat2/src/TreeStat.cpp
deleted file mode 100644
index ca35d0f4c5..0000000000
--- a/astat2/src/TreeStat.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * TreeStat.cpp
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#include "TreeStat.h"
-#include "common/Printer.hpp"
-
-#include <tree/ranked/RankedTree.h>
-#include <tree/unranked/UnrankedTree.h>
-
-void TreeStat::stat ( const tree::Tree & tree, const TreeSettings & settings ) {
-	dispatch ( tree.getData ( ), settings );
-}
-
-unsigned TreeStat::countNodes ( const tree::RankedNode & node ) {
-	unsigned res = 1;
-
-	for ( const std::smart_ptr < const tree::RankedNode > & child : node.getChildren ( ) )
-		res += countNodes ( * child );
-
-	return res;
-}
-
-void TreeStat::stat ( const tree::RankedTree & tree, const TreeSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, tree.getAlphabet ( ) );
-
-	switch ( settings.nodes ) {
-	case PrintingOptions::PRINT:
-		alib::XmlDataFactory::toStdout ( tree.getRoot ( ) );
-		break;
-
-	case PrintingOptions::SIZE:
-		std::cout << countNodes ( tree.getRoot ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::BOTH:
-		alib::XmlDataFactory::toStdout ( tree.getRoot ( ) );
-		std::cout << countNodes ( tree.getRoot ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::NOOP:
-		break;
-	}
-}
-
-auto TreeStatFormalTree = TreeStat::RegistratorWrapper < void, tree::RankedTree > ( TreeStat::stat );
-
-unsigned TreeStat::countNodes ( const tree::UnrankedNode & node ) {
-	unsigned res = 1;
-
-	for ( const std::smart_ptr < const tree::UnrankedNode > & child : node.getChildren ( ) )
-		res += countNodes ( * child );
-
-	return res;
-}
-
-void TreeStat::stat ( const tree::UnrankedTree & tree, const TreeSettings & settings ) {
-	Printer::PrintSet ( settings.alphabet, tree.getAlphabet ( ) );
-
-	switch ( settings.nodes ) {
-	case PrintingOptions::PRINT:
-		alib::XmlDataFactory::toStdout ( tree.getRoot ( ) );
-		break;
-
-	case PrintingOptions::SIZE:
-		std::cout << countNodes ( tree.getRoot ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::BOTH:
-		alib::XmlDataFactory::toStdout ( tree.getRoot ( ) );
-		std::cout << countNodes ( tree.getRoot ( ) ) << std::endl;
-		break;
-
-	case PrintingOptions::NOOP:
-		break;
-	}
-}
-
-auto TreeStatUnboundedTree = TreeStat::RegistratorWrapper < void, tree::UnrankedTree > ( TreeStat::stat );
diff --git a/astat2/src/TreeStat.h b/astat2/src/TreeStat.h
deleted file mode 100644
index d8a81d8127..0000000000
--- a/astat2/src/TreeStat.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * TreeStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef TREE_STAT_H_
-#define TREE_STAT_H_
-
-#include <core/multipleDispatch.hpp>
-
-#include "tree/Tree.h"
-#include "tree/TreeFeatures.h"
-
-#include "TreeSettings.h"
-
-class TreeStat : public std::SingleDispatchLastStaticParam < TreeStat, void, tree::TreeBase, const TreeSettings & > {
-	static unsigned countNodes ( const tree::RankedNode & node );
-
-	static unsigned countNodes ( const tree::UnrankedNode & node );
-
-public:
-	static void stat ( const tree::Tree & tree, const TreeSettings & settings );
-
-	static void stat ( const tree::RankedTree & tree, const TreeSettings & settings );
-	static void stat ( const tree::UnrankedTree & tree, const TreeSettings & settings );
-
-};
-
-#endif /* TREE_STAT_H_ */
diff --git a/astat2/src/astat.cpp b/astat2/src/astat.cpp
index d3caba8449..6f725b1c66 100644
--- a/astat2/src/astat.cpp
+++ b/astat2/src/astat.cpp
@@ -14,24 +14,12 @@
 #include <factory/XmlDataFactory.hpp>
 #include <exception/CommonException.h>
 
-#include "AutomataStat.h"
-#include "GrammarStat.h"
-#include "RegExpStat.h"
-#include "StringStat.h"
-#include "TreeStat.h"
-#include "SetStat.h"
+#include "SizeStat.h"
 
-PrintingOptions translatePrintingOptions ( std::string value ) {
-	if ( value == "noop" )
-		return PrintingOptions::NOOP;
-	else if ( value == "print" )
-		return PrintingOptions::PRINT;
-	else if ( value == "size" )
-		return PrintingOptions::SIZE;
-	else if ( value == "both" )
-		return PrintingOptions::BOTH;
-	else
-		throw exception::CommonException ( "Invalid Argument in translate printing options (" + value + ")" );
+template < class T >
+void printStat ( const T & data, TCLAP::ValueArg < std::string > & presentation ) {
+	if ( presentation.getValue ( ) == "size" )
+		SizeStat::stat ( data );
 }
 
 int main ( int argc, char * argv[] ) {
@@ -39,12 +27,12 @@ int main ( int argc, char * argv[] ) {
 		common::GlobalData::argc = argc;
 		common::GlobalData::argv = argv;
 
-		TCLAP::CmdLine cmd ( "Prints usefull information about automata, grammars, regexps, ...", ' ', "0.01" );
+		TCLAP::CmdLine cmd ( "Prints useful information about raw data structures", ' ', "0.01" );
 
 		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 		std::vector < std::string > allowedPrintingOptions {
-			"noop", "print", "size", "both"
+			"size", "unique_size"
 		};
 		TCLAP::ValuesConstraint < std::string > allowedPrintingOptionsVals ( allowedPrintingOptions );
 
@@ -53,64 +41,6 @@ int main ( int argc, char * argv[] ) {
 
 		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-		std::vector < std::string > automatonPrintingOptions {
-			"states", "finalStates", "initialStates", "inputAlphabet", "transitions"
-		};
-		TCLAP::ValuesConstraint < std::string > automatonPrintingOptionsVals ( automatonPrintingOptions );
-
-		TCLAP::MultiArg < std::string > automaton ( "", "automaton", "Display stats of automata", false, & automatonPrintingOptionsVals );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		std::vector < std::string > grammarPrintingOptions {
-			"nonterminals", "terminals", "initialSymbols", "rules"
-		};
-		TCLAP::ValuesConstraint < std::string > grammarPrintingOptionsVals ( grammarPrintingOptions );
-
-		TCLAP::MultiArg < std::string > grammar ( "", "grammar", "Display stats of grammars", false, & grammarPrintingOptionsVals );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		std::vector < std::string > regexpPrintingOptions {
-			"alphabet", "nodes"
-		};
-		TCLAP::ValuesConstraint < std::string > regexpPrintingOptionsVals ( regexpPrintingOptions );
-
-		TCLAP::MultiArg < std::string > regexp ( "", "regexp", "Display stats of regexps", false, & regexpPrintingOptionsVals );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		std::vector < std::string > stringPrintingOptions {
-			"alphabet", "content"
-		};
-		TCLAP::ValuesConstraint < std::string > stringPrintingOptionsVals ( stringPrintingOptions );
-
-		TCLAP::MultiArg < std::string > string ( "", "string", "Display stats of strings", false, & stringPrintingOptionsVals );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		std::vector < std::string > treePrintingOptions {
-			"alphabet", "nodes"
-		};
-		TCLAP::ValuesConstraint < std::string > treePrintingOptionsVals ( treePrintingOptions );
-
-		TCLAP::MultiArg < std::string > tree ( "", "tree", "Display stats of trees", false, & treePrintingOptionsVals );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		TCLAP::SwitchArg set ( "", "set", "Display stats of sets", false );
-
-		// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-		std::vector < TCLAP::Arg * > xorlist;
-		xorlist.push_back ( & automaton );
-		xorlist.push_back ( & grammar );
-		xorlist.push_back ( & regexp );
-		xorlist.push_back ( & string );
-		xorlist.push_back ( & tree );
-		xorlist.push_back ( & set );
-		cmd.xorAdd ( xorlist );
-
 		TCLAP::ValueArg < std::string > file ( "i", "input", "Read from file", false, "-", "file" );
 		cmd.add ( file );
 
@@ -131,145 +61,29 @@ int main ( int argc, char * argv[] ) {
 		measurements::start ( "Overal", measurements::Type::OVERALL );
 		measurements::start ( "Input read", measurements::Type::AUXILIARY );
 
-		PrintingOptions printingOption = translatePrintingOptions ( presentation.getValue ( ) );
-
-		std::deque < sax::Token > tokens = sax::FromXMLParserHelper::parseInput(file);
-
-		if ( alib::XmlDataFactory::first < automaton::Automaton > ( tokens ) && automaton.isSet ( ) ) {
-			AutomataSettings settings = { PrintingOptions::NOOP, PrintingOptions::NOOP, PrintingOptions::NOOP, PrintingOptions::NOOP, PrintingOptions::NOOP };
-			std::set < std::string > values {
-				automaton.getValue ( ).begin ( ), automaton.getValue ( ).end ( )
-			};
-
-			if ( values.count ( "states" ) )
-				settings.states = printingOption;
-
-			if ( values.count ( "finalStates" ) )
-				settings.finalStates = printingOption;
+		std::deque < sax::Token > tokens = sax::FromXMLParserHelper::parseInput ( file );
 
-			if ( values.count ( "initialStates" ) )
-				settings.initialStates = printingOption;
-
-			if ( values.count ( "inputAlphabet" ) )
-				settings.inputAlphabet = printingOption;
-
-			if ( values.count ( "transitions" ) )
-				settings.transitions = printingOption;
-
-			automaton::Automaton automaton = alib::XmlDataFactory::fromTokens < automaton::Automaton > ( std::move ( tokens ) );
+		if ( alib::XmlDataFactory::first < container::Container > ( tokens ) ) {
+			container::Container data = alib::XmlDataFactory::fromTokens < container::Container > ( std::move ( tokens ) );
 
 			measurements::end ( );
 			measurements::start ( "Stats print", measurements::Type::MAIN );
 
-			AutomataStat::stat ( automaton, settings );
-		} else if ( alib::XmlDataFactory::first < grammar::Grammar > ( tokens ) && grammar.isSet ( ) ) {
-			GrammarSettings settings = { PrintingOptions::NOOP, PrintingOptions::NOOP, PrintingOptions::NOOP, PrintingOptions::NOOP };
-			std::set < std::string > values {
-				grammar.getValue ( ).begin ( ), grammar.getValue ( ).end ( )
-			};
-
-			if ( values.count ( "nonterminals" ) )
-				settings.nonterminals = printingOption;
-
-			if ( values.count ( "terminals" ) )
-				settings.terminals = printingOption;
-
-			if ( values.count ( "initialSymbols" ) )
-				settings.initialSymbols = printingOption;
-
-			if ( values.count ( "rules" ) )
-				settings.rules = printingOption;
-
-			grammar::Grammar grammar = alib::XmlDataFactory::fromTokens < grammar::Grammar > ( std::move ( tokens ) );
-
-			measurements::end ( );
-			measurements::start ( "Stats print", measurements::Type::MAIN );
-
-			GrammarStat::stat ( grammar, settings );
-		} else if ( alib::XmlDataFactory::first < regexp::RegExp > ( tokens ) && regexp.isSet ( ) ) {
-			RegExpSettings settings = { PrintingOptions::NOOP, PrintingOptions::NOOP };
-			std::set < std::string > values {
-				regexp.getValue ( ).begin ( ), regexp.getValue ( ).end ( )
-			};
-
-			if ( values.count ( "alphabet" ) )
-				settings.alphabet = printingOption;
-
-			if ( values.count ( "nodes" ) )
-				settings.nodes = printingOption;
-
-			regexp::RegExp regexp = alib::XmlDataFactory::fromTokens < regexp::RegExp > ( std::move ( tokens ) );
-
-			measurements::end ( );
-			measurements::start ( "Stats print", measurements::Type::MAIN );
-
-			RegExpStat::stat ( regexp, settings );
-		} else if ( alib::XmlDataFactory::first < string::String > ( tokens ) && string.isSet ( ) ) {
-			StringSettings settings = { PrintingOptions::NOOP, PrintingOptions::NOOP };
-			std::set < std::string > values {
-				string.getValue ( ).begin ( ), string.getValue ( ).end ( )
-			};
-
-			if ( values.count ( "alphabet" ) )
-				settings.alphabet = printingOption;
-
-			if ( values.count ( "content" ) )
-				settings.content = printingOption;
-
-			string::String string = alib::XmlDataFactory::fromTokens < string::String > ( std::move ( tokens ) );
-
-			measurements::end ( );
-			measurements::start ( "Stats print", measurements::Type::MAIN );
-
-			StringStat::stat ( string, settings );
-		} else if ( alib::XmlDataFactory::first < tree::Tree > ( tokens ) && tree.isSet ( ) ) {
-			TreeSettings settings = { PrintingOptions::NOOP, PrintingOptions::NOOP };
-			std::set < std::string > values {
-				tree.getValue ( ).begin ( ), tree.getValue ( ).end ( )
-			};
-
-			if ( values.count ( "alphabet" ) )
-				settings.alphabet = printingOption;
-
-			if ( values.count ( "nodes" ) )
-				settings.nodes = printingOption;
-
-			tree::Tree tree = alib::XmlDataFactory::fromTokens < tree::Tree > ( std::move ( tokens ) );
-
-			measurements::end ( );
-			measurements::start ( "Stats print", measurements::Type::MAIN );
-
-			TreeStat::stat ( tree, settings );
-		} else if ( alib::XmlDataFactory::first < container::ObjectsSet > ( tokens ) && set.isSet ( ) ) {
-			SetSettings settings = { PrintingOptions::NOOP };
-			settings.general = printingOption;
-
-			container::ObjectsSet data = alib::XmlDataFactory::fromTokens < container::ObjectsSet > ( std::move ( tokens ) );
-
-			measurements::end ( );
-			measurements::start ( "Stats print", measurements::Type::MAIN );
-
-			SetStat::stat ( data, settings );
-		} else if ( alib::XmlDataFactory::first < label::LabelSetLabel > ( tokens ) && set.isSet ( ) ) {
-			SetSettings settings = { PrintingOptions::NOOP };
-			settings.general = printingOption;
-
+			printStat ( data, presentation );
+		} else if ( alib::XmlDataFactory::first < label::LabelSetLabel > ( tokens ) ) {
 			label::LabelSetLabel data = alib::XmlDataFactory::fromTokens < label::LabelSetLabel > ( std::move ( tokens ) );
 
 			measurements::end ( );
 			measurements::start ( "Stats print", measurements::Type::MAIN );
 
-			SetStat::stat ( data, settings );
-		} else if ( alib::XmlDataFactory::first < alphabet::SymbolSetSymbol > ( tokens ) && set.isSet ( ) ) {
-			SetSettings settings = { PrintingOptions::NOOP };
-			settings.general = printingOption;
-
+			printStat ( data, presentation );
+		} else if ( alib::XmlDataFactory::first < alphabet::SymbolSetSymbol > ( tokens ) ) {
 			alphabet::SymbolSetSymbol data = alib::XmlDataFactory::fromTokens < alphabet::SymbolSetSymbol > ( std::move ( tokens ) );
 
 			measurements::end ( );
 			measurements::start ( "Stats print", measurements::Type::MAIN );
 
-			SetStat::stat ( data, settings );
+			printStat ( data, presentation );
 		} else {
 			throw exception::CommonException ( "Input not recognized." );
 		}
diff --git a/astat2/src/common/Printer.hpp b/astat2/src/common/Printer.hpp
deleted file mode 100644
index 328cb0883b..0000000000
--- a/astat2/src/common/Printer.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * AutomataStat.h
- *
- *  Created on: 20. 9. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef PRINTER_H_
-#define PRINTER_H_
-
-#include "PrintingOptions.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>
-
-class Printer {
-public:
-	template < class ... T >
-	static void PrintSet ( PrintingOptions printingOptions, const std::set < T ... > & data ) {
-		switch ( printingOptions ) {
-		case PrintingOptions::PRINT:
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::SIZE:
-			std::cout << data.size ( ) << std::endl;
-			break;
-
-		case PrintingOptions::BOTH:
-			std::cout << data.size ( ) << std::endl;
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::NOOP:
-			break;
-		}
-	}
-
-	template < class ... T >
-	static void PrintVector ( PrintingOptions printingOptions, const std::vector < T ... > & data ) {
-		switch ( printingOptions ) {
-		case PrintingOptions::PRINT:
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::SIZE:
-			std::cout << data.size ( ) << std::endl;
-			break;
-
-		case PrintingOptions::BOTH:
-			std::cout << data.size ( ) << std::endl;
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::NOOP:
-			break;
-		}
-	}
-
-	template < class ... T >
-	static void PrintMap ( PrintingOptions printingOptions, const std::map < T ... > & data ) {
-		switch ( printingOptions ) {
-		case PrintingOptions::PRINT:
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::SIZE:
-			std::cout << data.size ( ) << std::endl;
-			break;
-
-		case PrintingOptions::BOTH:
-			std::cout << data.size ( ) << std::endl;
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::NOOP:
-			break;
-		}
-	}
-
-	template < class T >
-	static void PrintValue ( PrintingOptions printingOptions, const T & data ) {
-		switch ( printingOptions ) {
-		case PrintingOptions::PRINT:
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::SIZE:
-			std::cout << 1 << std::endl;
-			break;
-
-		case PrintingOptions::BOTH:
-			std::cout << 1 << std::endl;
-			alib::XmlDataFactory::toStdout ( data );
-			break;
-
-		case PrintingOptions::NOOP:
-			break;
-		}
-	}
-
-};
-
-#endif // PRINTER_H_
diff --git a/astat2/src/common/PrintingOptions.h b/astat2/src/common/PrintingOptions.h
deleted file mode 100644
index 9d66a6e02c..0000000000
--- a/astat2/src/common/PrintingOptions.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * PrintingOptions.h
- *
- *  Created on: 26. 3. 2014
- *	  Author: Jan Travnicek
- */
-
-#ifndef __PRINTING_OPTIONS_H__
-#define __PRINTING_OPTIONS_H__
-
-enum class PrintingOptions {
-	PRINT, SIZE, BOTH, NOOP
-};
-
-#endif /* __PRINTING_OPTIONS_H_ */
diff --git a/tests.aarbology.sh b/tests.aarbology.sh
index fee36759d7..f2434b5a62 100755
--- a/tests.aarbology.sh
+++ b/tests.aarbology.sh
@@ -190,7 +190,7 @@ function runTestSubtree {
 			cat $SUBJECT_FILE > $SUBJECT_FILE_COPY
 			cat $PATTERN_FILE > $PATTERN_FILE_COPY
 
-			Occs=`./aarbology2 -a exactSubtreeMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size --set`
+			Occs=`./aarbology2 -a exactSubtreeMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size`
 
 			runTest2 "$Occs" "$2" "$SUBJECT_FILE_COPY" "$PATTERN_FILE_COPY"
 		fi
@@ -207,7 +207,7 @@ function runTestSubtree {
 		cat <(generateSubject) > $SUBJECT_FILE
 		cat <(generateSubtree) > $PATTERN_FILE
 
-		Occs=`./aarbology2 -a exactSubtreeMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size --set`
+		Occs=`./aarbology2 -a exactSubtreeMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size`
 
 		runTest2 "$Occs" "$2" "$SUBJECT_FILE" "$PATTERN_FILE" & (( i%JOBS==0 )) && wait
 	done
@@ -235,7 +235,7 @@ function runTestPattern {
 			cat $SUBJECT_FILE > $SUBJECT_FILE_COPY
 			cat $PATTERN_FILE > $PATTERN_FILE_COPY
 
-			Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size --set`
+			Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size`
 
 			runTest2 "$Occs" "$2" "$SUBJECT_FILE_COPY" "$PATTERN_FILE_COPY"
 		fi
@@ -252,7 +252,7 @@ function runTestPattern {
 		cat <(generateSubject) > $SUBJECT_FILE
 		cat <(generatePattern) > $PATTERN_FILE
 
-		Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size --set`
+		Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size`
 
 		runTest2 "$Occs" "$2" "$SUBJECT_FILE" "$PATTERN_FILE" & (( i%JOBS==0 )) && wait
 	done
@@ -280,7 +280,7 @@ function runTestNonlinearPattern {
 			cat $SUBJECT_FILE > $SUBJECT_FILE_COPY
 			cat $PATTERN_FILE > $PATTERN_FILE_COPY
 
-			Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size --set`
+			Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size`
 
 			runTest2 "$Occs" "$2" "$SUBJECT_FILE_COPY" "$PATTERN_FILE_COPY"
 		fi
@@ -297,7 +297,7 @@ function runTestNonlinearPattern {
 		cat <(generateSubject) > $SUBJECT_FILE
 		cat <(generateNonlinearPattern) > $PATTERN_FILE
 
-		Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size --set`
+		Occs=`./aarbology2 -a exactPatternMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size`
 
 		runTest2 "$Occs" "$2" "$SUBJECT_FILE" "$PATTERN_FILE" & (( i%JOBS==0 )) && wait
 	done
@@ -325,7 +325,7 @@ function runTestPatternEnds {
 			cat $SUBJECT_FILE > $SUBJECT_FILE_COPY
 			cat $PATTERN_FILE > $PATTERN_FILE_COPY
 
-			Occs=`./aarbology2 -e -a exactPatternMatch -s <(./acast2 -t PrefixRankedTree -i "$SUBJECT_FILE_COPY" ) -p <(./acast2 -t PrefixRankedPattern -i "$PATTERN_FILE_COPY" ) | ./astat2 -p size --set`
+			Occs=`./aarbology2 -e -a exactPatternMatch -s <(./acast2 -t PrefixRankedTree -i "$SUBJECT_FILE_COPY" ) -p <(./acast2 -t PrefixRankedPattern -i "$PATTERN_FILE_COPY" ) | ./astat2 -p size`
 
 			runTest2 "$Occs" "$2" "$SUBJECT_FILE_COPY" "$PATTERN_FILE_COPY"
 		fi
@@ -342,7 +342,7 @@ function runTestPatternEnds {
 		cat <(generateSubject) > $SUBJECT_FILE
 		cat <(generatePattern) > $PATTERN_FILE
 
-		Occs=`./aarbology2 -e -a exactPatternMatch -s <(./acast2 -t PrefixRankedTree -i "$SUBJECT_FILE" ) -p <(./acast2 -t PrefixRankedPattern -i "$PATTERN_FILE" ) | ./astat2 -p size --set`
+		Occs=`./aarbology2 -e -a exactPatternMatch -s <(./acast2 -t PrefixRankedTree -i "$SUBJECT_FILE" ) -p <(./acast2 -t PrefixRankedPattern -i "$PATTERN_FILE" ) | ./astat2 -p size`
 
 		runTest2 "$Occs" "$2" "$SUBJECT_FILE" "$PATTERN_FILE" & (( i%JOBS==0 )) && wait
 	done
@@ -353,26 +353,26 @@ function runTestPatternEnds {
 	clearResults
 }
 
-runTestPatternEnds "Exact Pattern Matching Automaton (PrefixRanked)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
+runTestPatternEnds "Exact Pattern Matching Automaton (PrefixRanked)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size"
 
 RAND_SIZE_SUBJECT=100
-runTestPatternEnds "Exact Tree Pattern Automaton (PrefixRanked)" "./aarbology2 -a exactTreePatternAutomaton -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) | ./adeterminize2 | ./arun2 -t result -i <(./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
+runTestPatternEnds "Exact Tree Pattern Automaton (PrefixRanked)" "./aarbology2 -a exactTreePatternAutomaton -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) | ./adeterminize2 | ./arun2 -t result -i <(./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size"
 
 RAND_SIZE_SUBJECT=1000
-runTestSubtree "Exact Boyer Moore Horspool (Subtree PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarTree -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestSubtree "Exact Subtree Automaton (Tree)" "./arun2 -t occurrences -a <(./aarbology2 -a exactSubtreeMatchingAutomaton -p \"\$PATTERN_FILE\" | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size --set"
-
-runTestPattern "Exact Boyer Moore Horspool (Pattern PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestNonlinearPattern "Exact Pattern Match (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a exactPatternMatch -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestNonlinearPattern "Exact Boyer Moore Horspool (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestPattern "Exact Reversed Boyer Moore Horspool (Pattern PrefixRankedBar)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestPattern "Exact Reversed Boyer Moore Horspool (Pattern PrefixRanked)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestNonlinearPattern "Exact Reversed Boyer Moore Horspool (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestNonlinearPattern "Exact Reversed Boyer Moore Horspool (NonlinearPattern PrefixRanked)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestPattern "Exact Knuth Morris Pratt (Pattern PrefixRankedBar)" "./aarbology2 -a knuthMorrisPratt -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i \"\$PATTERN_FILE\" ) | ./astat2 -p size --set"
-runTestPattern "Exact Knuth Morris Pratt (Pattern PrefixRanked)" "./aarbology2 -a knuthMorrisPratt -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" ) | ./astat2 -p size --set"
-runTestPattern "Exact Dead Zone Using Bad Character Shift And Border Array (Pattern PrefixRanked)" "./aarbology2 -a deadZoneUsingBadCharacterShiftAndBorderArray -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-runTestPattern "Exact Dead Zone Using Bad Character Shift And Border Array (Pattern PrefixRankedBar)" "./aarbology2 -a deadZoneUsingBadCharacterShiftAndBorderArray -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size --set"
-
-runTestPattern "Exact Pattern Matching Automaton (Pattern Tree)" "./arun2 -t occurrences -a <(./aarbology2 -a exactPatternMatchingAutomaton -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size --set"
-runTestPattern "Exact Pattern Matching Automaton (PrefixRankedBar)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
+runTestSubtree "Exact Boyer Moore Horspool (Subtree PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarTree -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestSubtree "Exact Subtree Automaton (Tree)" "./arun2 -t occurrences -a <(./aarbology2 -a exactSubtreeMatchingAutomaton -p \"\$PATTERN_FILE\" | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size"
+
+runTestPattern "Exact Boyer Moore Horspool (Pattern PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestNonlinearPattern "Exact Pattern Match (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a exactPatternMatch -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestNonlinearPattern "Exact Boyer Moore Horspool (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a boyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestPattern "Exact Reversed Boyer Moore Horspool (Pattern PrefixRankedBar)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestPattern "Exact Reversed Boyer Moore Horspool (Pattern PrefixRanked)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestNonlinearPattern "Exact Reversed Boyer Moore Horspool (NonlinearPattern PrefixRankedBar)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestNonlinearPattern "Exact Reversed Boyer Moore Horspool (NonlinearPattern PrefixRanked)" "./aarbology2 -a reversedBoyerMooreHorspool -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedNonlinearPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestPattern "Exact Knuth Morris Pratt (Pattern PrefixRankedBar)" "./aarbology2 -a knuthMorrisPratt -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i \"\$PATTERN_FILE\" ) | ./astat2 -p size"
+runTestPattern "Exact Knuth Morris Pratt (Pattern PrefixRanked)" "./aarbology2 -a knuthMorrisPratt -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" ) | ./astat2 -p size"
+runTestPattern "Exact Dead Zone Using Bad Character Shift And Border Array (Pattern PrefixRanked)" "./aarbology2 -a deadZoneUsingBadCharacterShiftAndBorderArray -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+runTestPattern "Exact Dead Zone Using Bad Character Shift And Border Array (Pattern PrefixRankedBar)" "./aarbology2 -a deadZoneUsingBadCharacterShiftAndBorderArray -s <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" ) -p <( ./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\"))) | ./astat2 -p size"
+
+runTestPattern "Exact Pattern Matching Automaton (Pattern Tree)" "./arun2 -t occurrences -a <(./aarbology2 -a exactPatternMatchingAutomaton -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size"
+runTestPattern "Exact Pattern Matching Automaton (PrefixRankedBar)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedBarPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedBarTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size"
diff --git a/tests.astringology.sh b/tests.astringology.sh
index e77dc921a8..8e4efe5310 100755
--- a/tests.astringology.sh
+++ b/tests.astringology.sh
@@ -180,7 +180,7 @@ function runTest {
 			cat $SUBJECT_FILE > $SUBJECT_FILE_COPY
 			cat $PATTERN_FILE > $PATTERN_FILE_COPY
 
-			Occs=`./astringology2 -a exactFactorMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size --set`
+			Occs=`./astringology2 -a exactFactorMatch -s "$SUBJECT_FILE_COPY" -p "$PATTERN_FILE_COPY" | ./astat2 -p size`
 
 			runTest2 "$Occs" "$2" "$SUBJECT_FILE_COPY" "$PATTERN_FILE_COPY"
 		fi
@@ -197,7 +197,7 @@ function runTest {
 		cat <(generateSubject) > $SUBJECT_FILE
 		cat <(generatePattern) > $PATTERN_FILE
 
-		Occs=`./astringology2 -a exactFactorMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size --set`
+		Occs=`./astringology2 -a exactFactorMatch -s "$SUBJECT_FILE" -p "$PATTERN_FILE" | ./astat2 -p size`
 
 		runTest2 "$Occs" "$2" "$SUBJECT_FILE" "$PATTERN_FILE" & (( i%JOBS==0 )) && wait
 	done
@@ -208,8 +208,8 @@ function runTest {
 	clearResults
 }
 
-runTest "Exact Boyer Moore Horspool" "./astringology2 -a boyerMooreHorspool -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size --set"
-runTest "Exact Reversed Boyer Moore Horspool" "./astringology2 -a reversedBoyerMooreHorspool -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size --set"
-runTest "Exact Matching Automaton" "./arun2 -t occurrences -a <(./astringology2 -a exactMatchingAutomaton -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size --set"
-runTest "Exact Dead Zone Using Bad Character Shift" "./astringology2 -a deadZoneUsingBadCharacterShift -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size --set"
+runTest "Exact Boyer Moore Horspool" "./astringology2 -a boyerMooreHorspool -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size"
+runTest "Exact Reversed Boyer Moore Horspool" "./astringology2 -a reversedBoyerMooreHorspool -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size"
+runTest "Exact Matching Automaton" "./arun2 -t occurrences -a <(./astringology2 -a exactMatchingAutomaton -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./adeterminize2) -i \"\$SUBJECT_FILE\" | ./astat2 -p size"
+runTest "Exact Dead Zone Using Bad Character Shift" "./astringology2 -a deadZoneUsingBadCharacterShift -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size"
 
-- 
GitLab