diff --git a/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp b/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp
index 1ba72638c47f8f2fad729d7741931999e77cb66a..70487678f0b4b582696c246bc0034ffb54f8841e 100644
--- a/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp
+++ b/alib2algo/src/automaton/generate/NumberOfSymbolsAutomaton.cpp
@@ -7,8 +7,12 @@
 
 namespace automaton::generate {
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 automaton::NFA < std::string, unsigned > NumberOfSymbolsAutomaton::generateNFA ( size_t modulo, size_t alphabetSize, bool randomizedAlphabet, char symbol, size_t final_modulo ) {
-	if ( alphabetSize > 26 )
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big alphabet.");
 
 	if ( alphabetSize < 1 )
diff --git a/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp b/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp
index 385ec237505e13e1819854d608e507a6e891fbdf..38f56b280b2c44a8b2c969b1cd30e630a0b6704d 100644
--- a/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp
+++ b/alib2algo/src/automaton/generate/RandomTreeAutomatonFactory.cpp
@@ -3,8 +3,12 @@
 
 namespace automaton::generate {
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 automaton::NFTA < std::string, unsigned > RandomTreeAutomatonFactory::generateNFTA( size_t statesCount, size_t alphabetSize, size_t maxRank, bool randomizedAlphabet, double density ) {
-	if(alphabetSize > 26)
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big alphabet.");
 
 	if(alphabetSize < 1)
diff --git a/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp b/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp
index a8b0bb0a4b514a312fa1801e42d3cd8f61629b87..a379e509b79e6d6583d5cc26ce776695188c9892 100644
--- a/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp
+++ b/alib2algo/src/grammar/generate/RandomGrammarFactory.cpp
@@ -3,8 +3,12 @@
 
 namespace grammar::generate {
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 grammar::CFG < std::string, std::string > grammar::generate::RandomGrammarFactory::generateCFG ( size_t nonterminalsCount, size_t terminalsCount, bool randomizedAlphabet, double density ) {
-	if(terminalsCount > 26)
+	if ( terminalsCount > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big terminals count.");
 
 	ext::deque < std::string > terminals;
@@ -16,7 +20,7 @@ grammar::CFG < std::string, std::string > grammar::generate::RandomGrammarFactor
 
 	terminals.resize ( terminalsCount );
 
-	if(nonterminalsCount > 26)
+	if ( nonterminalsCount > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big nonterminals count.");
 
 	ext::deque < std::string > nonterminals;
diff --git a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
index eaed41e1519cd03586a6817ed18b4a4bbc5698b3..5f27ce8da5944e0da2caf2cdaff02c15473e22c9 100644
--- a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
+++ b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
@@ -9,8 +9,12 @@
 
 namespace regexp::generate {
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 regexp::UnboundedRegExp < std::string > regexp::generate::RandomRegExpFactory::generateUnboundedRegExp( size_t leafNodes, size_t height, size_t alphabetSize, bool randomizedAlphabet ) {
-	if ( alphabetSize > 26 )
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException( "Too big alphabet." );
 
 	if ( alphabetSize <= 0 )
@@ -31,7 +35,7 @@ regexp::UnboundedRegExp < std::string > regexp::generate::RandomRegExpFactory::g
 template < class SymbolType >
 regexp::UnboundedRegExp < SymbolType > regexp::generate::RandomRegExpFactory::generateUnboundedRegExp( size_t leafNodes, size_t height, ext::set < SymbolType > alphabet) {
 
-	if( alphabet.size() > 26)
+	if ( alphabet.size() > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big alphabet.");
 
 	if( alphabet.empty ( ) )
diff --git a/alib2algo/src/string/generate/RandomStringFactory.cpp b/alib2algo/src/string/generate/RandomStringFactory.cpp
index 2b186580e2257a65488d06a069c10e861f770007..de8c8da0c908538d3a8f6487842a98e17edba086 100644
--- a/alib2algo/src/string/generate/RandomStringFactory.cpp
+++ b/alib2algo/src/string/generate/RandomStringFactory.cpp
@@ -20,8 +20,12 @@ string::LinearString < std::string > string::generate::RandomStringFactory::gene
 	return string::LinearString < std::string > ( elems );
 }
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 string::LinearString < std::string > string::generate::RandomStringFactory::generateLinearString ( size_t size, size_t alphabetSize, bool randomizedAlphabet ) {
-	if ( alphabetSize > 26 )
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException ( "Too big alphabet." );
 
 	if ( alphabetSize <= 0 )
diff --git a/alib2algo/src/tree/generate/RandomTreeFactory.cpp b/alib2algo/src/tree/generate/RandomTreeFactory.cpp
index d66de9d5e98a5886632fc8337c6238b161a8dcd0..7e377e6d75fa0403e48493e0c556fa139b0d52b8 100644
--- a/alib2algo/src/tree/generate/RandomTreeFactory.cpp
+++ b/alib2algo/src/tree/generate/RandomTreeFactory.cpp
@@ -249,10 +249,15 @@ struct Node {
 
 };
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 ext::vector < char > generateUnrankedAlphabet ( size_t maxAlphabetSize, bool randomizedAlphabet ) {
-	ext::vector < char > symbols ( 26 );
+	ext::vector < char > symbols ( ENGLISH_ALPHABET_SIZE );
 
-	for ( unsigned i = 0; i < 26; i++ ) symbols[i] = i + 'a';
+	for ( unsigned i = 0; i < ENGLISH_ALPHABET_SIZE; i ++ )
+		symbols [ i ] = i + 'a';
 
 	if ( randomizedAlphabet ) shuffle ( symbols.begin ( ), symbols.end ( ), ext::random_devices::semirandom );
 
diff --git a/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp b/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp
index 9f87bb2a53a9a4495ec4489a841bae50086bff50..717d81b12985693f5d1e3a6264f5188d79d09984 100644
--- a/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp
+++ b/alib2algo_experimental/src/automaton/RandomAutomatonFactory2.cpp
@@ -31,8 +31,12 @@ size_t RandomAutomatonFactory2::randomTargetState ( size_t statesMinimal, size_t
 	return -1;
 }
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 automaton::DFA < std::string, unsigned > RandomAutomatonFactory2::generateDFA( size_t statesMinimal, size_t statesDuplicates, size_t statesUnreachable, size_t statesUseless, size_t alphabetSize, bool randomizedAlphabet, double density ) {
-	if ( alphabetSize > 26 )
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big alphabet.");
 
 	ext::vector < std::string > symbols;
diff --git a/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp b/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp
index 9709adf92122f863992c4615c2620801190b95d6..8c5c9fa2f4bdfce56d55c34f7e3106db39600227 100644
--- a/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp
+++ b/alib2algo_experimental/src/automaton/RandomAutomatonFactory3.cpp
@@ -3,8 +3,12 @@
 
 namespace automaton::generate {
 
+namespace {
+	constexpr unsigned ENGLISH_ALPHABET_SIZE = 26;
+}
+
 automaton::MultiInitialStateNFA < std::string, unsigned > RandomAutomatonFactory3::generate ( size_t statesMinimal, size_t statesDuplicates, size_t statesUnreachable, size_t statesUseless, size_t initialStates, size_t finalStates, size_t alphabetSize, bool randomizedAlphabet, double density, bool deterministic ) {
-	if ( alphabetSize > 26 )
+	if ( alphabetSize > ENGLISH_ALPHABET_SIZE )
 		throw exception::CommonException("Too big alphabet.");
 
 	if ( initialStates > statesUseless + statesMinimal )