diff --git a/alib2algo/src/grammar/convert/ToRegExp.cpp b/alib2algo/src/grammar/convert/ToRegExp.cpp
index d5c837d54d57cf7ed09df605d9eae99e81fbd79b..b4c7e4a280cfae42db0333034f194c13e0e2d5fa 100644
--- a/alib2algo/src/grammar/convert/ToRegExp.cpp
+++ b/alib2algo/src/grammar/convert/ToRegExp.cpp
@@ -6,7 +6,6 @@
  */
 
 #include "ToRegExp.h"
-#include "ToRegExpAlgebraic.h"
 
 namespace grammar {
 
@@ -16,16 +15,7 @@ regexp::RegExp ToRegExp::convert(const grammar::Grammar& grammar) {
 	return dispatch(grammar.getData());
 }
 
-regexp::RegExp ToRegExp::convert(const grammar::RightRG < > & grammar) {
-	return regexp::RegExp(ToRegExpAlgebraic::convert(grammar));
-}
-
 auto ToRegExpRightRG = ToRegExp::RegistratorWrapper<regexp::RegExp, grammar::RightRG < > >(ToRegExp::convert);
-
-regexp::RegExp ToRegExp::convert(const grammar::LeftRG < > & grammar) {
-	return regexp::RegExp(ToRegExpAlgebraic::convert(grammar));
-}
-
 auto ToRegExpLeftRG = ToRegExp::RegistratorWrapper<regexp::RegExp, grammar::LeftRG < > >(ToRegExp::convert);
 
 } /* namespace convert */
diff --git a/alib2algo/src/grammar/convert/ToRegExp.h b/alib2algo/src/grammar/convert/ToRegExp.h
index 6e04769a8c44cae9b8d19ad8129657fa81a30569..8a8173c19f138887fbf7f3fef88d16374d7da5cc 100644
--- a/alib2algo/src/grammar/convert/ToRegExp.h
+++ b/alib2algo/src/grammar/convert/ToRegExp.h
@@ -16,6 +16,8 @@
 
 #include <regexp/RegExp.h>
 
+#include "ToRegExpAlgebraic.h"
+
 namespace grammar {
 
 namespace convert {
@@ -28,10 +30,22 @@ public:
 	 */
 	static regexp::RegExp convert(const grammar::Grammar& grammar);
 
-	static regexp::RegExp convert(const grammar::RightRG < > & grammar);
-	static regexp::RegExp convert(const grammar::LeftRG < > & grammar);
+	template < class SymbolType >
+	static regexp::RegExp convert(const grammar::RightRG < SymbolType > & grammar);
+	template < class SymbolType >
+	static regexp::RegExp convert(const grammar::LeftRG < SymbolType > & grammar);
 };
 
+template < class SymbolType >
+regexp::RegExp ToRegExp::convert(const grammar::RightRG < SymbolType > & grammar) {
+	return regexp::RegExp(ToRegExpAlgebraic::convert(grammar));
+}
+
+template < class SymbolType >
+regexp::RegExp ToRegExp::convert(const grammar::LeftRG < SymbolType > & grammar) {
+	return regexp::RegExp(ToRegExpAlgebraic::convert(grammar));
+}
+
 } /* namespace covert */
 
 } /* namespace grammar */