diff --git a/acompaction2/makefile b/acompaction2/makefile
index 905d096b31fd2139233d69a9e7e7141a3d21e927..ef2db13c41717e1a442128b7a541a0abdc81e77e 100644
--- a/acompaction2/makefile
+++ b/acompaction2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/acompare2/makefile b/acompare2/makefile
index d942de9eb3a05457a3d3aaf5a78a9b90f640a6cd..6f97cab9ec20e0fe5d8a3027eb427c583b0dcafe 100644
--- a/acompare2/makefile
+++ b/acompare2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aconversions2/makefile b/aconversions2/makefile
index b016913de0253e0351e5f17a99df0a2c2cd38d93..ab3599d993c98832b2ae226a170625532daa597a 100644
--- a/aconversions2/makefile
+++ b/aconversions2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aconvert2/makefile b/aconvert2/makefile
index 384654fbaa90264c81808e5531918a869e8cde40..6bc967d5d373b5de1d16ee51949f32b47a648a6e 100644
--- a/aconvert2/makefile
+++ b/aconvert2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aderivation2/makefile b/aderivation2/makefile
index cd060f294e2a736229ed027d5a4ebcc76b0acb78..93a5a95c938351a19a3ddae32e9464d082c31938 100644
--- a/aderivation2/makefile
+++ b/aderivation2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/adeterminize2/makefile b/adeterminize2/makefile
index a6ce3deae7cde0bc4aefd1c53b7841884f46d277..2705bda76487f85f620eb3fee70cc674aace963c 100644
--- a/adeterminize2/makefile
+++ b/adeterminize2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aecho2/makefile b/aecho2/makefile
index 971a9eeffb347b1e99bf5dabaf81478f8389ef84..023f2135be615fd74c6d3955cad9fac3ad096bec 100644
--- a/aecho2/makefile
+++ b/aecho2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aepsilon2/makefile b/aepsilon2/makefile
index 41892d8a9312febcf4910e5e98b8bf3e2e401b1f..fab1ad76004414fce40d5208242e195991773895 100644
--- a/aepsilon2/makefile
+++ b/aepsilon2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/agenerate2/makefile b/agenerate2/makefile
index 8545f57a9a27f5225b99bdcad00bff00f3c5f77b..1f6a2c8de45c56786b029e8cac1225b951312d26 100644
--- a/agenerate2/makefile
+++ b/agenerate2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aintegral2/makefile b/aintegral2/makefile
index 7ae00316ed9d869291f9fcb16d47cec16814f299..80ce44424a19a23cc2e279c33511f7fa2627c0f8 100644
--- a/aintegral2/makefile
+++ b/aintegral2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/alangop2/makefile b/alangop2/makefile
index 1e4036e680cc48c7e75cfb3686bd37c9f80a9628..fd80ed6a09827646e7e229e51b1cd7efdac77028 100644
--- a/alangop2/makefile
+++ b/alangop2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/alib2algo/makefile b/alib2algo/makefile
index 8b7f1304bae52ec7f64e2e4e9c2f711833e09da0..897b60a322fe2833ea888c0ee081ef45e67193ef 100644
--- a/alib2algo/makefile
+++ b/alib2algo/makefile
@@ -43,7 +43,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
@@ -95,7 +95,7 @@ test-obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../\$$(DEPTH)src/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../\$$(DEPTH)src/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/alib2algo/src/grammar/simplify/LeftRecursionRemover.cpp b/alib2algo/src/grammar/simplify/LeftRecursionRemover.cpp
index d4c760831b8e3c7426b8c6fe51753b86e4f95aa2..ca28199255ad6e36a527a3a1144c539d2082109b 100644
--- a/alib2algo/src/grammar/simplify/LeftRecursionRemover.cpp
+++ b/alib2algo/src/grammar/simplify/LeftRecursionRemover.cpp
@@ -158,8 +158,8 @@ grammar::RightRG LeftRecursionRemover::remove(const grammar::LeftRG& origGrammar
 	return convert::ToGrammarRightRG::convert(origGrammar);
 }
 
-grammar::RightLG LeftRecursionRemover::remove(const grammar::LeftLG& origGrammar) {
-	// TODO
+grammar::RightLG LeftRecursionRemover::remove(const grammar::LeftLG& /* origGrammar */) {
+	throw exception::AlibException("LeftRecursionRemover: Removing from LeftLG NYI"); // TODO
 }
 
 grammar::Grammar LeftRecursionRemover::remove(const grammar::Grammar& grammar) {
diff --git a/alib2algo/src/regexp/convert/ToAutomatonGlushkov.cpp b/alib2algo/src/regexp/convert/ToAutomatonGlushkov.cpp
index d74cc963c39038b70efb1e6e88841f8148a238ba..2112af4eaf4486c6e6b76c5edff07760e7fc236d 100644
--- a/alib2algo/src/regexp/convert/ToAutomatonGlushkov.cpp
+++ b/alib2algo/src/regexp/convert/ToAutomatonGlushkov.cpp
@@ -85,18 +85,15 @@ automaton::NFA ToAutomatonGlushkov::convert(const regexp::UnboundedRegExp& regex
 	return automaton;
 }
 
-automaton::NFA ToAutomatonGlushkov::convert(const regexp::FormalRegExp& regexp)
+automaton::NFA ToAutomatonGlushkov::convert(const regexp::FormalRegExp& /* regexp */)
 {
 	throw exception::AlibException("Glushkov: Converting FormalRegExp NYI"); // TODO
 }
 
 void ToAutomatonGlushkov::Visit(void* userData, const regexp::FormalRegExp& regexp) const
 {
-	/*
 	automaton::NFA* & out = *((automaton::NFA**) userData);
 	out = new automaton::NFA(this->convert(regexp));
-	*/
-	throw exception::AlibException("Glushkov: Converting FormalRegExp NYI"); // TODO
 }
 
 void ToAutomatonGlushkov::Visit(void* userData, const regexp::UnboundedRegExp& regexp) const
diff --git a/alib2algo/src/regexp/convert/ToGrammarRightRGGlushkov.cpp b/alib2algo/src/regexp/convert/ToGrammarRightRGGlushkov.cpp
index f2769c663397efa3445f51a0419520f78fa00d01..6e0d8397ee786c8f22d687051d17f756905d5625 100644
--- a/alib2algo/src/regexp/convert/ToGrammarRightRGGlushkov.cpp
+++ b/alib2algo/src/regexp/convert/ToGrammarRightRGGlushkov.cpp
@@ -96,17 +96,14 @@ grammar::RightRG ToGrammarRightRGGlushkov::convert(const regexp::UnboundedRegExp
 	return grammar;
 }
 
-grammar::RightRG ToGrammarRightRGGlushkov::convert(const regexp::FormalRegExp& regexp) {
+grammar::RightRG ToGrammarRightRGGlushkov::convert(const regexp::FormalRegExp& /* regexp */) {
 	throw exception::AlibException("Glushkov: Converting FormalRegExp NYI"); // TODO
 }
 
 void ToGrammarRightRGGlushkov::Visit(void* userData, const regexp::FormalRegExp& regexp) const
 {
-	/*
 	grammar::Grammar* & out = *((grammar::Grammar**) userData);
 	out = new grammar::Grammar(this->convert(regexp));
-	*/
-	throw exception::AlibException("Glushkov: Converting FormalRegExp NYI"); // TODO
 }
 
 void ToGrammarRightRGGlushkov::Visit(void* userData, const regexp::UnboundedRegExp& regexp) const
diff --git a/alib2algo/src/regexp/simplify/RegExpOptimizeFormalPart.cxx b/alib2algo/src/regexp/simplify/RegExpOptimizeFormalPart.cxx
index d2ac3dd6313390a3e61cefdff287af821574d653..015a7740aec9bc625053f7e112dc97105fff7f27 100644
--- a/alib2algo/src/regexp/simplify/RegExpOptimizeFormalPart.cxx
+++ b/alib2algo/src/regexp/simplify/RegExpOptimizeFormalPart.cxx
@@ -264,9 +264,9 @@ bool RegExpOptimize::A7( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::A8( FormalRegExpElement * & n ) const
+bool RegExpOptimize::A8( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -274,9 +274,9 @@ bool RegExpOptimize::A8( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::A9( FormalRegExpElement * & n ) const
+bool RegExpOptimize::A9( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -490,9 +490,9 @@ bool RegExpOptimize::V4( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::V5( FormalRegExpElement * & n ) const
+bool RegExpOptimize::V5( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -500,9 +500,9 @@ bool RegExpOptimize::V5( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::V6( FormalRegExpElement * & n ) const
+bool RegExpOptimize::V6( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -510,9 +510,9 @@ bool RegExpOptimize::V6( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::V8( FormalRegExpElement * & n ) const
+bool RegExpOptimize::V8( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -520,9 +520,9 @@ bool RegExpOptimize::V8( FormalRegExpElement * & n ) const
   * @param node FormalRegExpElement node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::V9( FormalRegExpElement * & n ) const
+bool RegExpOptimize::V9( FormalRegExpElement * & /* n */) const
 {
-	return false;
+	return false; //TODO
 }
 
 /**
diff --git a/alib2algo/src/regexp/simplify/RegExpOptimizeUnboundedPart.cxx b/alib2algo/src/regexp/simplify/RegExpOptimizeUnboundedPart.cxx
index 9d3faf3058028244f8f590e68ee93c2d9fe712b7..679e98d488f1c45b990e476f8e06cf513a7f3635 100644
--- a/alib2algo/src/regexp/simplify/RegExpOptimizeUnboundedPart.cxx
+++ b/alib2algo/src/regexp/simplify/RegExpOptimizeUnboundedPart.cxx
@@ -331,7 +331,7 @@ bool RegExpOptimize::A7( UnboundedRegExpConcatenation * const & node ) const
   * @param node UnboundedRegExpConcatenation node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::A8( UnboundedRegExpConcatenation * const & node ) const
+bool RegExpOptimize::A8( UnboundedRegExpConcatenation * const & /* node */) const
 {
 /*
 	bool optimized = false;
@@ -371,7 +371,7 @@ bool RegExpOptimize::A8( UnboundedRegExpConcatenation * const & node ) const
 
 	return optimized;
 */
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -379,7 +379,7 @@ bool RegExpOptimize::A8( UnboundedRegExpConcatenation * const & node ) const
   * @param node UnboundedRegExpConcatenation node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::A9( UnboundedRegExpConcatenation * const & node ) const
+bool RegExpOptimize::A9( UnboundedRegExpConcatenation * const & /* node */) const
 {
 /*
 	bool optimized = false;
@@ -422,7 +422,7 @@ bool RegExpOptimize::A9( UnboundedRegExpConcatenation * const & node ) const
 
 	return optimized;
 */
-	return false;
+	return false; //TODO
 }
 
 /**
@@ -537,7 +537,7 @@ bool RegExpOptimize::A11( UnboundedRegExpIteration * const & node ) const
   * @param node UnboundedRegExpIteration node
   * @return bool true if optimization applied else false
   */
-bool RegExpOptimize::V1( UnboundedRegExpIteration * const & node ) const
+bool RegExpOptimize::V1( UnboundedRegExpIteration * const &) const
 {
 	// implemented in optimize( UnboundedRegExpIteration )
 
diff --git a/alib2data/makefile b/alib2data/makefile
index 004ebccf8328639e55f158fc8d31fe09e41159fb..8113758af5be1e4b89bd8fe7e0e3e5799f9b5418 100644
--- a/alib2data/makefile
+++ b/alib2data/makefile
@@ -41,7 +41,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
@@ -93,7 +93,7 @@ test-obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/aminimize2/makefile b/aminimize2/makefile
index 8d7b2a11d995b2012415e52ef0102b5cec386ed3..20d39bb8fb34929bc11d21c9da2276be0e852679 100644
--- a/aminimize2/makefile
+++ b/aminimize2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/anormalize2/makefile b/anormalize2/makefile
index 29f7674774fefccee216ee272fc37b911e0cc012..0463f5b261960269a26b7b57e29ea694d5dcdfd1 100644
--- a/anormalize2/makefile
+++ b/anormalize2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/arand2/makefile b/arand2/makefile
index 6f63ca78b08b9c8ef3bb9bfbd946d2badcdbd88f..c2ee8ff06dc3eeb3202277fd7d6e6e5def72ba50 100644
--- a/arand2/makefile
+++ b/arand2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/arename2/makefile b/arename2/makefile
index 1d9c57e323dcf1a8091748aaa0daf1515448d979..a4147b5656cdbc179d05c9917e1af2f84d7e7bee 100644
--- a/arename2/makefile
+++ b/arename2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/areverse2/makefile b/areverse2/makefile
index 227a7c9fa3dfb8471f756087b4ceaa88c184ce3f..9b1c62ef689427c62d9cb4d94f8a1b9846bbb29a 100644
--- a/areverse2/makefile
+++ b/areverse2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/arun2/makefile b/arun2/makefile
index ea944d349794d40b7f35fffa32420ccb0746d072..7a7dec1526daad302fa3a406d5822fa8fc209495 100644
--- a/arun2/makefile
+++ b/arun2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/astat2/makefile b/astat2/makefile
index a0fef6a38c156cc2a688236829fea855bf2249d0..59f1e0c88217b58b0544aba9341a43e7569e3ac5 100644
--- a/astat2/makefile
+++ b/astat2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/astringology2/makefile b/astringology2/makefile
index 14937a05da57fc07fb6e3934be2ec62c1e435614..c78392f999ffeb412251400ceb48d0aa992802c0 100644
--- a/astringology2/makefile
+++ b/astringology2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/atrim2/makefile b/atrim2/makefile
index 8fab0df65088bda9b99de4272548f7515ba215b7..fbd951ca0444c63e077a49c25508bdd9b1da5ad0 100644
--- a/atrim2/makefile
+++ b/atrim2/makefile
@@ -36,7 +36,7 @@ obj%/makefile: makefile
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
+	CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\