diff --git a/aderivation2/src/aderivation.cpp b/aderivation2/src/aderivation.cpp
index 4d10a18d796ce75c34c9c2d4d9773be6e2400ea6..e3dce5733e07862e5b4e3104a7054d2977ee9abf 100644
--- a/aderivation2/src/aderivation.cpp
+++ b/aderivation2/src/aderivation.cpp
@@ -28,7 +28,7 @@ int main(int argc, char** argv)
             regexp::RegExp regexp = alib::DataFactory::fromFile<regexp::RegExp>(argv[1]);
             string::LinearString* string = static_cast<string::LinearString*>(std::move(alib::DataFactory::fromFile<string::LinearString>(argv[2])).plunder());
 
-            RegExpDerivation derive;
+            regexp::RegExpDerivation derive;
             alib::DataFactory::toStdout(derive.derivation(regexp, *string));
 
             return 0;
diff --git a/aintegral2/src/aintegral.cpp b/aintegral2/src/aintegral.cpp
index 5109c6cff7b82dd8e622004926617984ad43a575..5966b63247635d9bc311475349b550ebd6f5eb1e 100644
--- a/aintegral2/src/aintegral.cpp
+++ b/aintegral2/src/aintegral.cpp
@@ -28,7 +28,7 @@ int main(int argc, char** argv)
             regexp::RegExp regexp = alib::DataFactory::fromFile<regexp::RegExp>(argv[1]);
             string::LinearString* string = static_cast<string::LinearString*>(std::move(alib::DataFactory::fromFile<string::LinearString>(argv[2])).plunder());
 
-            RegExpIntegral i;
+            regexp::RegExpIntegral i;
             alib::DataFactory::toStdout(i.integral(regexp, *string));
 
             return 0;
diff --git a/alib2algo/src/regexp/RegExpDerivation.cpp b/alib2algo/src/regexp/RegExpDerivation.cpp
index c882371bee1caf42d14627a6fb7e76500b1715c1..819a6f9055731bcf85a13e089d4d66cbcecb07f2 100644
--- a/alib2algo/src/regexp/RegExpDerivation.cpp
+++ b/alib2algo/src/regexp/RegExpDerivation.cpp
@@ -7,6 +7,9 @@
 
 #include "RegExpDerivation.h"
 
+namespace regexp
+{
+
 RegExpDerivation::RegExpDerivation(){}
 RegExpDerivation::~RegExpDerivation(){}
 
@@ -97,13 +100,13 @@ void RegExpDerivation::Visit(void* userData, const regexp::FormalRegExpSymbol& s
 }
 
 
-void RegExpDerivation::Visit(void* userData, const regexp::FormalRegExpEpsilon& epsilon)
+void RegExpDerivation::Visit(void* userData, const regexp::FormalRegExpEpsilon&)
 {
     std::pair<alphabet::Symbol, regexp::FormalRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::FormalRegExpElement*>*) userData);
     out.second = new regexp::FormalRegExpEmpty();
 }
 
-void RegExpDerivation::Visit(void* userData, const regexp::FormalRegExpEmpty& empty)
+void RegExpDerivation::Visit(void* userData, const regexp::FormalRegExpEmpty&)
 {
     std::pair<alphabet::Symbol, regexp::FormalRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::FormalRegExpElement*>*) userData);
     out.second = new regexp::FormalRegExpEmpty();
@@ -196,14 +199,16 @@ void RegExpDerivation::Visit(void* userData, const regexp::UnboundedRegExpSymbol
         out.second = new regexp::UnboundedRegExpEmpty();
 }
 
-void RegExpDerivation::Visit(void* userData, const regexp::UnboundedRegExpEpsilon& epsilon)
+void RegExpDerivation::Visit(void* userData, const regexp::UnboundedRegExpEpsilon&)
 {
     std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*>*) userData);
     out.second = new regexp::UnboundedRegExpEmpty();
 }
 
-void RegExpDerivation::Visit(void* userData, const regexp::UnboundedRegExpEmpty& empty)
+void RegExpDerivation::Visit(void* userData, const regexp::UnboundedRegExpEmpty&)
 {
     std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*>*) userData);
     out.second = new regexp::UnboundedRegExpEmpty();
 }
+
+} /* namespace regexp */
diff --git a/alib2algo/src/regexp/RegExpDerivation.h b/alib2algo/src/regexp/RegExpDerivation.h
index e47e80b22b39484e934f3a16aaf6af092dcf1213..6c34809732c00175b7b2fb51189ad04cd0469397 100644
--- a/alib2algo/src/regexp/RegExpDerivation.h
+++ b/alib2algo/src/regexp/RegExpDerivation.h
@@ -15,6 +15,9 @@
 #include <string/LinearString.h>
 #include <string/StringBase.h>
 
+namespace regexp
+{
+
 /**
  * Calculates derivation of regular expression.
  *
@@ -48,4 +51,6 @@ private:
     void Visit(void*, const regexp::FormalRegExp& empty);
 };
 
+} /* namespace regexp */
+
 #endif /* REGEXPDERIVATION_H_ */
diff --git a/alib2algo/src/regexp/RegExpIntegral.cpp b/alib2algo/src/regexp/RegExpIntegral.cpp
index dcc9f4f5d7cacd84b7ccebf473dd9ee61cf01e31..a6ad15a7cbb835890727349a827ab2f9a1ae0bc8 100644
--- a/alib2algo/src/regexp/RegExpIntegral.cpp
+++ b/alib2algo/src/regexp/RegExpIntegral.cpp
@@ -7,6 +7,9 @@
 
 #include "RegExpIntegral.h"
 
+namespace regexp
+{
+
 RegExpIntegral::RegExpIntegral(){}
 RegExpIntegral::~RegExpIntegral(){}
 
@@ -95,14 +98,14 @@ void RegExpIntegral::Visit(void* userData, const regexp::FormalRegExpSymbol& sym
 }
 
 
-void RegExpIntegral::Visit(void* userData, const regexp::FormalRegExpEpsilon& epsilon)
+void RegExpIntegral::Visit(void* userData, const regexp::FormalRegExpEpsilon&)
 {
     std::pair<alphabet::Symbol, regexp::FormalRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::FormalRegExpElement*>*) userData);
     regexp::FormalRegExpSymbol* symb = new regexp::FormalRegExpSymbol(out.first);
     out.second = symb;
 }
 
-void RegExpIntegral::Visit(void* userData, const regexp::FormalRegExpEmpty& empty)
+void RegExpIntegral::Visit(void* userData, const regexp::FormalRegExpEmpty&)
 {
     std::pair<alphabet::Symbol, regexp::FormalRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::FormalRegExpElement*>*) userData);
     out.second = new regexp::FormalRegExpEmpty();
@@ -192,7 +195,7 @@ void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpSymbol&
     out.second = ret;
 }
 
-void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpEpsilon& epsilon)
+void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpEpsilon&)
 {
     std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*>*) userData);
 
@@ -200,8 +203,10 @@ void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpEpsilon&
     out.second = symb;
 }
 
-void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpEmpty& empty)
+void RegExpIntegral::Visit(void* userData, const regexp::UnboundedRegExpEmpty&)
 {
     std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*> &out = *((std::pair<alphabet::Symbol, regexp::UnboundedRegExpElement*>*) userData);
     out.second = new regexp::UnboundedRegExpEmpty();
 }
+
+} /* namespace regexp */
diff --git a/alib2algo/src/regexp/RegExpIntegral.h b/alib2algo/src/regexp/RegExpIntegral.h
index 87c5f79964c8c138651e80bee3dc3e0764f86c89..a8093c935f0786042bd1794669d162d394af6ebb 100644
--- a/alib2algo/src/regexp/RegExpIntegral.h
+++ b/alib2algo/src/regexp/RegExpIntegral.h
@@ -15,6 +15,9 @@
 #include <string/LinearString.h>
 #include <string/StringBase.h>
 
+namespace regexp
+{
+
 /**
  * Calculates integral of regular expression as defined in Melichar 2.93 (chapt. 2.4.4)
  */
@@ -44,4 +47,6 @@ private:
     void Visit(void*, const regexp::FormalRegExp& empty);
 };
 
+} /* namespace regexp */
+
 #endif /* REGEXPINTEGRAL_H_ */
diff --git a/alib2algo/test-src/regexp/RegExpDerivationTest.cpp b/alib2algo/test-src/regexp/RegExpDerivationTest.cpp
index 7554f11c64bd5676691b6291ccf033863d277c23..cab3743a202371b31a429b810188b1f109f4170a 100644
--- a/alib2algo/test-src/regexp/RegExpDerivationTest.cpp
+++ b/alib2algo/test-src/regexp/RegExpDerivationTest.cpp
@@ -42,7 +42,7 @@ void RegExpDerivationTest::ExecSingleTest(std::string regexp_str, std::string st
     string::StringFromStringParser string_parser(string_ss);
     string::String string = string_parser.parseValue();
 
-    RegExpDerivation d;
+    regexp::RegExpDerivation d;
     regexp::RegExpToStringComposer regexp_composer;
 
     // TODO
diff --git a/alib2algo/test-src/regexp/RegExpIntegralTest.cpp b/alib2algo/test-src/regexp/RegExpIntegralTest.cpp
index 8264659718f3a232d6e5551a15621f697e14265f..fa92bed0de55b13b21347a9361888c5a8a65896c 100644
--- a/alib2algo/test-src/regexp/RegExpIntegralTest.cpp
+++ b/alib2algo/test-src/regexp/RegExpIntegralTest.cpp
@@ -34,7 +34,7 @@ void RegExpIntegralTest::ExecSingleTest(std::string regexp_str, std::string stri
     string::StringFromStringParser string_parser(string_ss);
     string::String string = string_parser.parseValue();
 
-    RegExpIntegral i;
+    regexp::RegExpIntegral i;
     regexp::RegExpToStringComposer regexp_composer;
 
     // TODO