From 80046ecd2abdebe0af6629201b6dca552bc8dbf0 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 26 Sep 2018 23:42:58 +0200
Subject: [PATCH] wip remove Symbol wrapper

---
 alib2data/src/alphabet/BarSymbol.h                 |  5 -----
 alib2data/src/alphabet/BlankSymbol.h               |  5 -----
 alib2data/src/alphabet/BottomOfTheStackSymbol.h    |  5 -----
 alib2data/src/alphabet/EndSymbol.h                 |  5 -----
 alib2data/src/alphabet/InitialSymbol.h             |  5 -----
 alib2data/src/alphabet/NonlinearVariableSymbol.h   |  2 +-
 alib2data/src/alphabet/StartSymbol.h               |  5 -----
 alib2data/src/alphabet/Symbol.h                    | 14 +-------------
 alib2data/src/alphabet/VariablesBarSymbol.h        |  5 -----
 alib2data/src/alphabet/WildcardSymbol.h            |  5 -----
 alib2data/src/alphabet/xml/BarSymbol.cpp           |  3 +--
 alib2data/src/alphabet/xml/BlankSymbol.cpp         |  3 +--
 .../src/alphabet/xml/BottomOfTheStackSymbol.cpp    |  3 +--
 alib2data/src/alphabet/xml/EndSymbol.cpp           |  3 +--
 alib2data/src/alphabet/xml/InitialSymbol.cpp       |  3 +--
 .../src/alphabet/xml/NonlinearVariableSymbol.cpp   |  3 +--
 alib2data/src/alphabet/xml/RankedSymbol.cpp        |  3 +--
 alib2data/src/alphabet/xml/StartSymbol.cpp         |  3 +--
 alib2data/src/alphabet/xml/VariablesBarSymbol.cpp  |  3 +--
 alib2data/src/alphabet/xml/WildcardSymbol.cpp      |  3 +--
 alib2data/test-src/alphabet/SymbolTest.cpp         |  1 -
 alib2str/src/alphabet/string/BarSymbol.cpp         |  3 +--
 alib2str/src/alphabet/string/BlankSymbol.cpp       |  3 +--
 .../src/alphabet/string/BottomOfTheStackSymbol.cpp |  3 +--
 alib2str/src/alphabet/string/EndSymbol.cpp         |  3 +--
 alib2str/src/alphabet/string/InitialSymbol.cpp     |  3 +--
 .../alphabet/string/NonlinearVariableSymbol.cpp    |  3 +--
 alib2str/src/alphabet/string/RankedSymbol.cpp      |  6 ++----
 alib2str/src/alphabet/string/StartSymbol.cpp       |  3 +--
 .../src/alphabet/string/VariablesBarSymbol.cpp     |  3 +--
 alib2str/src/alphabet/string/WildcardSymbol.cpp    |  3 +--
 31 files changed, 23 insertions(+), 97 deletions(-)

diff --git a/alib2data/src/alphabet/BarSymbol.h b/alib2data/src/alphabet/BarSymbol.h
index 34281d18e8..54e225fd50 100644
--- a/alib2data/src/alphabet/BarSymbol.h
+++ b/alib2data/src/alphabet/BarSymbol.h
@@ -114,11 +114,6 @@ inline BarSymbol BarSymbol::instance < BarSymbol > ( ) {
 	return BarSymbol ( );
 }
 
-template < >
-inline Symbol BarSymbol::instance < Symbol > ( ) {
-	return Symbol ( BarSymbol ( ) );
-}
-
 template < >
 inline object::Object BarSymbol::instance < object::Object > ( ) {
 	return object::Object ( BarSymbol ( ) );
diff --git a/alib2data/src/alphabet/BlankSymbol.h b/alib2data/src/alphabet/BlankSymbol.h
index 7f3010f9f3..b9f401392c 100644
--- a/alib2data/src/alphabet/BlankSymbol.h
+++ b/alib2data/src/alphabet/BlankSymbol.h
@@ -119,11 +119,6 @@ inline BlankSymbol BlankSymbol::instance < BlankSymbol > ( ) {
 	return BlankSymbol ( );
 }
 
-template < >
-inline Symbol BlankSymbol::instance < Symbol > ( ) {
-	return Symbol ( BlankSymbol ( ) );
-}
-
 template < >
 inline common::ranked_symbol < > BlankSymbol::instance < common::ranked_symbol < > > ( ) {
 	return common::ranked_symbol < > ( BlankSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
diff --git a/alib2data/src/alphabet/BottomOfTheStackSymbol.h b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
index ca6ee0b923..2f2f47a38f 100644
--- a/alib2data/src/alphabet/BottomOfTheStackSymbol.h
+++ b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
@@ -119,11 +119,6 @@ inline BottomOfTheStackSymbol BottomOfTheStackSymbol::instance < BottomOfTheStac
 	return BottomOfTheStackSymbol ( );
 }
 
-template < >
-inline Symbol BottomOfTheStackSymbol::instance < Symbol > ( ) {
-	return Symbol ( BottomOfTheStackSymbol ( ) );
-}
-
 template < >
 inline common::ranked_symbol < > BottomOfTheStackSymbol::instance < common::ranked_symbol < > > ( ) {
 	return common::ranked_symbol < > ( BottomOfTheStackSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
diff --git a/alib2data/src/alphabet/EndSymbol.h b/alib2data/src/alphabet/EndSymbol.h
index 1868b652bb..156bb883a7 100644
--- a/alib2data/src/alphabet/EndSymbol.h
+++ b/alib2data/src/alphabet/EndSymbol.h
@@ -119,11 +119,6 @@ inline EndSymbol EndSymbol::instance < EndSymbol > ( ) {
 	return EndSymbol ( );
 }
 
-template < >
-inline Symbol EndSymbol::instance < Symbol > ( ) {
-	return Symbol ( EndSymbol ( ) );
-}
-
 template < >
 inline common::ranked_symbol < > EndSymbol::instance < common::ranked_symbol < > > ( ) {
 	return common::ranked_symbol < > ( EndSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
diff --git a/alib2data/src/alphabet/InitialSymbol.h b/alib2data/src/alphabet/InitialSymbol.h
index 5e39a4b483..36243576f9 100644
--- a/alib2data/src/alphabet/InitialSymbol.h
+++ b/alib2data/src/alphabet/InitialSymbol.h
@@ -119,11 +119,6 @@ inline InitialSymbol InitialSymbol::instance < InitialSymbol > ( ) {
 	return InitialSymbol ( );
 }
 
-template < >
-inline Symbol InitialSymbol::instance < Symbol > ( ) {
-	return Symbol ( InitialSymbol ( ) );
-}
-
 template < >
 inline common::ranked_symbol < > InitialSymbol::instance < common::ranked_symbol < > > ( ) {
 	return common::ranked_symbol < > ( InitialSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
diff --git a/alib2data/src/alphabet/NonlinearVariableSymbol.h b/alib2data/src/alphabet/NonlinearVariableSymbol.h
index 38e975d14f..b9986b990a 100644
--- a/alib2data/src/alphabet/NonlinearVariableSymbol.h
+++ b/alib2data/src/alphabet/NonlinearVariableSymbol.h
@@ -24,7 +24,7 @@
 #ifndef NONLINEAR_VARIABLE_SYMBOL_H_
 #define NONLINEAR_VARIABLE_SYMBOL_H_
 
-#include "Symbol.h"
+#include "SymbolBase.h"
 
 #include <core/normalize.hpp>
 #include <alphabet/common/SymbolNormalize.h>
diff --git a/alib2data/src/alphabet/StartSymbol.h b/alib2data/src/alphabet/StartSymbol.h
index 4123566092..1fad3b3fec 100644
--- a/alib2data/src/alphabet/StartSymbol.h
+++ b/alib2data/src/alphabet/StartSymbol.h
@@ -119,11 +119,6 @@ inline StartSymbol StartSymbol::instance < StartSymbol > ( ) {
 	return StartSymbol ( );
 }
 
-template < >
-inline Symbol StartSymbol::instance < Symbol > ( ) {
-	return Symbol ( StartSymbol ( ) );
-}
-
 template < >
 inline common::ranked_symbol < > StartSymbol::instance < common::ranked_symbol < > > ( ) {
 	return common::ranked_symbol < > ( StartSymbol::instance < DefaultSymbolType > ( ), DefaultRankType ( 0 ) );
diff --git a/alib2data/src/alphabet/Symbol.h b/alib2data/src/alphabet/Symbol.h
index 68cfff4d42..04cf5112a0 100644
--- a/alib2data/src/alphabet/Symbol.h
+++ b/alib2data/src/alphabet/Symbol.h
@@ -8,21 +8,9 @@
 #ifndef SYMBOL_H_
 #define SYMBOL_H_
 
-#include <base/WrapperBase.hpp>
-#include "SymbolBase.h"
-
 namespace alphabet {
 
-/**
- * \brief Wrapper around any symbol type.
- */
-class Symbol : public base::WrapperBase < SymbolBase > {
-	/**
-	 * Inherite constructors of base::WrapperBase < SymbolBase >
-	 */
-	using base::WrapperBase < SymbolBase >::WrapperBase;
-
-};
+class Symbol;
 
 } /* namespace alphabet */
 
diff --git a/alib2data/src/alphabet/VariablesBarSymbol.h b/alib2data/src/alphabet/VariablesBarSymbol.h
index 869347650a..8397440f2c 100644
--- a/alib2data/src/alphabet/VariablesBarSymbol.h
+++ b/alib2data/src/alphabet/VariablesBarSymbol.h
@@ -119,11 +119,6 @@ inline VariablesBarSymbol VariablesBarSymbol::instance < VariablesBarSymbol > (
 	return VariablesBarSymbol ( );
 }
 
-template < >
-inline Symbol VariablesBarSymbol::instance < Symbol > ( ) {
-	return Symbol ( VariablesBarSymbol ( ) );
-}
-
 // TODO make partially specialised when needed by classes or variables, functions can be partially specialsed
 template < >
 inline common::ranked_symbol < > VariablesBarSymbol::instance < common::ranked_symbol < > > ( ) {
diff --git a/alib2data/src/alphabet/WildcardSymbol.h b/alib2data/src/alphabet/WildcardSymbol.h
index 61cbdc31e6..c16d9662f2 100644
--- a/alib2data/src/alphabet/WildcardSymbol.h
+++ b/alib2data/src/alphabet/WildcardSymbol.h
@@ -119,11 +119,6 @@ inline WildcardSymbol WildcardSymbol::instance < WildcardSymbol > ( ) {
 	return WildcardSymbol ( );
 }
 
-template < >
-inline Symbol WildcardSymbol::instance < Symbol > ( ) {
-	return Symbol ( WildcardSymbol ( ) );
-}
-
 // TODO make partially specialised when needed by classes or variables, functions can't be partially specialsed
 template < >
 inline common::ranked_symbol < > WildcardSymbol::instance < common::ranked_symbol < > > ( ) {
diff --git a/alib2data/src/alphabet/xml/BarSymbol.cpp b/alib2data/src/alphabet/xml/BarSymbol.cpp
index dee23f3757..f0a193022c 100644
--- a/alib2data/src/alphabet/xml/BarSymbol.cpp
+++ b/alib2data/src/alphabet/xml/BarSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::BarSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::BarSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::BarSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BarSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BarSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/BlankSymbol.cpp b/alib2data/src/alphabet/xml/BlankSymbol.cpp
index 404589c456..f4096203b7 100644
--- a/alib2data/src/alphabet/xml/BlankSymbol.cpp
+++ b/alib2data/src/alphabet/xml/BlankSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::BlankSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::BlankSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::BlankSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BlankSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BlankSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/BottomOfTheStackSymbol.cpp b/alib2data/src/alphabet/xml/BottomOfTheStackSymbol.cpp
index b98becdcd4..20e4bf1892 100644
--- a/alib2data/src/alphabet/xml/BottomOfTheStackSymbol.cpp
+++ b/alib2data/src/alphabet/xml/BottomOfTheStackSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::BottomOfTheStackSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::BottomOfTheStackSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::BottomOfTheStackSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BottomOfTheStackSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::BottomOfTheStackSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/EndSymbol.cpp b/alib2data/src/alphabet/xml/EndSymbol.cpp
index 095f7d4cd8..2a199130f4 100644
--- a/alib2data/src/alphabet/xml/EndSymbol.cpp
+++ b/alib2data/src/alphabet/xml/EndSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::EndSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::EndSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::EndSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::EndSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::EndSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/InitialSymbol.cpp b/alib2data/src/alphabet/xml/InitialSymbol.cpp
index 27b94592b2..ce9952f4c9 100644
--- a/alib2data/src/alphabet/xml/InitialSymbol.cpp
+++ b/alib2data/src/alphabet/xml/InitialSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::InitialSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::InitialSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::InitialSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::InitialSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::InitialSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/NonlinearVariableSymbol.cpp b/alib2data/src/alphabet/xml/NonlinearVariableSymbol.cpp
index d8acfb2286..406abc43ce 100644
--- a/alib2data/src/alphabet/xml/NonlinearVariableSymbol.cpp
+++ b/alib2data/src/alphabet/xml/NonlinearVariableSymbol.cpp
@@ -16,7 +16,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::NonlinearVariableSymbol < > > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::NonlinearVariableSymbol < > > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::NonlinearVariableSymbol < > > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::NonlinearVariableSymbol < > > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::NonlinearVariableSymbol < > > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/RankedSymbol.cpp b/alib2data/src/alphabet/xml/RankedSymbol.cpp
index f1de90e160..83f4d739af 100644
--- a/alib2data/src/alphabet/xml/RankedSymbol.cpp
+++ b/alib2data/src/alphabet/xml/RankedSymbol.cpp
@@ -16,7 +16,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::RankedSymbol < > > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::RankedSymbol < > > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::RankedSymbol < > > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::RankedSymbol < > > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::RankedSymbol < > > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/StartSymbol.cpp b/alib2data/src/alphabet/xml/StartSymbol.cpp
index d17c2ecf53..a3383e810a 100644
--- a/alib2data/src/alphabet/xml/StartSymbol.cpp
+++ b/alib2data/src/alphabet/xml/StartSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::StartSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::StartSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::StartSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::StartSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::StartSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/VariablesBarSymbol.cpp b/alib2data/src/alphabet/xml/VariablesBarSymbol.cpp
index 65bf0b8b35..13f7a0a001 100644
--- a/alib2data/src/alphabet/xml/VariablesBarSymbol.cpp
+++ b/alib2data/src/alphabet/xml/VariablesBarSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::VariablesBarSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::VariablesBarSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::VariablesBarSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::VariablesBarSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::VariablesBarSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/src/alphabet/xml/WildcardSymbol.cpp b/alib2data/src/alphabet/xml/WildcardSymbol.cpp
index bb3b125502..e459cfe857 100644
--- a/alib2data/src/alphabet/xml/WildcardSymbol.cpp
+++ b/alib2data/src/alphabet/xml/WildcardSymbol.cpp
@@ -41,7 +41,6 @@ namespace {
 static auto xmlWrite = registration::XmlWriterRegister < alphabet::WildcardSymbol > ( );
 static auto xmlRead = registration::XmlReaderRegister < alphabet::WildcardSymbol > ( );
 
-static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < alphabet::Symbol, alphabet::WildcardSymbol > ( );
-static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, alphabet::WildcardSymbol > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, alphabet::WildcardSymbol > ( );
 
 } /* namespace */
diff --git a/alib2data/test-src/alphabet/SymbolTest.cpp b/alib2data/test-src/alphabet/SymbolTest.cpp
index 35058cfc15..83bae90ee2 100644
--- a/alib2data/test-src/alphabet/SymbolTest.cpp
+++ b/alib2data/test-src/alphabet/SymbolTest.cpp
@@ -56,7 +56,6 @@ void SymbolTest::testDefaultValues ( ) {
 	std::cout << alphabet::BarSymbol::instance < std::string > ( ) << std::endl;
 	CPPUNIT_ASSERT ( alphabet::BarSymbol::instance < std::string > ( ) == "|");
 	CPPUNIT_ASSERT ( alphabet::BarSymbol::instance < alphabet::BarSymbol > ( ) == alphabet::BarSymbol ( ) );
-	CPPUNIT_ASSERT ( alphabet::BarSymbol::instance < alphabet::Symbol > ( ) == alphabet::Symbol ( alphabet::BarSymbol ( ) ) );
 	CPPUNIT_ASSERT ( alphabet::BarSymbol::instance < object::Object > ( ) == object::Object ( alphabet::BarSymbol ( ) ) );
 
 }
diff --git a/alib2str/src/alphabet/string/BarSymbol.cpp b/alib2str/src/alphabet/string/BarSymbol.cpp
index 40f0f254d0..3c81f640ea 100644
--- a/alib2str/src/alphabet/string/BarSymbol.cpp
+++ b/alib2str/src/alphabet/string/BarSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::BarSymbol >::compose ( std::ostream & output, const a
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::BarSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::BarSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::BarSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/BlankSymbol.cpp b/alib2str/src/alphabet/string/BlankSymbol.cpp
index 5a2207656a..37865be173 100644
--- a/alib2str/src/alphabet/string/BlankSymbol.cpp
+++ b/alib2str/src/alphabet/string/BlankSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::BlankSymbol >::compose ( std::ostream & output, const
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::BlankSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::BlankSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::BlankSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/BottomOfTheStackSymbol.cpp b/alib2str/src/alphabet/string/BottomOfTheStackSymbol.cpp
index d34964ff66..a6e50765b6 100644
--- a/alib2str/src/alphabet/string/BottomOfTheStackSymbol.cpp
+++ b/alib2str/src/alphabet/string/BottomOfTheStackSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::BottomOfTheStackSymbol >::compose ( std::ostream & ou
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::BottomOfTheStackSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::BottomOfTheStackSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::BottomOfTheStackSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/EndSymbol.cpp b/alib2str/src/alphabet/string/EndSymbol.cpp
index 18f6e7daa4..2020056fb2 100644
--- a/alib2str/src/alphabet/string/EndSymbol.cpp
+++ b/alib2str/src/alphabet/string/EndSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::EndSymbol >::compose ( std::ostream & output, const a
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::EndSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::EndSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::EndSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/InitialSymbol.cpp b/alib2str/src/alphabet/string/InitialSymbol.cpp
index d26a7d1849..149cf18a36 100644
--- a/alib2str/src/alphabet/string/InitialSymbol.cpp
+++ b/alib2str/src/alphabet/string/InitialSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::InitialSymbol >::compose ( std::ostream & output, con
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::InitialSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::InitialSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::InitialSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/NonlinearVariableSymbol.cpp b/alib2str/src/alphabet/string/NonlinearVariableSymbol.cpp
index c325223bc5..73ebd391ca 100644
--- a/alib2str/src/alphabet/string/NonlinearVariableSymbol.cpp
+++ b/alib2str/src/alphabet/string/NonlinearVariableSymbol.cpp
@@ -13,7 +13,6 @@
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::NonlinearVariableSymbol < > > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::NonlinearVariableSymbol < > > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::NonlinearVariableSymbol < > > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/RankedSymbol.cpp b/alib2str/src/alphabet/string/RankedSymbol.cpp
index 7a7bbc36c7..f3f238cd91 100644
--- a/alib2str/src/alphabet/string/RankedSymbol.cpp
+++ b/alib2str/src/alphabet/string/RankedSymbol.cpp
@@ -14,9 +14,7 @@
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::RankedSymbol < > > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::RankedSymbol < > > ( );
-
-static auto stringWrite3 = registration::StringWriterRegister < object::Object, object::AnyObject < common::ranked_symbol < > > > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::RankedSymbol < > > ( );
+static auto stringWrite2 = registration::StringWriterRegister < object::Object, object::AnyObject < common::ranked_symbol < > > > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/StartSymbol.cpp b/alib2str/src/alphabet/string/StartSymbol.cpp
index 78ce3c244e..caa1b0dd2d 100644
--- a/alib2str/src/alphabet/string/StartSymbol.cpp
+++ b/alib2str/src/alphabet/string/StartSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::StartSymbol >::compose ( std::ostream & output, const
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::StartSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::StartSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::StartSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/VariablesBarSymbol.cpp b/alib2str/src/alphabet/string/VariablesBarSymbol.cpp
index 6f266964c1..2b183cdf8c 100644
--- a/alib2str/src/alphabet/string/VariablesBarSymbol.cpp
+++ b/alib2str/src/alphabet/string/VariablesBarSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::VariablesBarSymbol >::compose ( std::ostream & output
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::VariablesBarSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::VariablesBarSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::VariablesBarSymbol > ( );
 
 } /* namespace */
diff --git a/alib2str/src/alphabet/string/WildcardSymbol.cpp b/alib2str/src/alphabet/string/WildcardSymbol.cpp
index 3cfcc4a26a..6097b44bec 100644
--- a/alib2str/src/alphabet/string/WildcardSymbol.cpp
+++ b/alib2str/src/alphabet/string/WildcardSymbol.cpp
@@ -30,7 +30,6 @@ void stringApi < alphabet::WildcardSymbol >::compose ( std::ostream & output, co
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < alphabet::Symbol, alphabet::WildcardSymbol > ( );
-static auto stringWrite2 = registration::StringWriterRegister < object::Object, alphabet::WildcardSymbol > ( );
+static auto stringWrite = registration::StringWriterRegister < object::Object, alphabet::WildcardSymbol > ( );
 
 } /* namespace */
-- 
GitLab