From 14e21cff8fcabb25779c891448b6351812b2a833 Mon Sep 17 00:00:00 2001
From: ebensza <bence.janos.szabo@ericsson.com>
Date: Mon, 1 Aug 2016 12:46:31 +0200
Subject: [PATCH] implemented new code splitting mechanism (split to equal
 slices)

Change-Id: Ifd2fa1b9e2ce3a57f442a08a3ea692c434dced06
Signed-off-by: ebensza <bence.janos.szabo@ericsson.com>
---
 compiler2/AST.cc                              | 263 ++++++++++++-----
 compiler2/Code.cc                             |  31 ++
 compiler2/CodeGenHelper.cc                    | 275 +++++++++++++++++-
 compiler2/CodeGenHelper.hh                    |  15 +-
 compiler2/TypeCompat.cc                       |   9 +-
 compiler2/Type_codegen.cc                     |  52 +++-
 compiler2/asn1/AST_asn1.cc                    |   7 +-
 compiler2/compiler.1                          |   6 +-
 compiler2/main.cc                             |  12 +-
 compiler2/main.hh                             |   3 +-
 compiler2/makefile.c                          | 154 ++++++++--
 compiler2/ttcn3/AST_ttcn3.cc                  |   8 +-
 compiler2/ttcn3/Attributes.cc                 |  61 ++--
 compiler2/ttcn3/Attributes.hh                 |  13 +-
 compiler2/ttcn3/compiler.h                    |  16 +
 regression_test/ASN1/Test303/Makefile         |   6 +
 regression_test/ASN1/Test307/Makefile         |   6 +
 regression_test/ASN1/Test308/Makefile         |   6 +
 regression_test/ASN1/Test309/Makefile         |   6 +
 regression_test/ASN1/Test310/Makefile         |   6 +
 regression_test/ASN1/Test330/Makefile         |   6 +
 regression_test/ASN1/Test332/Makefile         |   6 +
 regression_test/ASN1/Test338/Makefile         |   6 +
 regression_test/ASN1/Test340/Makefile         |   6 +
 regression_test/ASN1/Test342/Makefile         |   6 +
 regression_test/ASN1/Test344/Makefile         |   6 +
 regression_test/ASN1/Test346/Makefile         |   6 +
 regression_test/ASN1/Test348/Makefile         |   6 +
 regression_test/ASN1/Test350/Makefile         |   6 +
 regression_test/ASN1/Test352/Makefile         |   6 +
 regression_test/ASN1/Test354/Makefile         |   6 +
 regression_test/ASN1/Test356/Makefile         |   6 +
 regression_test/ASN1/Test358/Makefile         |   6 +
 regression_test/ASN1/Test360/Makefile         |   6 +
 regression_test/ASN1/Test38/Makefile          |   6 +
 regression_test/ASN1/codeGeneration2/Makefile |   6 +
 regression_test/ASN1/enum1/Makefile           |   6 +
 regression_test/ASN1/enum2/Makefile           |   6 +
 regression_test/ASN1/hyphen/Makefile          |   6 +
 regression_test/ASN1/hyphen/hyphen            |   2 +-
 regression_test/ASN1/keyword/Makefile         |   6 +
 regression_test/ASN1/transformations/Makefile |   6 +
 regression_test/BER/Makefile                  |   6 +
 regression_test/BER_x682/Makefile             |   6 +
 regression_test/BER_x682_wa/Makefile          |   6 +
 regression_test/CRTR00015758/Makefile         |   8 +-
 regression_test/ERC/Makefile                  |  17 +-
 regression_test/HQ16404/Makefile              |   8 +-
 regression_test/Makefile.regression           |  11 +
 regression_test/RAW/Annex_E_variants/Makefile |   6 +
 regression_test/RAW/Examples/Makefile         |   6 +
 regression_test/RAW/HN25015/Makefile          |   8 +-
 regression_test/RAW/HQ26535/Makefile          |   8 +-
 regression_test/RAW/HQ49956/Makefile          |   8 +-
 regression_test/RAW/HS16977/Makefile          |   8 +-
 regression_test/RAW/ustr/Makefile             |   8 +-
 regression_test/XML/AbstractBlock/Makefile    |   8 +-
 regression_test/XML/EXER-whitepaper/Makefile  |   6 +
 regression_test/XML/HM60295/Makefile          |   6 +
 regression_test/XML/HN15589/Makefile          |   6 +
 regression_test/XML/HQ30408/Makefile          |   8 +-
 regression_test/XML/HR49727/Makefile          |   8 +-
 regression_test/XML/HU13380/Makefile          |   8 +-
 regression_test/XML/NegativeTest/Makefile     |   8 +-
 regression_test/XML/TTCNandXML/Makefile       |   6 +
 regression_test/XML/UseNilLong/Makefile       |   7 +-
 regression_test/XML/XER/Makefile              |   6 +
 regression_test/XML/XMLqualif/Makefile        |   6 +
 .../PIPEasp_CNL113334/test/Makefile           |   5 +
 regression_test/XML/XmlWorkflow/bin/prj2mk.pl |   3 +-
 .../XML/XmlWorkflow/bin2/prj2mk.pl            |   3 +-
 .../XML/xsdConverter/Makefile.converter       |   5 +
 .../acceptance_test/Fibonacci/Makefile        |   6 +
 .../acceptance_test/chinese/Makefile          |   6 +
 .../acceptance_test/comptest/Makefile         |   6 +
 .../acceptance_test/testerlanc/Makefile       |   6 +
 regression_test/all_from/Makefile             |   8 +-
 regression_test/anytype/Makefile              |   6 +
 regression_test/anytypeOper/Makefile          |   6 +
 regression_test/arrayOper/Makefile            |   6 +
 regression_test/assignmentNotation/Makefile   |   6 +
 regression_test/basicStatem/Makefile          |   6 +
 regression_test/bitstrOper/Makefile           |   6 +
 regression_test/boolOper/Makefile             |   6 +
 .../cfgFile/define/macro_reference/Makefile   |   5 +-
 .../cfgFile/define/structured/Makefile        |   5 +-
 .../module_parameters/assignment/Makefile     |   5 +-
 .../cfgFile/module_parameters/concat/Makefile |   5 +-
 .../module_parameters/references/Makefile     |   5 +-
 .../cfgFile/ordered_include/Makefile          |   5 +-
 .../cfgFile/testport_parameters/Makefile      |   5 +-
 regression_test/charOper/Makefile             |   6 +
 regression_test/charstrOper/Makefile          |   6 +
 regression_test/checkstate/Makefile           |   5 +
 regression_test/commMessage/Makefile          |   6 +
 regression_test/commProcedure/Makefile        |   6 +
 regression_test/compileonly/HT48786/Makefile  |   6 +
 .../compileonly/assignmentNotation/Makefile   |   6 +
 .../compileonly/attribQualif/Makefile         |   6 +
 .../compileonly/circularImport/Makefile       |   6 +
 .../compileonly/circularImport2/Makefile      |   6 +
 .../compileonly/compareImported/Makefile      |   6 +
 .../compileonly/compoundif/Makefile           |   6 +
 .../defaultParamUsageBeforeDecl/Makefile      |   6 +
 .../compileonly/dynamicTemplate/Makefile      |   7 +
 regression_test/compileonly/isbound/Makefile  |   6 +
 .../namedActualParameters/Makefile            |   6 +
 regression_test/compileonly/openType/Makefile |   6 +
 .../compileonly/openTypeNames/Makefile        |   6 +
 .../optionalAssignCompare/Makefile            |   6 +
 .../compileonly/portConstructor/Makefile      |   6 +
 .../compileonly/selectCase/Makefile           |   6 +
 .../compileonly/styleGuide/Makefile           |   6 +
 .../compileonly/topLevelPdu/Makefile          |   6 +
 .../compileonly/typeInstantiation/Makefile    |   6 +
 regression_test/configOper/Makefile           |   6 +
 regression_test/controlTimer/Makefile         |   6 +
 regression_test/customEncoding/Makefile       |   6 +
 regression_test/defaultOper/Makefile          |   6 +
 regression_test/enumOper/Makefile             |   6 +
 regression_test/floatOper/Makefile            |   6 +
 regression_test/functionReference/Makefile    |   6 +
 regression_test/functionSubref/Makefile       |   6 +
 regression_test/hexstrOper/Makefile           |   6 +
 regression_test/hostid/Makefile               |   5 +
 regression_test/iconv/Makefile                |   6 +
 regression_test/implicitMsgEncoding/Makefile  |   6 +
 regression_test/implicitOmit/Makefile         |   8 +-
 regression_test/intOper/Makefile              |   6 +
 regression_test/ipv6/Makefile                 |   6 +
 regression_test/ispresent/Makefile            |   6 +
 regression_test/json/Makefile                 |   6 +
 regression_test/junitlogger/Makefile          |   6 +
 regression_test/lazyEval/Makefile             |   5 +-
 regression_test/logFiles/Makefile             |   6 +
 regression_test/logger_control/Makefile       |   8 +-
 .../logger_control/TitanLoggerControl.ttcn    |   1 -
 regression_test/loggerplugin/Makefile         |   6 +
 regression_test/lostTimer/Makefile            |   6 +
 regression_test/macros/Makefile               |   6 +
 regression_test/modifiedTemplate/Makefile     |   6 +
 .../namedActualParameters/Makefile            |   6 +
 regression_test/negativeTest/Makefile         |   6 +
 regression_test/nonMandatoryPar/Makefile      |   6 +
 regression_test/objidOper/Makefile            |   6 +
 regression_test/octetstrOper/Makefile         |   6 +
 regression_test/omitdef/Makefile              |   6 +
 regression_test/pattern_quadruples/Makefile   |   6 +
 regression_test/preCompilerFlags/Makefile     |   6 +
 regression_test/predefFunction/Makefile       |   7 +
 regression_test/profiler/Makefile             |  12 +
 regression_test/recofOper/Makefile            |   6 +
 regression_test/recordOper/Makefile           |   6 +
 regression_test/setOper/Makefile              |   6 +
 regression_test/setofMatch/Makefile           |   6 +
 regression_test/setofOper/Makefile            |   6 +
 regression_test/slider/Makefile               |   8 +-
 regression_test/templateAnytype/Makefile      |   6 +
 regression_test/templateBitstr/Makefile       |   6 +
 regression_test/templateBool/Makefile         |   6 +
 regression_test/templateChar/Makefile         |   6 +
 regression_test/templateCharstr/Makefile      |   6 +
 regression_test/templateEnum/Makefile         |   6 +
 regression_test/templateFloat/Makefile        |   6 +
 regression_test/templateHexstr/Makefile       |   6 +
 regression_test/templateInt/Makefile          |   6 +
 regression_test/templateOctetstr/Makefile     |   6 +
 .../templateOmit/LegacyTests/Makefile         |   6 +
 .../templateOmit/NewTests/Makefile            |   6 +
 regression_test/templateRec/Makefile          |   6 +
 regression_test/templateRecof/Makefile        |   6 +
 regression_test/templateSet/Makefile          |   6 +
 regression_test/templateSetof/Makefile        |   6 +
 regression_test/templateUnicharstr/Makefile   |   6 +
 regression_test/templateUnion/Makefile        |   6 +
 regression_test/testcase_defparam/Makefile    |   8 +-
 regression_test/text2ttcn/Makefile            |   4 +-
 regression_test/transparent/Makefile          |   8 +-
 regression_test/tryCatch/Makefile             |   6 +
 regression_test/ttcn2json/Makefile            |   6 +
 regression_test/typeCompat/Makefile           |   6 +
 regression_test/ucharstrOper/Makefile         |   5 +
 regression_test/uidChars/Makefile             |   5 +
 regression_test/unionOper/Makefile            |   6 +
 regression_test/verdictOper/Makefile          |   6 +
 regression_test/visibility/Makefile           |   6 +
 usrguide/referenceguide.doc                   | Bin 1924096 -> 1926656 bytes
 187 files changed, 1760 insertions(+), 221 deletions(-)
 delete mode 120000 regression_test/logger_control/TitanLoggerControl.ttcn

diff --git a/compiler2/AST.cc b/compiler2/AST.cc
index 82686289f..fcaf27e50 100644
--- a/compiler2/AST.cc
+++ b/compiler2/AST.cc
@@ -20,6 +20,7 @@
  *   Kovacs, Ferenc
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *   Szalai, Gabor
  *   Zalanyi, Balazs Andor
@@ -49,7 +50,7 @@
 reffer::reffer(const char*) {}
 
 namespace Common {
-
+    
   // =================================
   // ===== Modules
   // =================================
@@ -356,7 +357,7 @@ namespace Common {
       if (bits == 0) continue;
       if (is_nonempty) src = mputstr(src, ",\n");
       else {
-        src = mputstr(src, "static const unsigned char ");
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
         is_nonempty = true;
       }
       src = mputprintf(src, "%s_bits[] = { ",
@@ -395,12 +396,14 @@ namespace Common {
     if (splitting) hdr = mputstr(hdr, ";\n");
   }
 
-  void Module::generate_bp_literals(char *&src, char *& /*hdr*/)
+  void Module::generate_bp_literals(char *&src, char *& hdr)
   {
     if (bp_literals.size() == 0) return;
     for (size_t i = 0; i < bp_literals.size(); i++) {
       if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const unsigned char ");
+      else {
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
+      }
       src = mputprintf(src, "%s_elements[] = { ",
         bp_literals.get_nth_elem(i)->c_str());
       const string& str = bp_literals.get_nth_key(i);
@@ -427,13 +430,29 @@ namespace Common {
     }
     src = mputstr(src, ";\n");
     for (size_t i = 0; i < bp_literals.size(); i++) {
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const BITSTRING_template ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+        if (split_to_slices) {
+          hdr = mputstr(hdr, ",\n");
+        }
+      }
+      else {
+        src = mputprintf(src, "%sconst BITSTRING_template ", split_to_slices ? "" : "static ");
+        if (split_to_slices) {
+            hdr = mputprintf(hdr, "extern const BITSTRING_template ");
+        }
+      }
       const char *name = bp_literals.get_nth_elem(i)->c_str();
       src = mputprintf(src, "%s(%lu, %s_elements)",
         name, (unsigned long) bp_literals.get_nth_key(i).size(), name);
+      if (split_to_slices) {
+        hdr = mputstr(hdr, name);
+      }
     }
     src = mputstr(src, ";\n");
+    if (split_to_slices) {
+      hdr = mputstr(hdr, ";\n");
+    }
   }
 
   void Module::generate_hs_literals(char *&src, char *&hdr)
@@ -451,7 +470,7 @@ namespace Common {
       const char *str_ptr = str.c_str();
       if (is_nonempty) src = mputstr(src, ",\n");
       else {
-        src = mputstr(src, "static const unsigned char ");
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
         is_nonempty = true;
       }
       src = mputprintf(src, "%s_nibbles[] = { ",
@@ -494,12 +513,15 @@ namespace Common {
     if (splitting) hdr = mputstr(hdr, ";\n");
   }
 
-  void Module::generate_hp_literals(char *&src, char *& /*hdr*/)
+  void Module::generate_hp_literals(char *&src, char *& hdr)
   {
     if (hp_literals.size() == 0) return;
     for (size_t i = 0; i < hp_literals.size(); i++) {
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const unsigned char ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+      } else {
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
+      }
       src = mputprintf(src, "%s_elements[] = { ",
         hp_literals.get_nth_elem(i)->c_str());
       const string& str = hp_literals.get_nth_key(i);
@@ -517,13 +539,28 @@ namespace Common {
     }
     src = mputstr(src, ";\n");
     for (size_t i = 0; i < hp_literals.size(); i++) {
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const HEXSTRING_template ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+        if (split_to_slices) {
+          hdr = mputstr(hdr, ",\n");
+        }
+      } else {
+        src = mputprintf(src, "%sconst HEXSTRING_template ", split_to_slices ? "" : "static ");
+        if (split_to_slices) {
+          hdr = mputprintf(hdr, "extern const HEXSTRING_template ");
+        }
+      }
       const char *name = hp_literals.get_nth_elem(i)->c_str();
       src = mputprintf(src, "%s(%lu, %s_elements)",
         name, (unsigned long) hp_literals.get_nth_key(i).size(), name);
+      if (split_to_slices) {
+        hdr = mputstr(hdr, name);
+      }
     }
     src = mputstr(src, ";\n");
+    if (split_to_slices) {
+      hdr = mputstr(hdr, ";\n");
+    }
   }
 
   void Module::generate_os_literals(char *&src, char *&hdr)
@@ -542,7 +579,7 @@ namespace Common {
       const char *str_ptr = str.c_str();
       if (is_nonempty) src = mputstr(src, ",\n");
       else {
-        src = mputstr(src, "static const unsigned char ");
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
         is_nonempty = true;
       }
       src = mputprintf(src, "%s_octets[] = { ",
@@ -576,13 +613,16 @@ namespace Common {
     if (splitting) hdr = mputstr(hdr, ";\n");
   }
 
-  void Module::generate_op_literals(char *&src, char *& /*hdr*/)
+  void Module::generate_op_literals(char *&src, char *& hdr)
   {
     if (op_literals.size() == 0) return;
     vector<size_t> pattern_lens;
     for(size_t i = 0; i < op_literals.size(); i++) {
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const unsigned short ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+      } else {
+        src = mputprintf(src, "%sconst unsigned short ", split_to_slices ? "" : "static ");
+      }
       src = mputprintf(src, "%s_elements[] = { ",
         op_literals.get_nth_elem(i)->c_str());
       const string& str = op_literals.get_nth_key(i);
@@ -610,13 +650,29 @@ namespace Common {
     }
     src = mputstr(src, ";\n");
     for (size_t i = 0; i < op_literals.size(); i++) {
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const OCTETSTRING_template ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+        if (split_to_slices) {
+          hdr = mputstr(hdr, ",\n");
+        }
+      }
+      else {
+        src = mputprintf(src, "%sconst OCTETSTRING_template ", split_to_slices ? "" : "static ");
+        if (split_to_slices) {
+            hdr = mputprintf(hdr, "extern const OCTETSTRING_template ");
+        }
+      }
       const char *name = op_literals.get_nth_elem(i)->c_str();
       src = mputprintf(src, "%s(%lu, %s_elements)",
         name, (unsigned long) *pattern_lens[i], name);
+      if (split_to_slices) {
+        hdr = mputstr(hdr, name);
+      }
     }
     src = mputstr(src, ";\n");
+    if (split_to_slices) {
+      hdr = mputstr(hdr, ";\n");
+    }
     for (size_t i = 0; i < pattern_lens.size(); i++) delete pattern_lens[i];
     pattern_lens.clear();
   }
@@ -674,8 +730,12 @@ namespace Common {
       const string& pattern = pp_literals.get_nth_key(i);
       size_t pattern_len = pattern.size();
       const char *pattern_ptr = pattern.c_str();
-      if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const unsigned char ");
+      if (i > 0) {
+        src = mputstr(src, ",\n");
+      }
+      else {
+        src = mputprintf(src, "%sconst unsigned char ", split_to_slices ? "" : "static ");
+      }
       src = mputprintf(src, "%s[] = { ", pp_literals.get_nth_elem(i)->c_str());
       if (pattern_len % 8 != 0) FATAL_ERROR("Module::generate_pp_literals()");
       size_t nof_octets = pattern_len / 8;
@@ -704,7 +764,7 @@ namespace Common {
       const char *str_ptr = str.c_str();
 
       if (i > 0) src = mputstr(src, ",\n");
-      else src = mputstr(src, "static const Token_Match ");
+      else src = mputprintf(src, "%sconst Token_Match ", split_to_slices ? "" : "static ");
 
       src = mputprintf(src, "%s(\"", mp_literals.get_nth_elem(i)->c_str());
       src = Code::translate_string(src, str_ptr + 1);
@@ -730,7 +790,7 @@ namespace Common {
       if (value_size < 2) continue;
       if (array_needed) src = mputstr(src, ",\n");
       else {
-        src = mputstr(src, "static const universal_char ");
+        src = mputprintf(src, "%sconst universal_char ", split_to_slices ? "" : "static ");
         array_needed = true;
       }
       src = mputprintf(src, "%s_uchars[] = { ",
@@ -777,12 +837,12 @@ namespace Common {
     if (splitting) hdr = mputstr(hdr, ";\n");
   }
 
-  void Module::generate_oid_literals(char *&src, char *& /*hdr*/)
+  void Module::generate_oid_literals(char *&src, char *& hdr)
   {
     if (oid_literals.size() == 0) return;
     for (size_t i = 0; i < oid_literals.size(); i++) {
        if (i > 0) src = mputstr(src, ",\n");
-       else src = mputstr(src, "static const OBJID::objid_element ");
+       else src = mputprintf(src, "%sconst OBJID::objid_element ", split_to_slices ? "" : "static ");
 
        src = mputprintf(src, "%s_comps[] = { %s }",
          oid_literals.get_nth_elem(i)->oid_id.c_str(),
@@ -792,14 +852,30 @@ namespace Common {
     for(size_t i = 0; i < oid_literals.size(); i++) {
        const OID_literal *litstruct = oid_literals.get_nth_elem(i);
 
-       if (i > 0) src = mputstr(src, ",\n");
-       else src = mputstr(src, "static const OBJID ");
+       if (i > 0) { 
+         src = mputstr(src, ",\n");
+         if (split_to_slices) {
+           hdr = mputstr(hdr, ",\n");
+         }
+       }
+       else {
+         src = mputprintf(src, "%sconst OBJID ", split_to_slices ? "" : "static ");
+         if (split_to_slices) {
+           hdr = mputstr(hdr, "extern const OBJID ");
+         }
+       }
 
        src = mputprintf(src, "%s(%lu, %s_comps)",
          litstruct->oid_id.c_str(), (unsigned long) litstruct->nof_elems,
          litstruct->oid_id.c_str());
+       if (split_to_slices) {
+         hdr = mputstr(hdr, litstruct->oid_id.c_str());
+       }
     }
     src = mputstr(src, ";\n");
+    if (split_to_slices) {
+      hdr = mputstr(hdr, ";\n");
+    }
   }
 
   void Module::generate_functions(output_struct *output)
@@ -819,11 +895,11 @@ namespace Common {
     // always generate pre_init_module if the file is profiled
     if (output->functions.pre_init || profiled || debugged) {
       output->source.static_function_prototypes =
-	mputstr(output->source.static_function_prototypes,
-	  "static void pre_init_module();\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-	  "static void pre_init_module()\n"
-          "{\n");
+	  mputprintf(output->source.static_function_prototypes,
+	    "%svoid pre_init_module();\n", split_to_slices ? "extern " : "static ");
+    output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+	    "%svoid pre_init_module()\n"
+          "{\n", split_to_slices ? "" : "static ");
       if (include_location_info) {
         output->source.static_function_bodies =
           mputstr(output->source.static_function_bodies,
@@ -866,11 +942,11 @@ namespace Common {
     // post_init function
     bool has_post_init = false;
     if (output->functions.post_init) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-          "static void post_init_module();\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-	  "static void post_init_module()\n"
-          "{\n");
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+          "%svoid post_init_module();\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+	  "%svoid post_init_module()\n"
+          "{\n", split_to_slices ? "" : "static ");
       if (include_location_info) {
         output->source.static_function_bodies =
           mputstr(output->source.static_function_bodies,
@@ -907,12 +983,12 @@ namespace Common {
     // set_param function
     bool has_set_param;
     if (output->functions.set_param) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-        "static boolean set_module_param(Module_Param& param);\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-        "static boolean set_module_param(Module_Param& param)\n"
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+        "%sboolean set_module_param(Module_Param& param);\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+        "%sboolean set_module_param(Module_Param& param)\n"
         "{\n"
-           "const char* const par_name = param.get_id()->get_current_name();\n");
+           "const char* const par_name = param.get_id()->get_current_name();\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies, output->functions.set_param);
       output->source.static_function_bodies =
@@ -925,12 +1001,12 @@ namespace Common {
     // get_param function
     bool has_get_param;
     if (output->functions.get_param) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-        "static Module_Param* get_module_param(Module_Param_Name& param_name);\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-        "static Module_Param* get_module_param(Module_Param_Name& param_name)\n"
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+        "%sModule_Param* get_module_param(Module_Param_Name& param_name);\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+        "%sModule_Param* get_module_param(Module_Param_Name& param_name)\n"
         "{\n"
-           "const char* const par_name = param_name.get_current_name();\n");
+           "const char* const par_name = param_name.get_current_name();\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies, output->functions.get_param);
       output->source.static_function_bodies =
@@ -943,11 +1019,11 @@ namespace Common {
     // log_param function
     bool has_log_param;
     if (output->functions.log_param) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-	  "static void log_module_param();\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-	  "static void log_module_param()\n"
-	  "{\n");
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+	  "%svoid log_module_param();\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+	  "%svoid log_module_param()\n"
+	  "{\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies, output->functions.log_param);
       output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
@@ -960,14 +1036,14 @@ namespace Common {
     bool has_init_comp;
     if (output->functions.init_comp) {
       output->source.static_function_prototypes =
-	mputstr(output->source.static_function_prototypes,
-	  "static boolean init_comp_type("
-	  "const char *component_type, boolean init_base_comps);\n");
+	mputprintf(output->source.static_function_prototypes,
+	  "%sboolean init_comp_type("
+	  "const char *component_type, boolean init_base_comps);\n", split_to_slices ? "extern " : "static ");
       output->source.static_function_bodies =
-	mputstr(output->source.static_function_bodies,
-	  "static boolean init_comp_type(const char *component_type, "
+	mputprintf(output->source.static_function_bodies,
+	  "%sboolean init_comp_type(const char *component_type, "
 	    "boolean init_base_comps)\n"
-	  "{\n(void)init_base_comps;\n");
+	  "{\n(void)init_base_comps;\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies,
 	  output->functions.init_comp);
@@ -981,13 +1057,13 @@ namespace Common {
     // start function
     bool has_start;
     if (output->functions.start) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-	 "static boolean start_ptc_function(const char *function_name, "
-	 "Text_Buf& function_arguments);\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-	 "static boolean start_ptc_function(const char *function_name, "
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+	 "%sboolean start_ptc_function(const char *function_name, "
+	 "Text_Buf& function_arguments);\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+	 "%sboolean start_ptc_function(const char *function_name, "
 	 "Text_Buf& function_arguments)\n"
-	 "{\n");
+	 "{\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies, output->functions.start);
       output->source.static_function_bodies =
@@ -1000,11 +1076,11 @@ namespace Common {
     // control part
     bool has_control;
     if (output->functions.control) {
-      output->source.static_function_prototypes = mputstr(output->source.static_function_prototypes,
-	  "static void module_control_part();\n");
-      output->source.static_function_bodies = mputstr(output->source.static_function_bodies,
-	  "static void module_control_part()\n"
-	  "{\n");
+      output->source.static_function_prototypes = mputprintf(output->source.static_function_prototypes,
+	  "%svoid module_control_part();\n", split_to_slices ? "extern " : "static ");
+      output->source.static_function_bodies = mputprintf(output->source.static_function_bodies,
+	  "%svoid module_control_part()\n"
+	  "{\n", split_to_slices ? "" : "static ");
       output->source.static_function_bodies =
         mputstr(output->source.static_function_bodies, output->functions.control);
       output->source.static_function_bodies =
@@ -1015,8 +1091,11 @@ namespace Common {
     } else has_control = false;
     // module checksum
     if (has_checksum) {
-      output->source.string_literals = mputstr(output->source.string_literals,
-	"static const unsigned char module_checksum[] = {");
+      if (split_to_slices) {
+        output->header.global_vars = mputprintf(output->header.global_vars, "extern const unsigned char module_checksum[];\n");
+      }
+      output->source.string_literals = mputprintf(output->source.string_literals,
+	"%sconst unsigned char module_checksum[] = {", split_to_slices ? "" : "static ");
       for (size_t i = 0; i < sizeof(module_checksum); i++) {
         if (i > 0) output->source.string_literals =
 	  mputc(output->source.string_literals, ',');
@@ -1046,10 +1125,17 @@ namespace Common {
 
       if (num_xml_namespaces != 0 || (control_ns && control_ns_prefix)) {
         output->source.global_vars = mputprintf(output->source.global_vars,
-          "static const size_t num_namespaces = %lu;\n"
-          "static const namespace_t xml_namespaces[num_namespaces+1] = {\n"
-          , (unsigned long)num_xml_namespaces
+          "%sconst size_t num_namespaces = %lu;\n"
+          "%sconst namespace_t xml_namespaces[num_namespaces+1] = {\n"
+          , split_to_slices ? "" : "static ", (unsigned long)num_xml_namespaces
+          , split_to_slices ? "" : "static "
         );
+        if (split_to_slices) {
+          output->header.global_vars = mputprintf(output->header.global_vars,
+            "extern const size_t num_namespaces;\n");
+          output->header.global_vars = mputprintf(output->header.global_vars,
+            "extern const namespace_t xml_namespaces[];\n");
+        }
         for (size_t i=0; i < namespaces.size(); ++i) {
           if (used_namespaces.has_key(i)) {
             output->source.global_vars = mputprintf(output->source.global_vars,
@@ -1126,19 +1212,31 @@ namespace Common {
       duplicate_underscores ? module_name : modid->get_ttcnname().c_str());
 
     output->source.global_vars = mputprintf(output->source.global_vars,
-      "\nstatic const RuntimeVersionChecker ver_checker("
+      "\n%sconst RuntimeVersionChecker ver_checker("
       "  current_runtime_version.requires_major_version_%d,\n"
       "  current_runtime_version.requires_minor_version_%d,\n"
       "  current_runtime_version.requires_patch_level_%d,"
       "  current_runtime_version.requires_runtime_%d);\n",
+      split_to_slices ? "" : "static ",
       TTCN3_MAJOR, TTCN3_MINOR, TTCN3_PATCHLEVEL, use_runtime_2 ? 2 : 1
       );
+    if (split_to_slices) {
+      output->header.global_vars = mputprintf(output->header.global_vars,
+        "extern const RuntimeVersionChecker ver_checker;\n");
+    }
     if (tcov_enabled) {
       output->source.global_vars = mputprintf(output->source.global_vars,
-        "\nstatic const int effective_module_lines[] = { %s };\n" \
-        "static const char *effective_module_functions[] = { %s };\n",
+        "\n%sconst int effective_module_lines[] = { %s };\n" \
+        "%sconst char *effective_module_functions[] = { %s };\n",
+        split_to_slices ? "" : "static ",
         effective_module_lines ? static_cast<const char *>(effective_module_lines) : "",
+        split_to_slices ? "" : "static ",     
         effective_module_functions ? static_cast<const char *>(effective_module_functions) : "");
+      if (split_to_slices) {
+        output->header.global_vars = mputprintf(output->header.global_vars,
+          "extern const int effective_module_lines[];\n" \
+          "extern const char *effective_module_functions[];\n");
+      }
     }
   }
 
@@ -1545,20 +1643,27 @@ namespace Common {
     cgh.add_module(modid->get_name(), modid->get_ttcnname(),
       moduletype == MOD_TTCN, true);
     cgh.set_current_module(modid->get_ttcnname());
-
+    
     // language specific parts (definitions, imports, etc.)
     //generate_code_internal(&target);  <- needed to pass cgh
     generate_code_internal(cgh);
     
     output_struct* output = cgh.get_current_outputstruct();
+    
+    CodeGenHelper::update_intervals(output);
 
     // string literals
     generate_literals(output);
     // module level entry points
     generate_functions(output);
+    
+    CodeGenHelper::update_intervals(output); // maybe deeper in generate_functions
+    
     // type conversion functions for type compatibility
     generate_conversion_functions(output);
     
+    CodeGenHelper::update_intervals(output); // maybe deeper in conv_funcs
+    
     /* generate the initializer function for the TTCN-3 profiler
      * (this is done at the end of the code generation, to make sure all code 
      * lines have been added to the profiler database) */
@@ -1580,6 +1685,10 @@ namespace Common {
         }
       }
       output->source.global_vars = mputstr(output->source.global_vars, "}\n");
+      if (split_to_slices) {
+        output->header.global_vars = mputstr(output->header.global_vars,
+          "extern void init_ttcn3_profiler();\n");
+      }
     }
     /* TTCN-3 debugger:
        generate the printing function for the types defined in this module
diff --git a/compiler2/Code.cc b/compiler2/Code.cc
index 074fdc878..feac7577b 100644
--- a/compiler2/Code.cc
+++ b/compiler2/Code.cc
@@ -12,12 +12,14 @@
  *   Forstner, Matyas
  *   Kovacs, Ferenc
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *
  ******************************************************************************/
 #include "Code.hh"
 #include "../common/memory.h"
 #include "error.h"
+#include "CodeGenHelper.hh"
 
 #include <ctype.h>
 
@@ -54,6 +56,31 @@ namespace Common {
     output->functions.init_comp = NULL;
     output->functions.start = NULL;
     output->functions.control = NULL;
+    output->intervals.pre_things_size = 0;
+    output->intervals.methods_size = 0;
+    output->intervals.function_bodies_size = 0;
+    output->intervals.static_conversion_function_bodies_size = 0;
+    output->intervals.static_function_bodies_size = 0;
+    output->intervals.methods_max_size = 1;
+    output->intervals.function_bodies_max_size = 1;
+    output->intervals.static_conversion_function_bodies_max_size = 1;
+    output->intervals.static_function_bodies_max_size = 1;
+    if (CodeGenHelper::GetInstance().get_split_mode() == CodeGenHelper::SPLIT_TO_SLICES) {
+      output->intervals.methods = (size_t*)Malloc(output->intervals.methods_max_size * sizeof(size_t));
+      output->intervals.function_bodies = (size_t*)Malloc(output->intervals.function_bodies_max_size * sizeof(size_t));
+      output->intervals.static_conversion_function_bodies = (size_t*)Malloc(output->intervals.static_conversion_function_bodies_max_size * sizeof(size_t));
+      output->intervals.static_function_bodies = (size_t*)Malloc(output->intervals.static_function_bodies_max_size * sizeof(size_t));
+      
+      output->intervals.methods[0] = 0;
+      output->intervals.function_bodies[0] = 0;
+      output->intervals.static_conversion_function_bodies[0] = 0;
+      output->intervals.static_function_bodies[0] = 0;
+    } else {
+      output->intervals.methods = NULL;
+      output->intervals.function_bodies = NULL;
+      output->intervals.static_conversion_function_bodies = NULL;
+      output->intervals.static_function_bodies = NULL;
+    }
   }
 
   void Code::merge_output(output_struct *dest, output_struct *src)
@@ -142,6 +169,10 @@ namespace Common {
     Free(output->functions.init_comp);
     Free(output->functions.start);
     Free(output->functions.control);
+    Free(output->intervals.methods);
+    Free(output->intervals.function_bodies);
+    Free(output->intervals.static_conversion_function_bodies);
+    Free(output->intervals.static_function_bodies);
     init_output(output);
   }
 
diff --git a/compiler2/CodeGenHelper.cc b/compiler2/CodeGenHelper.cc
index 772c5d542..5461368e9 100644
--- a/compiler2/CodeGenHelper.cc
+++ b/compiler2/CodeGenHelper.cc
@@ -9,6 +9,7 @@
  *   Balasko, Jeno
  *   Baranyi, Botond
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *   Zalanyi, Balazs Andor
  *
  ******************************************************************************/
@@ -20,7 +21,7 @@
 #include <cstring>
 
 namespace Common {
-
+    
 CodeGenHelper* CodeGenHelper::instance = 0;
 
 CodeGenHelper::generated_output_t::generated_output_t() :
@@ -100,7 +101,8 @@ const char* const CodeGenHelper::typetypemap[] = {
 };
 
 CodeGenHelper::CodeGenHelper() :
-  split_mode(SPLIT_NONE)
+  split_mode(SPLIT_NONE),
+  slice_num(1)
 {
   if (instance != 0)
     FATAL_ERROR("Attempted to create a second code generator.");
@@ -115,14 +117,38 @@ CodeGenHelper& CodeGenHelper::GetInstance() {
 
 void CodeGenHelper::set_split_mode(split_type st) {
   split_mode = st;
+  
+  if (split_mode == SPLIT_TO_SLICES) {
+    split_to_slices = true;
+  } else {
+    split_to_slices = false;
+  }
 }
 
 bool CodeGenHelper::set_split_mode(const char* type) {
-  if (strcmp(type, "none") == 0)
+  int n;
+  if (strcmp(type, "none") == 0) {
     split_mode = SPLIT_NONE;
-  else if (strcmp(type, "type") == 0)
+    split_to_slices = false;
+  } else if (strcmp(type, "type") == 0) {
     split_mode = SPLIT_BY_KIND;
-  else
+    split_to_slices = false;
+  } else if ((n = atoi(type))) {
+    size_t length = strlen(type);
+    for (int i=0;i<length; i++) {
+      if (!isdigit(type[i])) {
+        ERROR("The number argument of -U must be a valid number.");
+        break;
+      }
+    }
+    split_mode = SPLIT_TO_SLICES;
+    if (n < 1 || n > 999999) {
+      ERROR("The number argument of -U must be between 1 and 999999.");
+      return false;
+    }
+    slice_num = n;
+    split_to_slices = slice_num > 1; // slice_num == 1 has no effect
+  } else
     return false;
   return true;
 }
@@ -155,6 +181,128 @@ void CodeGenHelper::set_current_module(const string& name) {
   current_module = name;
 }
 
+void CodeGenHelper::update_intervals(output_struct* const output) {
+  if(instance->split_mode != SPLIT_TO_SLICES) return;
+  
+  size_t tmp;
+  
+  // 1. check if some characters are added to the charstring
+  // 2. increment size variable
+  // 3. if size is bigger than the array's size, then double the array size
+  // 4. store new end position
+  
+  // class_defs are not counted as they will be in the header
+  tmp = mstrlen(output->source.function_bodies);
+  if (output->intervals.function_bodies[output->intervals.function_bodies_size] < tmp) {
+    output->intervals.function_bodies_size++;
+    if (output->intervals.function_bodies_size > output->intervals.function_bodies_max_size) {
+      output->intervals.function_bodies_max_size *= 2;
+      output->intervals.function_bodies = (size_t*)Realloc(output->intervals.function_bodies, output->intervals.function_bodies_max_size * sizeof(size_t));
+    }
+    output->intervals.function_bodies[output->intervals.function_bodies_size] = tmp;
+  }
+  tmp = mstrlen(output->source.methods);
+  if (output->intervals.methods[output->intervals.methods_size] < tmp) {
+    output->intervals.methods_size++;
+    if (output->intervals.methods_size > output->intervals.methods_max_size) {
+      output->intervals.methods_max_size *= 2;
+      output->intervals.methods = (size_t*)Realloc(output->intervals.methods, output->intervals.methods_max_size * sizeof(size_t));
+    }
+    output->intervals.methods[output->intervals.methods_size] = tmp;
+  }
+  tmp = mstrlen(output->source.static_conversion_function_bodies);
+  if (output->intervals.static_conversion_function_bodies[output->intervals.static_conversion_function_bodies_size] < tmp) {
+    output->intervals.static_conversion_function_bodies_size++;
+    if (output->intervals.static_conversion_function_bodies_size > output->intervals.static_conversion_function_bodies_max_size) {
+      output->intervals.static_conversion_function_bodies_max_size *= 2;
+      output->intervals.static_conversion_function_bodies = (size_t*)Realloc(output->intervals.static_conversion_function_bodies, output->intervals.static_conversion_function_bodies_max_size * sizeof(size_t));
+    }
+    output->intervals.static_conversion_function_bodies[output->intervals.static_conversion_function_bodies_size] = tmp;
+  }
+  tmp = mstrlen(output->source.static_function_bodies);
+  if (output->intervals.static_function_bodies[output->intervals.static_function_bodies_size] < tmp) {
+    output->intervals.static_function_bodies_size++;
+    if (output->intervals.static_function_bodies_size > output->intervals.static_function_bodies_max_size) {
+      output->intervals.static_function_bodies_max_size *= 2;
+      output->intervals.static_function_bodies = (size_t*)Realloc(output->intervals.static_function_bodies, output->intervals.static_function_bodies_max_size * sizeof(size_t));
+    }
+    output->intervals.static_function_bodies[output->intervals.static_function_bodies_size] = tmp;
+  }
+}
+//Advised to call update_intervals before this
+size_t CodeGenHelper::size_of_sources(output_struct * const output) {
+  size_t size = 0;
+  // Calculate global var and string literals size
+  output->intervals.pre_things_size = mstrlen(output->source.global_vars) + mstrlen(output->source.string_literals);
+  
+  // Class_defs, static_conversion_function_prototypes, static_function_prototypes are in the header,
+  // and includes are not counted
+  size = output->intervals.pre_things_size +
+         output->intervals.function_bodies[output->intervals.function_bodies_size] +
+         output->intervals.methods[output->intervals.methods_size] +
+         output->intervals.static_conversion_function_bodies[output->intervals.static_conversion_function_bodies_size] +
+         output->intervals.static_function_bodies[output->intervals.static_function_bodies_size];
+  return size;
+}
+
+size_t CodeGenHelper::get_next_chunk_pos(const output_struct * const from, output_struct * const to, const size_t base_pos, const size_t chunk_size) {
+  size_t pos = 0; // Holds the position from the beginning
+  
+  pos += from->intervals.pre_things_size;
+
+  if (pos > base_pos) {
+    to->source.global_vars = mputstr(to->source.global_vars, from->source.global_vars);
+    to->source.string_literals = mputstr(to->source.string_literals, from->source.string_literals);
+  }
+  
+  get_chunk_from_poslist(from->source.methods, to->source.methods, from->intervals.methods, from->intervals.methods_size, base_pos, chunk_size, pos);
+  get_chunk_from_poslist(from->source.function_bodies, to->source.function_bodies, from->intervals.function_bodies, from->intervals.function_bodies_size, base_pos, chunk_size, pos);
+  get_chunk_from_poslist(from->source.static_function_bodies, to->source.static_function_bodies, from->intervals.static_function_bodies, from->intervals.static_function_bodies_size, base_pos, chunk_size, pos);
+  get_chunk_from_poslist(from->source.static_conversion_function_bodies, to->source.static_conversion_function_bodies, from->intervals.static_conversion_function_bodies, from->intervals.static_conversion_function_bodies_size, base_pos, chunk_size, pos);
+
+  return pos;
+}
+//if from null return.
+void CodeGenHelper::get_chunk_from_poslist(const char* from, char *& to, const size_t interval_array[], const size_t interval_array_size, const size_t base_pos, const size_t chunk_size, size_t& pos) {
+  if (from == NULL) return;
+  // If we have enough to form a chunk
+  
+  // pos is unsigned so it can't be negative
+  if (pos > base_pos && pos - base_pos >= chunk_size) return;
+  
+  size_t tmp = pos;
+  
+  pos += interval_array[interval_array_size];
+
+  if (pos > base_pos) { // If we haven't finished with this interval_array
+    if (pos - base_pos >= chunk_size) { // It is a good chunk, but make it more precise because it may be too big
+      int ind = 0;
+      for (int i = 0; i <= interval_array_size; i++) {
+        if (tmp + interval_array[i] <= base_pos) { // Find the pos where we left off
+          ind = i;
+        } else if (tmp + interval_array[i] - base_pos >= chunk_size) {
+          // Found the first optimal position that is a good chunk
+          to = mputstrn(to, from + interval_array[ind], interval_array[i] - interval_array[ind]);
+          pos = tmp + interval_array[i];
+          return;
+        }
+      }
+    } else { // We can't form a new chunk from the remaining characters
+      int ind = 0;
+      for (int i = 0; i <= interval_array_size; i++) {
+        if (tmp + interval_array[i] <= base_pos) {
+          ind = i;
+        } else {
+          break;
+        }
+      }
+      // Put the remaining characters
+      to = mputstrn(to, from + interval_array[ind], interval_array[interval_array_size] - interval_array[ind]);
+      pos = tmp + interval_array[interval_array_size]; 
+    }
+  }
+}
+
 output_struct* CodeGenHelper::get_outputstruct(Ttcn::Definition* def) {
   string key = get_key(*def);
   const string& new_name = current_module + key;
@@ -237,6 +385,8 @@ string CodeGenHelper::get_key(Ttcn::Definition& def) const {
     break;
   case SPLIT_BY_HEURISTICS:
     break;
+  case SPLIT_TO_SLICES:
+    break;
   }
   return retval;
 }
@@ -268,6 +418,8 @@ string CodeGenHelper::get_key(Type& type) const {
     break;
   case SPLIT_BY_HEURISTICS:
     break;
+  case SPLIT_TO_SLICES:
+    break;
   }
   return retval;
 }
@@ -286,12 +438,123 @@ void CodeGenHelper::write_output() {
           go->modulename = modules[j]->name;
           go->module_dispname = modules[j]->dispname;
           go->os.source.includes = mcopystr(
-            "\n//This file intentionally empty."
+            "\n//This file is intentionally empty."
             "\n#include <version.h>\n");
           generated_code.add(fname, go);
         }
       }
     }
+  } else if (split_mode == SPLIT_TO_SLICES && slice_num > 0) {
+    // The strategy is the following:
+    // Goal: Get files with equal size
+    // Get the longest file's length and divide it by slice_num (chunk_size)
+    // We split every file to chunk_size sized chunks
+    size_t max = 0;
+    // Calculate maximum character length
+    for (j = 0; j < generated_code.size(); j++) {
+      update_intervals(&generated_code.get_nth_elem(j)->os);
+      size_t num_of_chars = size_of_sources(&generated_code.get_nth_elem(j)->os);
+      if (max < num_of_chars) {
+        max = num_of_chars;
+      }
+    }
+    // Calculate ideal chunk size
+    size_t chunk_size = max / slice_num;
+    string fname;
+    for (j = 0; j < modules.size(); j++) {
+      generated_output_t *output = generated_code[modules[j]->dispname];
+
+      // Just to be sure that everything is in the right place
+      update_intervals(&output->os);
+      
+      // Move static function prototypes to header (no longer static)
+      output->os.header.function_prototypes = mputstr(output->os.header.function_prototypes, output->os.source.static_function_prototypes);
+      Free(output->os.source.static_function_prototypes);
+      output->os.source.static_function_prototypes = NULL;
+      
+      output->os.header.function_prototypes = mputstr(output->os.header.function_prototypes, output->os.source.static_conversion_function_prototypes);
+      Free(output->os.source.static_conversion_function_prototypes);
+      output->os.source.static_conversion_function_prototypes = NULL;
+      
+      // Move internal class definitions to the header
+      output->os.header.class_defs = mputstr(output->os.header.class_defs, output->os.source.class_defs);
+      Free(output->os.source.class_defs);
+      output->os.source.class_defs = NULL;
+      
+      update_intervals(&output->os);
+      size_t num_of_chars = size_of_sources(&output->os);
+      char buffer[13]=  ""; // Max is 999999 should be enough (checked in main.cc) | 6 digit + 2 underscore + part
+      // If we need to split
+      if (num_of_chars >= chunk_size) {
+        size_t base_pos = 0;
+        for (unsigned int i = 0; i < slice_num; i++) {
+          if (i == 0) { // The first slice has the module's name
+            fname = output->module_dispname;
+          } else {
+            sprintf(buffer, "_part_%d", (int)i);
+            fname = output->module_dispname + "_" + buffer;
+          }
+          if (i == 0 || !generated_code.has_key(fname)) {
+            generated_output_t* go = new generated_output_t;
+            go->filename = buffer;
+            go->modulename = output->modulename;
+            go->module_dispname = output->module_dispname;
+            size_t act_pos = get_next_chunk_pos(&output->os, &go->os, base_pos, chunk_size);
+            // True if the file is not empty
+            if (act_pos > base_pos) {
+              go->os.source.includes = mputstr(go->os.source.includes, output->os.source.includes);
+            } else {
+              go->os.source.includes = mcopystr(
+                "\n//This file is intentionally empty."
+                "\n#include <version.h>\n");
+            }
+            // First slice: copy header and other properties and replace the original output struct
+            if (i == 0) {
+              go->has_circular_import = output->has_circular_import;
+              go->is_module = output->is_module;
+              go->is_ttcn = output->is_ttcn;
+              go->os.header.class_decls = mputstr(go->os.header.class_decls, output->os.header.class_decls);
+              go->os.header.class_defs = mputstr(go->os.header.class_defs, output->os.header.class_defs);
+              go->os.header.function_prototypes = mputstr(go->os.header.function_prototypes, output->os.header.function_prototypes);
+              go->os.header.global_vars = mputstr(go->os.header.global_vars, output->os.header.global_vars);
+              go->os.header.includes = mputstr(go->os.header.includes, output->os.header.includes);
+              go->os.header.testport_includes = mputstr(go->os.header.testport_includes, output->os.header.testport_includes);
+              go->os.header.typedefs = mputstr(go->os.header.typedefs, output->os.header.typedefs);
+              generated_code[modules[j]->dispname] = go;
+            } else {
+              generated_code.add(fname, go);
+            }
+            base_pos = act_pos;
+          } else {
+            // TODO: error handling: there is a module which has the same name as the
+            // numbered splitted file. splitting by type does not have this error
+            // handling so don't we
+          }
+        }
+        // Extra safety. If something is missing after the splitting, put the remaining 
+        // things to the last file. (Should never happen)
+        if (base_pos < num_of_chars) {
+          get_next_chunk_pos(&output->os, &generated_code[fname]->os, base_pos, num_of_chars);
+        }
+        delete output;
+      } else {
+        // Create empty files.
+        for (i = 1; i < slice_num; i++) {
+          sprintf(buffer, "_part_%d", (int)i);
+          fname = output->module_dispname + "_" + buffer;
+          if (!generated_code.has_key(fname)) {
+            generated_output_t* go = new generated_output_t;
+            go->filename = buffer;
+            go->modulename = modules[j]->name;
+            go->module_dispname = modules[j]->dispname;
+            go->os.source.includes = mcopystr(
+              "\n//This file is intentionally empty."
+              "\n#include <version.h>\n");
+            generated_code.add(fname, go);
+          }
+        }
+      }
+    }
   }
   generated_output_t* go;
   for (i = 0; i < generated_code.size(); i++) {
diff --git a/compiler2/CodeGenHelper.hh b/compiler2/CodeGenHelper.hh
index e11ff0b3f..97ba724e7 100644
--- a/compiler2/CodeGenHelper.hh
+++ b/compiler2/CodeGenHelper.hh
@@ -8,6 +8,7 @@
  * Contributors:
  *   Balasko, Jeno
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *   Zalanyi, Balazs Andor
  *
  ******************************************************************************/
@@ -26,14 +27,15 @@ class Definition;
 }
 
 namespace Common {
-
+    
 class CodeGenHelper {
 public:
   enum split_type {
     SPLIT_NONE,         ///< original code generation
     SPLIT_BY_KIND,      ///< place different kind of types in their own file
     SPLIT_BY_NAME,      ///< place all definitions/assignments in their own file
-    SPLIT_BY_HEURISTICS ///< heuristic function will decide the structure
+    SPLIT_BY_HEURISTICS,///< heuristic function will decide the structure
+    SPLIT_TO_SLICES       ///< split large files into smaller ones
   };
 
 private:
@@ -57,6 +59,7 @@ private:
 
   output_map_t generated_code;
   split_type split_mode;
+  unsigned int slice_num;
 
   struct module_names_t {
     string name;
@@ -86,6 +89,14 @@ public:
   void finalize_generation(Type* type);
 
   void set_current_module(const string& name);
+  
+  static void update_intervals(output_struct* const output);
+  
+  size_t size_of_sources(output_struct * const output);
+  
+  size_t get_next_chunk_pos(const output_struct * const from, output_struct * const to, const size_t base_pos, const size_t chunk_size);
+  
+  void get_chunk_from_poslist(const char* from, char *& to, const size_t interval_array[], const size_t interval_array_size,  const size_t base_pos, const size_t chunk_size, size_t& pos);
 
   void write_output();
 
diff --git a/compiler2/TypeCompat.cc b/compiler2/TypeCompat.cc
index 6f4695b1f..886c211ee 100644
--- a/compiler2/TypeCompat.cc
+++ b/compiler2/TypeCompat.cc
@@ -8,6 +8,7 @@
  * Contributors:
  *   Balasko, Jeno
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *
  ******************************************************************************/
 #include "TypeCompat.hh"
@@ -323,12 +324,12 @@ void TypeConv::gen_conv_func(char **p_prototypes, char **p_bodies,
   string to_name = m_is_temp ? m_to->get_genname_template(p_mod)
     : m_to->get_genname_value(p_mod);
   *p_prototypes = mputprintf(*p_prototypes,
-    "static boolean %s(%s& p_to_v, const %s& p_from_v);\n",
-    get_conv_func(m_from, m_to, p_mod).c_str(), to_name.c_str(),
+    "%sboolean %s(%s& p_to_v, const %s& p_from_v);\n",
+    split_to_slices ? "" : "static ", get_conv_func(m_from, m_to, p_mod).c_str(), to_name.c_str(),
     from_name.c_str());
   *p_bodies = mputprintf(*p_bodies,
-    "static boolean %s(%s& p_to_v, const %s& p_from_v)\n{\n",
-    get_conv_func(m_from, m_to, p_mod).c_str(), to_name.c_str(),
+    "%sboolean %s(%s& p_to_v, const %s& p_from_v)\n{\n",
+    split_to_slices ? "" : "static ", get_conv_func(m_from, m_to, p_mod).c_str(), to_name.c_str(),
     from_name.c_str());
   switch (m_to->get_typetype()) {
   case Type::T_SEQ_A:
diff --git a/compiler2/Type_codegen.cc b/compiler2/Type_codegen.cc
index 530c2e837..3acf33af6 100644
--- a/compiler2/Type_codegen.cc
+++ b/compiler2/Type_codegen.cc
@@ -12,6 +12,7 @@
  *   Delic, Adam
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Pandi, Krisztian
  *
  ******************************************************************************/
@@ -53,6 +54,7 @@ void Type::generate_code(output_struct *target)
 {
   if (code_generated) return;
   generate_code_embedded_before(target);
+  CodeGenHelper::update_intervals(target);  // TODO: class and template separate everywhere?
   // escape from recursion loops
   if (code_generated) return;
   code_generated = true;
@@ -101,11 +103,14 @@ void Type::generate_code(output_struct *target)
       break;
     } // switch
   }
+  CodeGenHelper::update_intervals(target);
   generate_code_embedded_after(target);
+  CodeGenHelper::update_intervals(target);
   if (!is_asn1()) {
     if (has_done_attribute()) generate_code_done(target);
     if (sub_type) sub_type->generate_code(*target);
   }
+  CodeGenHelper::update_intervals(target);
 }
 
 void Type::generate_code_include(const string& sourcefile, output_struct *target)
@@ -434,8 +439,8 @@ void Type::generate_code_typedescriptor(output_struct *target)
 void Type::generate_code_berdescriptor(output_struct *target)
 {
   const char *gennameown_str = get_genname_own().c_str();
-  char *str = mprintf("static const ASN_Tag_t %s_tag_[] = { ",
-    gennameown_str);
+  char *str = mprintf("%sconst ASN_Tag_t %s_tag_[] = { ",
+    split_to_slices ? "" : "static ", gennameown_str);
   Tags *joinedtags = build_tags_joined();
   size_t tagarraysize = joinedtags->get_nof_tags();
   for (size_t i = 0; i < tagarraysize; i++) {
@@ -720,7 +725,11 @@ void Type::generate_code_textdescriptor(output_struct *target)
    case T_BOOL:
     if (textattrib->true_params || textattrib->false_params) {
       target->source.global_vars = mputprintf(target->source.global_vars,
-        "static const TTCN_TEXTdescriptor_bool %s_bool_ = {", gennameown_str);
+        "%sconst TTCN_TEXTdescriptor_bool %s_bool_ = {", split_to_slices ? "" : "static ", gennameown_str);
+      if (split_to_slices) {
+        target->header.global_vars = mputprintf(target->header.global_vars,
+          "extern const TTCN_TEXTdescriptor_bool %s_bool_;\n", gennameown_str);
+      }
       if (textattrib->true_params &&
           textattrib->true_params->encode_token) {
         target->source.global_vars = mputprintf(target->source.global_vars,
@@ -779,8 +788,12 @@ void Type::generate_code_textdescriptor(output_struct *target)
     break;
    case T_ENUM_T:
     target->source.global_vars = mputprintf(target->source.global_vars,
-      "static const TTCN_TEXTdescriptor_enum %s_enum_[] = { ",
-        gennameown_str);
+      "%sconst TTCN_TEXTdescriptor_enum %s_enum_[] = { ",
+        split_to_slices ? "" : "static ", gennameown_str);
+    if (split_to_slices) {
+      target->header.global_vars = mputprintf(target->header.global_vars,
+        "extern const TTCN_TEXTdescriptor_enum %s_enum_[];\n", gennameown_str);
+    }
     for (size_t i = 0; i < t->u.enums.eis->get_nof_eis(); i++) {
       if (i > 0) target->source.global_vars =
         mputstr(target->source.global_vars, ", ");
@@ -845,8 +858,12 @@ void Type::generate_code_textdescriptor(output_struct *target)
        textattrib->decoding_params.convert!=0 ||
        textattrib->decoding_params.just!=1 ){
       target->source.global_vars=mputprintf(target->source.global_vars,
-        "static const TTCN_TEXTdescriptor_param_values %s_par_ = {",
-        gennameown_str);
+        "%sconst TTCN_TEXTdescriptor_param_values %s_par_ = {",
+        split_to_slices ? "" : "static ", gennameown_str);
+      if (split_to_slices) {
+        target->header.global_vars=mputprintf(target->header.global_vars,
+          "extern const TTCN_TEXTdescriptor_param_values %s_par_;\n", gennameown_str);
+      }
       target->source.global_vars=mputprintf(target->source.global_vars,
            "{%s,%s,%i,%i,%i,%i},{%s,%s,%i,%i,%i,%i}};\n"
            ,textattrib->coding_params.leading_zero?"true":"false"
@@ -868,8 +885,12 @@ void Type::generate_code_textdescriptor(output_struct *target)
    case T_SEQOF:
    case T_SETOF:
     target->source.global_vars=mputprintf(target->source.global_vars,
-      "static const TTCN_TEXTdescriptor_param_values %s_par_ = {",
-      gennameown_str);
+      "%sconst TTCN_TEXTdescriptor_param_values %s_par_ = {",
+      split_to_slices ? "" : "static ", gennameown_str);
+    if (split_to_slices) {
+      target->header.global_vars=mputprintf(target->header.global_vars,
+        "extern const TTCN_TEXTdescriptor_param_values %s_par_;\n", gennameown_str);
+    }
     target->source.global_vars=mputprintf(target->source.global_vars,
          "{%s,%s,%i,%i,%i,%i},{%s,%s,%i,%i,%i,%i}};\n"
          ,textattrib->coding_params.leading_zero?"true":"false"
@@ -2040,7 +2061,7 @@ void Type::generate_code_Array(output_struct *target)
       "};\n\n",
       own_name, 
       u.array.dimension->get_value_type(u.array.element_type, my_scope).c_str());
-    target->source.class_defs = mputprintf(target->source.class_defs,
+    target->source.methods = mputprintf(target->source.methods,
       "const TTCN_Typedescriptor_t* %s::get_elem_descr() const { return &%s_descr_; }\n\n",
       own_name, u.array.element_type->get_genname_typedescriptor(my_scope).c_str());
   } else {
@@ -2696,8 +2717,11 @@ void Type::generate_code_object(const_def *cdef, Scope *p_scope,
   if (prefix) {
     cdef->decl = mputprintf(cdef->decl, "extern const %s& %s;\n",
       type_name_str, name_str);
-    cdef->def = mputprintf(cdef->def, "static %s %s%s;\n"
-      "const %s& %s = %s%s;\n", type_name_str, prefix, name_str,
+    if (split_to_slices) {
+      cdef->decl = mputprintf(cdef->decl, "extern %s %s%s;\n", type_name_str, prefix, name_str);
+    }
+    cdef->def = mputprintf(cdef->def, "%s%s %s%s;\n"
+      "const %s& %s = %s%s;\n", split_to_slices ? "" : "static ", type_name_str, prefix, name_str,
         type_name_str, name_str, prefix, name_str);
   } else {
     cdef->decl = mputprintf(cdef->decl, "extern %s %s;\n",
@@ -2720,8 +2744,8 @@ void Type::generate_code_object(const_def *cdef, GovernedSimple *p_setting)
     FATAL_ERROR("Type::generate_code_object()");
   }
   if (p_setting->get_err_descr()) {
-    cdef->def = p_setting->get_err_descr()->generate_code_str(cdef->def,
-      p_setting->get_genname_prefix() + p_setting->get_genname_own());
+    cdef->def = p_setting->get_err_descr()->generate_code_str(cdef->def, cdef->decl,
+      p_setting->get_genname_prefix() + p_setting->get_genname_own(), false);
   }
   generate_code_object(cdef, p_setting->get_my_scope(),
     p_setting->get_genname_own(), p_setting->get_genname_prefix(),
diff --git a/compiler2/asn1/AST_asn1.cc b/compiler2/asn1/AST_asn1.cc
index f2086da71..ee5920fbc 100644
--- a/compiler2/asn1/AST_asn1.cc
+++ b/compiler2/asn1/AST_asn1.cc
@@ -13,6 +13,7 @@
  *   Kovacs, Ferenc
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szalai, Gabor
  *   Zalanyi, Balazs Andor
  *   Pandi, Krisztian
@@ -921,7 +922,10 @@ namespace Asn {
   void Assignments::generate_code(CodeGenHelper& cgh) {
     for (size_t i = 0; i < asss_v.size(); i++) {
       Assignment *ass = asss_v[i];
-      if (!top_level_pdu || ass->get_checked()) ass->generate_code(cgh);
+      if (!top_level_pdu || ass->get_checked()) {
+        ass->generate_code(cgh);
+        CodeGenHelper::update_intervals(cgh.get_current_outputstruct());
+      }
     }
   }
 
@@ -1400,6 +1404,7 @@ namespace Asn {
     if (ass_pard || dontgen) return;
     classify_ass();
     ass->generate_code(cgh);
+    CodeGenHelper::update_intervals(cgh.get_current_outputstruct());
   }
 
   void Ass_Undef::dump(unsigned level) const
diff --git a/compiler2/compiler.1 b/compiler2/compiler.1
index 8c0e3467b..dc103acd6 100644
--- a/compiler2/compiler.1
+++ b/compiler2/compiler.1
@@ -17,7 +17,7 @@ compiler \- TTCN-3 and ASN.1 to C++ translator
 .RB "[\| " \-Q
 .IR "n" " \|] "
 .RB "[\| " \-U
-.IR "none|type" " \|] "
+.IR "none|type|'number'" " \|] "
 .RB "[\| " \-T " \|]"
 module.ttcn ...
 .RB "[\| " \-A " \|]"
@@ -262,8 +262,10 @@ Forces the compiler to do
 characters in all output file names. This option turns on the
 compatibility mode with versions 1.1 or earlier.
 .TP
-.BI \-U " none|type"
+.BI \-U " none|type|'number'"
 Selects code splitting mode for the generated C++ code.
+The 'number' should be a positive number between 1 and 999999.
+If the 'number' is present the files will be sliced into 'number' files.
 .TP
 .B \-v
 Prints
diff --git a/compiler2/main.cc b/compiler2/main.cc
index f01d98e2e..f6ad7efcf 100644
--- a/compiler2/main.cc
+++ b/compiler2/main.cc
@@ -95,7 +95,7 @@ boolean generate_skeleton = FALSE, force_overwrite = FALSE,
   implicit_json_encoding = FALSE, json_refs_for_all_types = TRUE,
   force_gen_seof = FALSE, omit_in_value_list = FALSE,
   warnings_for_bad_variants = FALSE, debugger_active = FALSE,
-  legacy_unbound_union_fields = FALSE;
+  legacy_unbound_union_fields = FALSE, split_to_slices = FALSE;
 
 // Default code splitting mode is set to 'no splitting'.
 CodeGenHelper::split_type code_splitting_mode = CodeGenHelper::SPLIT_NONE;
@@ -385,7 +385,7 @@ static void usage()
 {
   fprintf(stderr, "\n"
     "usage: %s [-abcdEfgijlLMnOpqrRsStuwxXyY] [-K file] [-z file] [-V verb_level]\n"
-    "	[-o dir] [-U none|type] [-P modulename.top_level_pdu_name] [-Q number] ...\n"
+    "	[-o dir] [-U none|type|'number'] [-P modulename.top_level_pdu_name] [-Q number] ...\n"
     "	[-T] module.ttcn [-A] module.asn ...\n"
     "	or  %s -v\n"
     "	or  %s --ttcn2json [-jf] ... [-T] module.ttcn [-A] module.asn ... [- schema.json]\n"
@@ -417,7 +417,7 @@ static void usage()
     "	-S:		suppress context information\n"
     "	-t:		generate Test Port skeleton\n"
     "	-u:		duplicate underscores in file names\n"
-    "	-U none|type:	select code splitting mode for the generated C++ code\n"
+    "	-U none|type|'number':	select code splitting mode for the generated C++ code\n"
     "	-V verb_level:	set verbosity level bitmask (decimal)\n"
     "	-w:		suppress warnings\n"
     "	-x:		disable TEXT encoder/decoder functions\n"
@@ -483,7 +483,7 @@ int main(int argc, char *argv[])
     s0flag = false, Cflag = false, yflag = false, Uflag = false, Qflag = false,
     Sflag = false, Kflag = false, jflag = false, zflag = false, Fflag = false,
     Mflag = false, Eflag = false, nflag = false, Bflag = false, errflag = false,
-    print_usage = false, ttcn2json = false;
+    print_usage = false, ttcn2json = false; 
 
   CodeGenHelper cgh;
 
@@ -702,10 +702,10 @@ int main(int argc, char *argv[])
         SET_FLAG(U);
         if (!cgh.set_split_mode(optarg)) {
           ERROR("Wrong code splitting option: '%s'. Valid values are: 'none', "
-            "'type'.", optarg);
+            "'type', or a positive number.", optarg);
           errflag = true;
         }
-        break;
+          break;
       case 'v':
         SET_FLAG(v);
         break;
diff --git a/compiler2/main.hh b/compiler2/main.hh
index f9d554259..4bdb932e3 100644
--- a/compiler2/main.hh
+++ b/compiler2/main.hh
@@ -15,6 +15,7 @@
  *   Kremer, Peter
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *
  ******************************************************************************/
@@ -50,7 +51,7 @@ extern boolean generate_skeleton, force_overwrite, include_line_info,
   check_subtype, suppress_context, enable_set_bound_out_param, display_up_to_date,
   implicit_json_encoding, json_refs_for_all_types, force_gen_seof,
   omit_in_value_list, warnings_for_bad_variants, debugger_active,
-  legacy_unbound_union_fields;
+  legacy_unbound_union_fields, split_to_slices;
 
 extern const char *expected_platform;
 
diff --git a/compiler2/makefile.c b/compiler2/makefile.c
index 7bc8854ec..629c5ec70 100644
--- a/compiler2/makefile.c
+++ b/compiler2/makefile.c
@@ -1675,14 +1675,21 @@ static void print_shared_object_name(FILE *fp, const struct user_struct *user)
 }
 /** Prints the splitted files' names for a given module. */
 static void print_splitted_file_names(FILE *fp,
-  const struct makefile_struct *makefile, const struct module_struct *module)
+  const struct makefile_struct *makefile, const struct module_struct *module, const boolean dir)
 {
+  int n_slices;
   if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
-    print_generated_file_name(fp, module, FALSE, "_seq.cc");
-    print_generated_file_name(fp, module, FALSE, "_set.cc");
-    print_generated_file_name(fp, module, FALSE, "_seqof.cc");
-    print_generated_file_name(fp, module, FALSE, "_setof.cc");
-    print_generated_file_name(fp, module, FALSE, "_union.cc");
+    print_generated_file_name(fp, module, dir, "_seq.cc");
+    print_generated_file_name(fp, module, dir, "_set.cc");
+    print_generated_file_name(fp, module, dir, "_seqof.cc");
+    print_generated_file_name(fp, module, dir, "_setof.cc");
+    print_generated_file_name(fp, module, dir, "_union.cc");
+  } else if(makefile->code_splitting_mode != NULL && (n_slices = atoi(makefile->code_splitting_mode + 2))) {
+    for (int i = 1; i < n_slices; i++) {
+      char buffer[16]; // 6 digits + 4 chars + _part
+      sprintf(buffer, "_part_%i.cc", i);
+      print_generated_file_name(fp, module, dir, buffer);
+    }
   }
 }
 
@@ -2267,7 +2274,7 @@ static void print_makefile(struct makefile_struct *makefile)
         for (i = 0; i < makefile->nTTCN3Modules; i++) {
           const struct module_struct *module = makefile->TTCN3Modules + i;
           if (module->dir_name == NULL || !makefile->central_storage)
-            print_splitted_file_names(fp, makefile, module);
+            print_splitted_file_names(fp, makefile, module, FALSE);
         }
       }
       if (makefile->preprocess) {
@@ -2276,7 +2283,7 @@ static void print_makefile(struct makefile_struct *makefile)
           for (i = 0; i < makefile->nTTCN3PPModules; i++) {
             const struct module_struct *module = makefile->TTCN3PPModules + i;
             if (module->dir_name == NULL || !makefile->central_storage)
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, FALSE);
           }
         }
       }
@@ -2286,7 +2293,7 @@ static void print_makefile(struct makefile_struct *makefile)
         if (module->dir_name == NULL || !makefile->central_storage) {
           print_generated_file_name(fp, module, FALSE, ".cc");
           if (makefile->code_splitting_mode)
-            print_splitted_file_names(fp, makefile, module);
+            print_splitted_file_names(fp, makefile, module, FALSE);
         }
       }
       if (makefile->preprocess) {
@@ -2295,7 +2302,7 @@ static void print_makefile(struct makefile_struct *makefile)
           if (module->dir_name == NULL || !makefile->central_storage) {
             print_generated_file_name(fp, module, FALSE, ".cc");
             if (makefile->code_splitting_mode)
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, FALSE);
           }
         }
       }
@@ -2306,7 +2313,7 @@ static void print_makefile(struct makefile_struct *makefile)
         for (i = 0; i < makefile->nASN1Modules; i++) {
           const struct module_struct *module = makefile->ASN1Modules + i;
           if (module->dir_name == NULL || !makefile->central_storage) {
-            print_splitted_file_names(fp, makefile, module);
+            print_splitted_file_names(fp, makefile, module, FALSE);
           }
         }
       }
@@ -2316,7 +2323,7 @@ static void print_makefile(struct makefile_struct *makefile)
         if (module->dir_name == NULL || !makefile->central_storage) {
           print_generated_file_name(fp, module, FALSE, ".cc");
           if (makefile->code_splitting_mode)
-            print_splitted_file_names(fp, makefile, module);
+            print_splitted_file_names(fp, makefile, module, FALSE);
         }
       }
     }
@@ -2356,7 +2363,7 @@ static void print_makefile(struct makefile_struct *makefile)
           for (i = 0; i < makefile->nTTCN3Modules; i++) {
             const struct module_struct *module = makefile->TTCN3Modules + i;
             if (module->dir_name != NULL) {
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, TRUE);
             }
           }
         }
@@ -2366,7 +2373,7 @@ static void print_makefile(struct makefile_struct *makefile)
             for (i = 0; i < makefile->nTTCN3PPModules; i++) {
               const struct module_struct *module = makefile->TTCN3PPModules + i;
               if (module->dir_name != NULL) {
-                print_splitted_file_names(fp, makefile, module);
+                print_splitted_file_names(fp, makefile, module, TRUE);
               }
             }
           }
@@ -2377,7 +2384,7 @@ static void print_makefile(struct makefile_struct *makefile)
           if (module->dir_name != NULL) {
             print_generated_file_name(fp, module, TRUE, ".cc");
             if (makefile->code_splitting_mode)
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, TRUE);
           }
         }
         if (makefile->preprocess) {
@@ -2386,7 +2393,7 @@ static void print_makefile(struct makefile_struct *makefile)
             if (module->dir_name != NULL) {
               print_generated_file_name(fp, module, TRUE, ".cc");
               if (makefile->code_splitting_mode)
-                print_splitted_file_names(fp, makefile, module);
+                print_splitted_file_names(fp, makefile, module, TRUE);
             }
           }
         }
@@ -2397,7 +2404,7 @@ static void print_makefile(struct makefile_struct *makefile)
           for (i = 0; i < makefile->nASN1Modules; i++) {
             const struct module_struct *module = makefile->ASN1Modules + i;
             if (module->dir_name != NULL) {
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, TRUE);
             }
           }
         }
@@ -2407,7 +2414,7 @@ static void print_makefile(struct makefile_struct *makefile)
           if (module->dir_name != NULL) {
             print_generated_file_name(fp, module, TRUE, ".cc");
             if (makefile->code_splitting_mode)
-              print_splitted_file_names(fp, makefile, module);
+              print_splitted_file_names(fp, makefile, module, TRUE);
           }
         }
       }
@@ -2573,14 +2580,22 @@ static void print_makefile(struct makefile_struct *makefile)
           const struct module_struct *module = makefile->TTCN3Modules + i;
           if (module->dir_name == NULL || !makefile->central_storage) {
             print_generated_file_name(fp, module, FALSE, ".so");
-            if (makefile->code_splitting_mode != NULL)
+            if (makefile->code_splitting_mode != NULL) {
+              int n_slices;
               if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
                 print_generated_file_name(fp, module, FALSE, "_seq.so");
                 print_generated_file_name(fp, module, FALSE, "_set.so");
                 print_generated_file_name(fp, module, FALSE, "_seqof.so");
                 print_generated_file_name(fp, module, FALSE, "_setof.so");
                 print_generated_file_name(fp, module, FALSE, "_union.so");
+              } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                for (int i = 1; i < n_slices; i++) {
+                char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.so", i);
+                  print_generated_file_name(fp, module, FALSE, buffer);
+                }
               }
+            }
           }
         }
         if (makefile->preprocess) {
@@ -2588,14 +2603,22 @@ static void print_makefile(struct makefile_struct *makefile)
             const struct module_struct *module = makefile->TTCN3PPModules + i;
             if (module->dir_name == NULL || !makefile->central_storage) {
               print_generated_file_name(fp, module, FALSE, ".so");
-              if (makefile->code_splitting_mode != NULL)
+              if (makefile->code_splitting_mode != NULL) {
+                int n_slices;
                 if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
                   print_generated_file_name(fp, module, FALSE, "_seq.so");
                   print_generated_file_name(fp, module, FALSE, "_set.so");
                   print_generated_file_name(fp, module, FALSE, "_seqof.so");
                   print_generated_file_name(fp, module, FALSE, "_setof.so");
                   print_generated_file_name(fp, module, FALSE, "_union.so");
+                } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                  for (int i = 1; i < n_slices; i++) {
+                char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.so", i);
+                    print_generated_file_name(fp, module, FALSE, buffer);
+                  }
                 }
+              }
             }
           }
         }
@@ -2603,14 +2626,22 @@ static void print_makefile(struct makefile_struct *makefile)
           const struct module_struct *module = makefile->ASN1Modules + i;
           if (module->dir_name == NULL || !makefile->central_storage) {
             print_generated_file_name(fp, module, FALSE, ".so");
-            if (makefile->code_splitting_mode != NULL)
+            if (makefile->code_splitting_mode != NULL) {
+              int n_slices;
               if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
                 print_generated_file_name(fp, module, FALSE, "_seq.so");
                 print_generated_file_name(fp, module, FALSE, "_set.so");
                 print_generated_file_name(fp, module, FALSE, "_seqof.so");
                 print_generated_file_name(fp, module, FALSE, "_setof.so");
                 print_generated_file_name(fp, module, FALSE, "_union.so");
+              } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                for (int i = 1; i < n_slices; i++) {
+                char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.so", i);
+                  print_generated_file_name(fp, module, FALSE, buffer);
+                }
               }
+            }
           }
         }
       }
@@ -2637,14 +2668,22 @@ static void print_makefile(struct makefile_struct *makefile)
         const struct module_struct *module = makefile->TTCN3Modules + i;
         if (module->dir_name == NULL || !makefile->central_storage) {
           print_generated_file_name(fp, module, FALSE, ".o");
-          if (makefile->code_splitting_mode != NULL)
+          if (makefile->code_splitting_mode != NULL) {
+            int n_slices;
             if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
               print_generated_file_name(fp, module, FALSE, "_seq.o");
               print_generated_file_name(fp, module, FALSE, "_set.o");
               print_generated_file_name(fp, module, FALSE, "_seqof.o");
               print_generated_file_name(fp, module, FALSE, "_setof.o");
               print_generated_file_name(fp, module, FALSE, "_union.o");
+            } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+              for (int i = 1; i < n_slices; i++) {
+                char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.o", i);
+                print_generated_file_name(fp, module, FALSE, buffer);
+              }
             }
+          }
         }
       }
       if (makefile->preprocess) {
@@ -2652,14 +2691,22 @@ static void print_makefile(struct makefile_struct *makefile)
           const struct module_struct *module = makefile->TTCN3PPModules + i;
           if (module->dir_name == NULL || !makefile->central_storage) {
             print_generated_file_name(fp, module, FALSE, ".o");
-            if (makefile->code_splitting_mode != NULL)
+            if (makefile->code_splitting_mode != NULL) {
+              int n_slices;
               if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
                 print_generated_file_name(fp, module, FALSE, "_seq.o");
                 print_generated_file_name(fp, module, FALSE, "_set.o");
                 print_generated_file_name(fp, module, FALSE, "_seqof.o");
                 print_generated_file_name(fp, module, FALSE, "_setof.o");
                 print_generated_file_name(fp, module, FALSE, "_union.o");
+              } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                for (int i = 1; i < n_slices; i++) {
+                  char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.o", i);
+                  print_generated_file_name(fp, module, FALSE, buffer);
+                }
               }
+            }
           }
         }
       }
@@ -2667,14 +2714,22 @@ static void print_makefile(struct makefile_struct *makefile)
         const struct module_struct *module = makefile->ASN1Modules + i;
         if (module->dir_name == NULL || !makefile->central_storage) {
           print_generated_file_name(fp, module, FALSE, ".o");
-          if (makefile->code_splitting_mode != NULL)
+          if (makefile->code_splitting_mode != NULL) {
+            int n_slices;
             if (strcmp(makefile->code_splitting_mode, "-U type") == 0) {
               print_generated_file_name(fp, module, FALSE, "_seq.o");
               print_generated_file_name(fp, module, FALSE, "_set.o");
               print_generated_file_name(fp, module, FALSE, "_seqof.o");
               print_generated_file_name(fp, module, FALSE, "_setof.o");
               print_generated_file_name(fp, module, FALSE, "_union.o");
+            } else if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+              for (int i = 1; i < n_slices; i++) {
+                char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.o", i);
+                print_generated_file_name(fp, module, FALSE, buffer);
+              }
             }
+          }
         }
       }
     }
@@ -2769,14 +2824,36 @@ static void print_makefile(struct makefile_struct *makefile)
         else {
           for (i = 0; i < makefile->nTTCN3Modules; i++) {
             const struct module_struct *module = makefile->TTCN3Modules + i;
-            if (module->dir_name != NULL)
+            if (module->dir_name != NULL) {
               print_generated_file_name(fp, module, TRUE, ".o");
+              if (makefile->code_splitting_mode != NULL) {
+                int n_slices;
+                if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                  for (int i = 1; i < n_slices; i++) {
+                    char buffer[16]; // 6 digits + 4 chars + _part
+                sprintf(buffer, "_part_%i.o", i);
+                    print_generated_file_name(fp, module, TRUE, buffer);
+                  }
+                }
+              }
+            }
           }
           if (makefile->preprocess) {
             for (i = 0; i < makefile->nTTCN3PPModules; i++) {
               const struct module_struct *module = makefile->TTCN3PPModules + i;
-              if (module->dir_name != NULL)
+              if (module->dir_name != NULL) {
                 print_generated_file_name(fp, module, TRUE, ".o");
+                if (makefile->code_splitting_mode != NULL) {
+                  int n_slices;
+                  if((n_slices = atoi(makefile->code_splitting_mode + 2))) {
+                    for (int i = 1; i < n_slices; i++) {
+                      char buffer[16]; // 6 digits + 4 chars + _part
+                      sprintf(buffer, "_part_%i.o", i);
+                      print_generated_file_name(fp, module, TRUE, buffer);
+                    }
+                  }
+                }
+              }
             }
           }
           for (i = 0; i < makefile->nASN1Modules; i++) {
@@ -4024,7 +4101,7 @@ static void usage(void)
 {
   fprintf(stderr, "\n"
     "usage: %s [-abc" C_flag "dDEfFglLmMnprRsStTVwWXZ] [-K file] [-z file ] [-P dir]"
-    " [-U none|type] [-e ets_name] [-o dir|file]\n"
+    " [-U none|type|'number'] [-e ets_name] [-o dir|file]\n"
     "        [-t project_descriptor.tpd [-b buildconfig]]\n"
     "        [-O file] ... module_name ... testport_name ...\n"
     "   or  %s -v\n"
@@ -4053,7 +4130,7 @@ static void usage(void)
     "	-R:		use function test runtime (TITAN_RUNTIME_2)\n"
     "	-s:		generate Makefile for single mode\n"
     "	-S:		suppress makefilegen warnings\n"
-    "	-U none|type:	split generated code\n"
+    "	-U none|type|'number':	split generated code\n"
     "	-v:		show version\n"
     "	-w:		suppress warnings generated by TITAN\n"
     "	-Y:		Enforces legacy behaviour of the \"out\" function parameters (see refguide)\n"
@@ -4289,11 +4366,26 @@ int main(int argc, char *argv[])
       break;
     case 'U':
       SET_FLAG(U);
+      int n_slices = atoi(optarg);
       code_splitting_mode = optarg;
-      if (strcmp(optarg, "none") != 0 &&
-        strcmp(optarg, "type") != 0)
+      if (!n_slices && 
+        (strcmp(optarg, "none") != 0 &&
+        strcmp(optarg, "type") != 0))
+      {
         ERROR("Unrecognizable argument: '%s'. Valid options for -U switch are: "
-          "'none', 'type'", optarg);
+          "'none', 'type', or a number.", optarg);
+      } else {
+        size_t length = strlen(optarg);
+        for (int i=0;i<length; i++) {
+          if (!isdigit(optarg[i])) {
+            ERROR("The number argument of -U must be a valid number.");
+            break;
+          }
+        }
+        if (n_slices < 1 || n_slices > 999999) {
+          ERROR("The number argument of -U must be between 1 and 999999.");
+        }
+      }
       break;
     case 'v':
       SET_FLAG(v);
diff --git a/compiler2/ttcn3/AST_ttcn3.cc b/compiler2/ttcn3/AST_ttcn3.cc
index 45562f57b..6a4a9a0fc 100644
--- a/compiler2/ttcn3/AST_ttcn3.cc
+++ b/compiler2/ttcn3/AST_ttcn3.cc
@@ -14,6 +14,7 @@
  *   Kovacs, Ferenc
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szalai, Gabor
  *   Zalanyi, Balazs Andor
  *   Pandi, Krisztian
@@ -1866,7 +1867,10 @@ namespace Ttcn {
 
   void Definitions::generate_code(CodeGenHelper& cgh) {
     // FIXME: implement
-    for(size_t i = 0; i < ass_v.size(); i++) ass_v[i]->generate_code(cgh);
+    for(size_t i = 0; i < ass_v.size(); i++) {
+      ass_v[i]->generate_code(cgh);
+      CodeGenHelper::update_intervals(cgh.get_current_outputstruct());
+    }
   }
 
   char* Definitions::generate_code_str(char *str)
@@ -4446,7 +4450,7 @@ namespace Ttcn {
       }
       if (erroneous_attrs && erroneous_attrs->get_err_descr()) {
         function_body = erroneous_attrs->get_err_descr()->
-          generate_code_str(function_body, string("ret_val"));
+          generate_code_str(function_body, target->header.global_vars, string("ret_val"), true);
       }
       function_body = body->generate_code_init(function_body, "ret_val");
       if (template_restriction!=TR_NONE && gen_restriction_check)
diff --git a/compiler2/ttcn3/Attributes.cc b/compiler2/ttcn3/Attributes.cc
index 16485b86e..eb91cd9fb 100644
--- a/compiler2/ttcn3/Attributes.cc
+++ b/compiler2/ttcn3/Attributes.cc
@@ -12,6 +12,7 @@
  *   Feher, Csaba
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *   Zalanyi, Balazs Andor
  *
@@ -20,6 +21,7 @@
 #include "../map.hh"
 #include "../CompilerError.hh"
 #include "../Type.hh"
+#include "../main.hh"
 #include "TtcnTemplate.hh"
 
 namespace Ttcn {
@@ -313,17 +315,21 @@ namespace Ttcn {
     return "";
   }
 
-  char* ErroneousAttributeSpec::generate_code_str(char *str, string genname)
+  char* ErroneousAttributeSpec::generate_code_str(char *str, char *& def, string genname, const bool embedded)
   {
     if (get_is_omit()) return str;
     if (!type) FATAL_ERROR("ErroneousAttributeSpec::generate_code_str()");
     if (!value) FATAL_ERROR("ErroneousAttributeSpec::generate_code_str()");
     if (first_genname.empty()) { // this is the first use
-      str = mputprintf(str, "static %s %s;\n",
+      str = mputprintf(str, "%s%s %s;\n", split_to_slices && !embedded ? "" : "static ",
         type->get_genname_value(value->get_my_scope()).c_str(), genname.c_str());
       first_genname = genname;
+      if (split_to_slices && !embedded) {
+        def = mputprintf(def, "extern %s %s;\n",
+          type->get_genname_value(value->get_my_scope()).c_str(), genname.c_str());
+      }
     } else {
-      str = mputprintf(str, "static %s& %s = %s;\n",
+      str = mputprintf(str, "%s%s& %s = %s;\n", split_to_slices && !embedded ? "" : "static ",
         type->get_genname_value(value->get_my_scope()).c_str(),
         genname.c_str(), first_genname.c_str());
     }
@@ -358,21 +364,24 @@ namespace Ttcn {
 
   // ==== ErroneousValues ====
 
-  char* ErroneousValues::generate_code_embedded_str(char *str, string genname)
+  char* ErroneousValues::generate_code_embedded_str(char *str, char *& def, string genname, const bool embedded)
   {
-    if (before) str = generate_code_embedded_str(str, genname+"_before", before);
-    if (value) str = generate_code_embedded_str(str, genname+"_value", value);
-    if (after) str = generate_code_embedded_str(str, genname+"_after", after);
+    if (before) str = generate_code_embedded_str(str, def, genname+"_before", before, embedded);
+    if (value) str = generate_code_embedded_str(str, def, genname+"_value", value, embedded);
+    if (after) str = generate_code_embedded_str(str, def, genname+"_after", after, embedded);
     return str;
   }
 
-  char* ErroneousValues::generate_code_embedded_str(char *str, string genname, ErroneousAttributeSpec* attr_spec)
+  char* ErroneousValues::generate_code_embedded_str(char *str, char *& def, string genname, ErroneousAttributeSpec* attr_spec, const bool embedded)
   {
-    str = attr_spec->generate_code_str(str, genname+"_errval");
-    str = mputprintf(str, "static Erroneous_value_t %s = { %s, %s, %s };\n", genname.c_str(),
+    str = attr_spec->generate_code_str(str, def, genname+"_errval", embedded);
+    str = mputprintf(str, "%sErroneous_value_t %s = { %s, %s, %s };\n", split_to_slices && !embedded ? "" : "static ", genname.c_str(),
       attr_spec->get_is_raw() ? "true" : "false",
       attr_spec->get_is_omit() ? "NULL" : ("&"+genname+"_errval").c_str(),
       attr_spec->get_typedescriptor_str().c_str());
+    if (split_to_slices && !embedded) {
+      def = mputprintf(def, "extern Erroneous_value_t %s;\n", genname.c_str());
+    }
     return str;
   }
 
@@ -403,35 +412,41 @@ namespace Ttcn {
 
   // ==== ErroneousDescriptor ====
 
-  char* ErroneousDescriptor::generate_code_embedded_str(char *str, string genname)
+  char* ErroneousDescriptor::generate_code_embedded_str(char *str, char *& def, string genname, const bool embedded)
   {
     // values
     for (size_t i=0; i<values_m.size(); i++) {
-      str = values_m.get_nth_elem(i)->generate_code_embedded_str(str, genname+"_v"+Int2string((int)values_m.get_nth_key(i)));
+      str = values_m.get_nth_elem(i)->generate_code_embedded_str(str, def, genname+"_v"+Int2string((int)values_m.get_nth_key(i)), embedded);
     }
     // embedded descriptors
     for (size_t i=0; i<descr_m.size(); i++) {
-      str = descr_m.get_nth_elem(i)->generate_code_embedded_str(str, genname+"_d"+Int2string((int)descr_m.get_nth_key(i)));
+      str = descr_m.get_nth_elem(i)->generate_code_embedded_str(str, def, genname+"_d"+Int2string((int)descr_m.get_nth_key(i)), embedded);
     }
     // values vector
     if (values_m.size()>0) {
-      str = mputprintf(str, "static Erroneous_values_t %s_valsvec[%d] = { ", genname.c_str(), (int)values_m.size());
+      str = mputprintf(str, "%sErroneous_values_t %s_valsvec[%d] = { ", split_to_slices && !embedded ? "" : "static ", genname.c_str(), (int)values_m.size());
       for (size_t i=0; i<values_m.size(); i++) {
         if (i>0) str = mputstr(str, ", ");
         int key_i = (int)values_m.get_nth_key(i);
         str = values_m.get_nth_elem(i)->generate_code_struct_str(str, genname+"_v"+Int2string(key_i), key_i);
       }
       str = mputstr(str, " };\n");
+      if (split_to_slices && !embedded) {
+        def = mputprintf(def, "extern Erroneous_values_t %s_valsvec[%d];\n", genname.c_str(), (int)values_m.size());
+      }
     }
     // embedded descriptor vector
     if (descr_m.size()>0) {
-      str = mputprintf(str, "static Erroneous_descriptor_t %s_embvec[%d] = { ", genname.c_str(), (int)descr_m.size());
+      str = mputprintf(str, "%sErroneous_descriptor_t %s_embvec[%d] = { ", split_to_slices && !embedded ? "" : "static ", genname.c_str(), (int)descr_m.size());
       for (size_t i=0; i<descr_m.size(); i++) {
         if (i>0) str = mputstr(str, ", ");
         int key_i = (int)descr_m.get_nth_key(i);
-        str = descr_m.get_nth_elem(i)->generate_code_struct_str(str, genname+"_d"+Int2string(key_i), key_i);
+        str = descr_m.get_nth_elem(i)->generate_code_struct_str(str, def, genname+"_d"+Int2string(key_i), key_i);
       }
       str = mputstr(str, " };\n");
+      if (split_to_slices && !embedded) {
+        def = mputprintf(def, "extern Erroneous_descriptor_t %s_embvec[%d];\n", genname.c_str(), (int)descr_m.size());
+      }
     }
     return str;
   }
@@ -447,7 +462,7 @@ namespace Ttcn {
     return str;
   }
 
-  char* ErroneousDescriptor::generate_code_struct_str(char *str, string genname, int field_index)
+  char* ErroneousDescriptor::generate_code_struct_str(char *str, char *& def, string genname, int field_index)
   {
     string genname_values_vec = genname + "_valsvec";
     string genname_embedded_vec = genname + "_embvec";
@@ -465,18 +480,22 @@ namespace Ttcn {
     for (size_t i=0; i<values_m.size(); i++) {
       values_m.get_nth_elem(i)->chk_recursions(refch);
     }
+      
     for (size_t i=0; i<descr_m.size(); i++) {
       descr_m.get_nth_elem(i)->chk_recursions(refch);
     }
   }
 
-  char* ErroneousDescriptor::generate_code_str(char *str, string genname)
+  char* ErroneousDescriptor::generate_code_str(char *str, char *& def, string genname, const bool embedded)
   {
     genname += "_err_descr";
-    str = generate_code_embedded_str(str, genname);
-    str = mputprintf(str, "static Erroneous_descriptor_t %s = ", genname.c_str());
-    str = generate_code_struct_str(str, genname, -1);
+    str = generate_code_embedded_str(str, def, genname, embedded);
+    str = mputprintf(str, "%sErroneous_descriptor_t %s = ", split_to_slices && !embedded ? "" : "static ", genname.c_str());
+    str = generate_code_struct_str(str, def, genname, -1);
     str = mputstr(str, ";\n");
+    if (split_to_slices && !embedded) {
+      def = mputprintf(def, "extern Erroneous_descriptor_t %s;\n", genname.c_str());
+    }
     return str;
   }
 
diff --git a/compiler2/ttcn3/Attributes.hh b/compiler2/ttcn3/Attributes.hh
index ee25fa81e..edb77e95a 100644
--- a/compiler2/ttcn3/Attributes.hh
+++ b/compiler2/ttcn3/Attributes.hh
@@ -10,6 +10,7 @@
  *   Delic, Adam
  *   Raduly, Csaba
  *   Szabados, Kristof
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *   Zalanyi, Balazs Andor
  *
@@ -118,7 +119,7 @@ namespace Ttcn {
     bool get_is_raw() const { return is_raw; }
     bool get_is_omit() const;
     static const char* get_indicator_str(indicator_t i);
-    char* generate_code_str(char *str, string genname);
+    char* generate_code_str(char *str, char *& def, string genname, const bool embedded);
     char* generate_code_init_str(char *str, string genname);
     string get_typedescriptor_str();
     void chk_recursions(ReferenceChain& refch);
@@ -131,9 +132,9 @@ namespace Ttcn {
     ErroneousAttributeSpec *before, *value, *after; // NULL if not specified
     string field_name; // qualifier string
     ErroneousValues(const string& p_field_name): before(0), value(0), after(0), field_name(p_field_name) {}
-    char* generate_code_embedded_str(char *str, string genname);
+    char* generate_code_embedded_str(char *str, char *& def, string genname, const bool embedded);
     char* generate_code_init_str(char *str, string genname);
-    char* generate_code_embedded_str(char *str, string genname, ErroneousAttributeSpec* attr_spec);
+    char* generate_code_embedded_str(char *str, char *& def, string genname, ErroneousAttributeSpec* attr_spec, const bool embedded);
     char* generate_code_struct_str(char *str, string genname, int field_index);
     void chk_recursions(ReferenceChain& refch);
   };
@@ -151,10 +152,10 @@ namespace Ttcn {
   public:
     ErroneousDescriptor(): omit_before(-1), omit_after(-1) {}
     ~ErroneousDescriptor();
-    char* generate_code_embedded_str(char *str, string genname);
+    char* generate_code_embedded_str(char *str, char *& def, string genname, const bool embedded);
     char* generate_code_init_str(char *str, string genname);
-    char* generate_code_struct_str(char *str, string genname, int field_index);
-    char* generate_code_str(char *str, string genname);
+    char* generate_code_struct_str(char *str, char *& def, string genname, int field_index);
+    char* generate_code_str(char *str, char *& def, string genname, const bool embedded);
     void chk_recursions(ReferenceChain& refch);
   };
 
diff --git a/compiler2/ttcn3/compiler.h b/compiler2/ttcn3/compiler.h
index a8b02d928..c3e5364dd 100644
--- a/compiler2/ttcn3/compiler.h
+++ b/compiler2/ttcn3/compiler.h
@@ -14,6 +14,7 @@
  *   Kovacs, Ferenc
  *   Kremer, Peter
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *   Szabo, Janos Zoltan – initial implementation
  *   Tatarka, Gabor
  *   Zalanyi, Balazs Andor
@@ -65,6 +66,21 @@ extern "C" {
       char *start;     /**< Code for start_ptc_function() */
       char *control;   /**< Code for module_control_part() */
     } functions;
+    struct {
+      size_t pre_things_size; // Size of string_literals + global_vars
+      size_t *methods;
+      size_t methods_max_size;
+      size_t methods_size;
+      size_t *function_bodies;
+      size_t function_bodies_max_size;
+      size_t function_bodies_size;
+      size_t *static_function_bodies;
+      size_t static_function_bodies_max_size;
+      size_t static_function_bodies_size;
+      size_t *static_conversion_function_bodies;
+      size_t static_conversion_function_bodies_size;
+      size_t static_conversion_function_bodies_max_size;
+    } intervals;
   } output_struct;
 
   typedef struct expression_struct_t {
diff --git a/regression_test/ASN1/Test303/Makefile b/regression_test/ASN1/Test303/Makefile
index 69dd30b0d..3641956f9 100644
--- a/regression_test/ASN1/Test303/Makefile
+++ b/regression_test/ASN1/Test303/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test307/Makefile b/regression_test/ASN1/Test307/Makefile
index 5a1337fce..73a51c03d 100644
--- a/regression_test/ASN1/Test307/Makefile
+++ b/regression_test/ASN1/Test307/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test308/Makefile b/regression_test/ASN1/Test308/Makefile
index 218ab2038..38c2e17f7 100644
--- a/regression_test/ASN1/Test308/Makefile
+++ b/regression_test/ASN1/Test308/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test309/Makefile b/regression_test/ASN1/Test309/Makefile
index 9d25248dd..7789f92ad 100644
--- a/regression_test/ASN1/Test309/Makefile
+++ b/regression_test/ASN1/Test309/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test310/Makefile b/regression_test/ASN1/Test310/Makefile
index d1d7cd7bb..a7c6a150b 100644
--- a/regression_test/ASN1/Test310/Makefile
+++ b/regression_test/ASN1/Test310/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test330/Makefile b/regression_test/ASN1/Test330/Makefile
index 326468f34..ab2ba321e 100644
--- a/regression_test/ASN1/Test330/Makefile
+++ b/regression_test/ASN1/Test330/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test332/Makefile b/regression_test/ASN1/Test332/Makefile
index 063bf5bcc..819b477b8 100644
--- a/regression_test/ASN1/Test332/Makefile
+++ b/regression_test/ASN1/Test332/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test338/Makefile b/regression_test/ASN1/Test338/Makefile
index db473ffad..3d2b6b650 100644
--- a/regression_test/ASN1/Test338/Makefile
+++ b/regression_test/ASN1/Test338/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test340/Makefile b/regression_test/ASN1/Test340/Makefile
index e6fa11d4f..1e333ffc2 100644
--- a/regression_test/ASN1/Test340/Makefile
+++ b/regression_test/ASN1/Test340/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test342/Makefile b/regression_test/ASN1/Test342/Makefile
index 160d13d87..76c931940 100644
--- a/regression_test/ASN1/Test342/Makefile
+++ b/regression_test/ASN1/Test342/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test344/Makefile b/regression_test/ASN1/Test344/Makefile
index 30a3398b6..87965bb9b 100644
--- a/regression_test/ASN1/Test344/Makefile
+++ b/regression_test/ASN1/Test344/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test346/Makefile b/regression_test/ASN1/Test346/Makefile
index 03747160e..0a0d1bbc1 100644
--- a/regression_test/ASN1/Test346/Makefile
+++ b/regression_test/ASN1/Test346/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test348/Makefile b/regression_test/ASN1/Test348/Makefile
index a60a285d0..1bcc9f468 100644
--- a/regression_test/ASN1/Test348/Makefile
+++ b/regression_test/ASN1/Test348/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test350/Makefile b/regression_test/ASN1/Test350/Makefile
index 45182c17e..f6dbe2877 100644
--- a/regression_test/ASN1/Test350/Makefile
+++ b/regression_test/ASN1/Test350/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test352/Makefile b/regression_test/ASN1/Test352/Makefile
index 9abc01803..f99da118c 100644
--- a/regression_test/ASN1/Test352/Makefile
+++ b/regression_test/ASN1/Test352/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test354/Makefile b/regression_test/ASN1/Test354/Makefile
index c9854e007..818c98217 100644
--- a/regression_test/ASN1/Test354/Makefile
+++ b/regression_test/ASN1/Test354/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test356/Makefile b/regression_test/ASN1/Test356/Makefile
index d8966bf29..468299494 100644
--- a/regression_test/ASN1/Test356/Makefile
+++ b/regression_test/ASN1/Test356/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test358/Makefile b/regression_test/ASN1/Test358/Makefile
index 61b9774ea..e16e00f5e 100644
--- a/regression_test/ASN1/Test358/Makefile
+++ b/regression_test/ASN1/Test358/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test360/Makefile b/regression_test/ASN1/Test360/Makefile
index 6ffb52c6e..564c2b532 100644
--- a/regression_test/ASN1/Test360/Makefile
+++ b/regression_test/ASN1/Test360/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/ASN1/Test38/Makefile b/regression_test/ASN1/Test38/Makefile
index 1a1efdce5..197fb3d02 100644
--- a/regression_test/ASN1/Test38/Makefile
+++ b/regression_test/ASN1/Test38/Makefile
@@ -12,6 +12,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/codeGeneration2/Makefile b/regression_test/ASN1/codeGeneration2/Makefile
index 68b7aa84e..2aa4f4c36 100644
--- a/regression_test/ASN1/codeGeneration2/Makefile
+++ b/regression_test/ASN1/codeGeneration2/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -36,6 +37,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/enum1/Makefile b/regression_test/ASN1/enum1/Makefile
index 721087911..aff38ce83 100644
--- a/regression_test/ASN1/enum1/Makefile
+++ b/regression_test/ASN1/enum1/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/enum2/Makefile b/regression_test/ASN1/enum2/Makefile
index cf752b724..22435255f 100644
--- a/regression_test/ASN1/enum2/Makefile
+++ b/regression_test/ASN1/enum2/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/hyphen/Makefile b/regression_test/ASN1/hyphen/Makefile
index 742c61338..786d5d83d 100644
--- a/regression_test/ASN1/hyphen/Makefile
+++ b/regression_test/ASN1/hyphen/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/hyphen/hyphen b/regression_test/ASN1/hyphen/hyphen
index 8b058e401..f58676fb5 100755
--- a/regression_test/ASN1/hyphen/hyphen
+++ b/regression_test/ASN1/hyphen/hyphen
@@ -13,7 +13,7 @@ then
     then
 	if $GREP -q "extern const INTEGER& my__Integer__Value" ./Test284.hh
         then 
-	    if $GREP -q "const_my__Integer__Value = 9;" ./Test284.cc
+	    if $GREP -q "const_my__Integer__Value = 9;" ./*.cc
             then Verdict="pass"
             else Verdict="fail 4"
             fi
diff --git a/regression_test/ASN1/keyword/Makefile b/regression_test/ASN1/keyword/Makefile
index 1f1627b24..28da9153d 100644
--- a/regression_test/ASN1/keyword/Makefile
+++ b/regression_test/ASN1/keyword/Makefile
@@ -14,6 +14,7 @@
 #   Kovacs, Ferenc
 #   Kulcsar, Endre
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -32,6 +33,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/ASN1/transformations/Makefile b/regression_test/ASN1/transformations/Makefile
index 8941d8fec..c4c4db601 100644
--- a/regression_test/ASN1/transformations/Makefile
+++ b/regression_test/ASN1/transformations/Makefile
@@ -13,6 +13,7 @@
 #   Kulcsar, Endre
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 all: $(GENERATED_SOURCES)
diff --git a/regression_test/BER/Makefile b/regression_test/BER/Makefile
index b273bc84a..70796e0c5 100644
--- a/regression_test/BER/Makefile
+++ b/regression_test/BER/Makefile
@@ -12,6 +12,7 @@
 #   Koppany, Csaba
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/BER_x682/Makefile b/regression_test/BER_x682/Makefile
index 8361c66da..551dd9915 100644
--- a/regression_test/BER_x682/Makefile
+++ b/regression_test/BER_x682/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = MyPort1.cc MyPort2.cc
diff --git a/regression_test/BER_x682_wa/Makefile b/regression_test/BER_x682_wa/Makefile
index d968cf7ff..eb06f8f3c 100644
--- a/regression_test/BER_x682_wa/Makefile
+++ b/regression_test/BER_x682_wa/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(ASN1_MODULES:.asn=.hh) $(TTCN3_MODULES:.ttcn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = MyPort1.cc MyPort2.cc
diff --git a/regression_test/CRTR00015758/Makefile b/regression_test/CRTR00015758/Makefile
index d39a4e077..3c910c5b1 100644
--- a/regression_test/CRTR00015758/Makefile
+++ b/regression_test/CRTR00015758/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -52,7 +53,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/ERC/Makefile b/regression_test/ERC/Makefile
index d7fe9fb59..1ff73c4bb 100644
--- a/regression_test/ERC/Makefile
+++ b/regression_test/ERC/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
@@ -35,14 +41,11 @@ PARALLEL_TARGET = erc_parallel$(EXESUFFIX)
 
 all: $(SINGLE_TARGET) $(PARALLEL_TARGET)
 
-$(SINGLE_TARGET): $(OBJECTS)
-	$(CXX) $(LDFLAGS) -o $@ $(OBJECTS) -L$(TTCN3_DIR)/lib -lttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
+$(SINGLE_TARGET): $(GENERATED_SOURCES)
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $(GENERATED_SOURCES) -L$(TTCN3_DIR)/lib -lttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
 
-$(PARALLEL_TARGET): $(OBJECTS)
-	$(CXX) $(LDFLAGS) -o $@ $(OBJECTS) -L$(TTCN3_DIR)/lib -lttcn3$(RT2_SUFFIX)-parallel$(DYNAMIC_SUFFIX) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
-
-.cc.o:
-	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
+$(PARALLEL_TARGET): $(GENERATED_SOURCES)
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $(GENERATED_SOURCES) -L$(TTCN3_DIR)/lib -lttcn3$(RT2_SUFFIX)-parallel$(DYNAMIC_SUFFIX) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
 
 .ttcn.cc .ttcn.hh:
 	$(TTCN3_COMPILER) $<
diff --git a/regression_test/HQ16404/Makefile b/regression_test/HQ16404/Makefile
index 25d30ecca..071d1d216 100644
--- a/regression_test/HQ16404/Makefile
+++ b/regression_test/HQ16404/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -60,7 +61,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/Makefile.regression b/regression_test/Makefile.regression
index 71957f99d..ef142195e 100644
--- a/regression_test/Makefile.regression
+++ b/regression_test/Makefile.regression
@@ -15,6 +15,7 @@
 #   Ormandi, Matyas
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 #
@@ -48,7 +49,10 @@ TTCN3_COMPILER += -g -L
 #RT2 := true
 
 # Use code splitting when running the tests
+# DO NOT enable both CODE_SPLIT and SPLIT_TO_SLICES
 #CODE_SPLIT := true
+# Use code splitting into slices when running the tests
+#SPLIT_TO_SLICES := 30
 
 ifdef RT2
 # add command line option to generate code for alternative runtime
@@ -70,6 +74,13 @@ ifdef CODE_SPLIT
 SPLIT_FLAG = -Utype
 # No space between -U and type !
 TTCN3_COMPILER += $(SPLIT_FLAG)
+export SPLIT_FLAG
+else ifdef SPLIT_TO_SLICES
+SPLIT_FLAG := -U$(SPLIT_TO_SLICES)
+TTCN3_COMPILER += $(SPLIT_FLAG)
+SPLIT_TO_SLICES := $(shell echo $(SPLIT_TO_SLICES) - 1 | bc)
+SPLIT_TO_SLICES := $(shell seq 1 ${SPLIT_TO_SLICES})
+export SPLIT_FLAG
 endif
 
 # Your platform. Allowed values: SOLARIS, SOLARIS8, LINUX, FREEBSD, WIN32
diff --git a/regression_test/RAW/Annex_E_variants/Makefile b/regression_test/RAW/Annex_E_variants/Makefile
index 96232b0f4..310bc96b3 100644
--- a/regression_test/RAW/Annex_E_variants/Makefile
+++ b/regression_test/RAW/Annex_E_variants/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -23,6 +24,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/RAW/Examples/Makefile b/regression_test/RAW/Examples/Makefile
index 7082745be..f37ada9ba 100644
--- a/regression_test/RAW/Examples/Makefile
+++ b/regression_test/RAW/Examples/Makefile
@@ -13,6 +13,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #   Szalai, Gabor
 #
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/RAW/HN25015/Makefile b/regression_test/RAW/HN25015/Makefile
index 72bce4736..e4e033c92 100644
--- a/regression_test/RAW/HN25015/Makefile
+++ b/regression_test/RAW/HN25015/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -57,7 +58,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/RAW/HQ26535/Makefile b/regression_test/RAW/HQ26535/Makefile
index 9c61666ba..77dceede5 100644
--- a/regression_test/RAW/HQ26535/Makefile
+++ b/regression_test/RAW/HQ26535/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -56,7 +57,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/RAW/HQ49956/Makefile b/regression_test/RAW/HQ49956/Makefile
index a06c11b1a..b7717462d 100644
--- a/regression_test/RAW/HQ49956/Makefile
+++ b/regression_test/RAW/HQ49956/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -56,7 +57,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/RAW/HS16977/Makefile b/regression_test/RAW/HS16977/Makefile
index e9aff4a4c..3c74695e8 100644
--- a/regression_test/RAW/HS16977/Makefile
+++ b/regression_test/RAW/HS16977/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -56,7 +57,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/RAW/ustr/Makefile b/regression_test/RAW/ustr/Makefile
index 00783daab..103474bdc 100644
--- a/regression_test/RAW/ustr/Makefile
+++ b/regression_test/RAW/ustr/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Botond Baranyi – initial implementation
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -54,7 +55,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/AbstractBlock/Makefile b/regression_test/XML/AbstractBlock/Makefile
index 1bd8b830f..2e9152656 100644
--- a/regression_test/XML/AbstractBlock/Makefile
+++ b/regression_test/XML/AbstractBlock/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR = ../..
@@ -59,7 +60,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/EXER-whitepaper/Makefile b/regression_test/XML/EXER-whitepaper/Makefile
index 922a5a9e6..260899ddc 100644
--- a/regression_test/XML/EXER-whitepaper/Makefile
+++ b/regression_test/XML/EXER-whitepaper/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 #
@@ -82,6 +83,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MODULES:.tt
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/XML/HM60295/Makefile b/regression_test/XML/HM60295/Makefile
index dd345bd9f..88df207eb 100644
--- a/regression_test/XML/HM60295/Makefile
+++ b/regression_test/XML/HM60295/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -36,6 +37,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES =
 USER_HEADERS = $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/XML/HN15589/Makefile b/regression_test/XML/HN15589/Makefile
index 09742020e..fd9e727c6 100644
--- a/regression_test/XML/HN15589/Makefile
+++ b/regression_test/XML/HN15589/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -71,6 +72,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MODULES:.tt
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/XML/HQ30408/Makefile b/regression_test/XML/HQ30408/Makefile
index 0d2a9ad17..0c2cbd386 100644
--- a/regression_test/XML/HQ30408/Makefile
+++ b/regression_test/XML/HQ30408/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR = ../..
@@ -60,7 +61,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/HR49727/Makefile b/regression_test/XML/HR49727/Makefile
index bcc26d0ae..9f313ef34 100644
--- a/regression_test/XML/HR49727/Makefile
+++ b/regression_test/XML/HR49727/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Ormandi, Matyas
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR = ../..
@@ -60,7 +61,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/HU13380/Makefile b/regression_test/XML/HU13380/Makefile
index 07796cfb5..edf8ebf9f 100644
--- a/regression_test/XML/HU13380/Makefile
+++ b/regression_test/XML/HU13380/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR = ../..
@@ -59,7 +60,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/NegativeTest/Makefile b/regression_test/XML/NegativeTest/Makefile
index 9898ed77a..1759c8b06 100644
--- a/regression_test/XML/NegativeTest/Makefile
+++ b/regression_test/XML/NegativeTest/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 #only works with RT2
@@ -62,7 +63,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES = ReadXmlImpl.cc
diff --git a/regression_test/XML/TTCNandXML/Makefile b/regression_test/XML/TTCNandXML/Makefile
index b382d2e05..f9df9da9b 100644
--- a/regression_test/XML/TTCNandXML/Makefile
+++ b/regression_test/XML/TTCNandXML/Makefile
@@ -11,6 +11,7 @@
 #   Baranyi, Botond
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -95,6 +96,11 @@ GENERATED_SOURCES := $(notdir $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MO
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 
diff --git a/regression_test/XML/UseNilLong/Makefile b/regression_test/XML/UseNilLong/Makefile
index b723b0646..0564c5f4c 100644
--- a/regression_test/XML/UseNilLong/Makefile
+++ b/regression_test/XML/UseNilLong/Makefile
@@ -58,7 +58,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/XML/XER/Makefile b/regression_test/XML/XER/Makefile
index 80715b9e4..996f1f52e 100644
--- a/regression_test/XML/XER/Makefile
+++ b/regression_test/XML/XER/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -96,6 +97,11 @@ GENERATED_SOURCES := $(notdir $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MO
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/XML/XMLqualif/Makefile b/regression_test/XML/XMLqualif/Makefile
index a0c69c23f..b435ad256 100644
--- a/regression_test/XML/XMLqualif/Makefile
+++ b/regression_test/XML/XMLqualif/Makefile
@@ -10,6 +10,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -96,6 +97,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc) $(TTCN3_PP_MODULES:.ttcnpp=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/XML/XmlWorkflow/PIPEasp_CNL113334/test/Makefile b/regression_test/XML/XmlWorkflow/PIPEasp_CNL113334/test/Makefile
index 9234bd1c3..9fc0bd331 100644
--- a/regression_test/XML/XmlWorkflow/PIPEasp_CNL113334/test/Makefile
+++ b/regression_test/XML/XmlWorkflow/PIPEasp_CNL113334/test/Makefile
@@ -29,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = PIPEasp_PT.cc
diff --git a/regression_test/XML/XmlWorkflow/bin/prj2mk.pl b/regression_test/XML/XmlWorkflow/bin/prj2mk.pl
index 987bd6461..fcb4b6454 100644
--- a/regression_test/XML/XmlWorkflow/bin/prj2mk.pl
+++ b/regression_test/XML/XmlWorkflow/bin/prj2mk.pl
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Pandi, Krisztian
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ###############################################################################
 
@@ -44,7 +45,7 @@ do {
 } unless $prj_dir =~ s!/[^/]+$!/!;
 
 # Pick up parameters from the environment
-my $split = defined $ENV{CODE_SPLIT} ? '-Utype' : '';
+my $split = defined $ENV{SPLIT_FLAG} ? $ENV{SPLIT_FLAG} : '';
 my $rt2   = defined $ENV{RT2}        ? '-R'     : '';
 
 my %files;
diff --git a/regression_test/XML/XmlWorkflow/bin2/prj2mk.pl b/regression_test/XML/XmlWorkflow/bin2/prj2mk.pl
index 4627d2997..271bbda82 100644
--- a/regression_test/XML/XmlWorkflow/bin2/prj2mk.pl
+++ b/regression_test/XML/XmlWorkflow/bin2/prj2mk.pl
@@ -8,6 +8,7 @@
 #
 # Contributors:
 #   Balasko, Jeno
+#   Szabo, Bence Janos
 #
 ###############################################################################
 
@@ -41,7 +42,7 @@ do {
 } unless $prj_dir =~ s!/[^/]+$!/!;
 
 # Pick up parameters from the environment
-my $split = defined $ENV{CODE_SPLIT} ? '-Utype' : '';
+my $split = defined $ENV{SPLIT_FLAG} ? $ENV{SPLIT_FLAG} : '';
 my $rt2   = defined $ENV{RT2}        ? '-R'     : '';
 
 my %files;
diff --git a/regression_test/XML/xsdConverter/Makefile.converter b/regression_test/XML/xsdConverter/Makefile.converter
index b5ff34d4f..49f7be199 100644
--- a/regression_test/XML/xsdConverter/Makefile.converter
+++ b/regression_test/XML/xsdConverter/Makefile.converter
@@ -22,6 +22,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 
diff --git a/regression_test/acceptance_test/Fibonacci/Makefile b/regression_test/acceptance_test/Fibonacci/Makefile
index 971d9bf92..4498894ea 100644
--- a/regression_test/acceptance_test/Fibonacci/Makefile
+++ b/regression_test/acceptance_test/Fibonacci/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Gecse, Roland
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 # This Makefile was generated by the compiler
@@ -75,6 +76,11 @@ GENERATED_SOURCES = Fibonacci.cc
 GENERATED_HEADERS = Fibonacci.hh
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/acceptance_test/chinese/Makefile b/regression_test/acceptance_test/chinese/Makefile
index dab486153..1d6a2f1af 100644
--- a/regression_test/acceptance_test/chinese/Makefile
+++ b/regression_test/acceptance_test/chinese/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Gecse, Roland
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 # This Makefile was generated by the compiler
@@ -76,6 +77,11 @@ GENERATED_SOURCES = chinese.cc
 GENERATED_HEADERS = chinese.hh
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/acceptance_test/comptest/Makefile b/regression_test/acceptance_test/comptest/Makefile
index e445fc98e..bf8f8aa37 100644
--- a/regression_test/acceptance_test/comptest/Makefile
+++ b/regression_test/acceptance_test/comptest/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Gecse, Roland
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../
@@ -46,6 +47,11 @@ GENERATED_SOURCES = comptest.cc
 GENERATED_HEADERS = comptest.hh
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/acceptance_test/testerlanc/Makefile b/regression_test/acceptance_test/testerlanc/Makefile
index 3e031e7fc..3c2a500e1 100644
--- a/regression_test/acceptance_test/testerlanc/Makefile
+++ b/regression_test/acceptance_test/testerlanc/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Gecse, Roland
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 # This Makefile was generated by the compiler
@@ -76,6 +77,11 @@ GENERATED_SOURCES = testerlanc.cc
 GENERATED_HEADERS = testerlanc.hh
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/all_from/Makefile b/regression_test/all_from/Makefile
index c0d381b5b..08d6653bc 100644
--- a/regression_test/all_from/Makefile
+++ b/regression_test/all_from/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Baranyi, Botond
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -63,7 +64,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES = f_ext.cc
diff --git a/regression_test/anytype/Makefile b/regression_test/anytype/Makefile
index 4f45e739e..844136f64 100644
--- a/regression_test/anytype/Makefile
+++ b/regression_test/anytype/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -85,6 +86,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MODULES:.ttc
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/anytypeOper/Makefile b/regression_test/anytypeOper/Makefile
index ae395cb71..6ba0b6e8c 100644
--- a/regression_test/anytypeOper/Makefile
+++ b/regression_test/anytypeOper/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -24,6 +25,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/arrayOper/Makefile b/regression_test/arrayOper/Makefile
index cc424f458..821c7708a 100644
--- a/regression_test/arrayOper/Makefile
+++ b/regression_test/arrayOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/assignmentNotation/Makefile b/regression_test/assignmentNotation/Makefile
index fb9e72998..299e61709 100644
--- a/regression_test/assignmentNotation/Makefile
+++ b/regression_test/assignmentNotation/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) ASN_Definitions.cc
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) ASN_Definitions.hh
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/basicStatem/Makefile b/regression_test/basicStatem/Makefile
index eb448e026..754bf0dd3 100644
--- a/regression_test/basicStatem/Makefile
+++ b/regression_test/basicStatem/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/bitstrOper/Makefile b/regression_test/bitstrOper/Makefile
index c74ab85b7..4203f661a 100644
--- a/regression_test/bitstrOper/Makefile
+++ b/regression_test/bitstrOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/boolOper/Makefile b/regression_test/boolOper/Makefile
index f1ba50f81..ba829315a 100644
--- a/regression_test/boolOper/Makefile
+++ b/regression_test/boolOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/cfgFile/define/macro_reference/Makefile b/regression_test/cfgFile/define/macro_reference/Makefile
index 37842c4ac..5513772cc 100644
--- a/regression_test/cfgFile/define/macro_reference/Makefile
+++ b/regression_test/cfgFile/define/macro_reference/Makefile
@@ -10,6 +10,7 @@
 #   Beres, Szabolcs
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../../
@@ -48,12 +49,12 @@ all: $(GENERATED_DIRS)
 $(DIR_SINGLE):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG)
 
 $(DIR_PARALLEL):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/cfgFile/define/structured/Makefile b/regression_test/cfgFile/define/structured/Makefile
index d131aeddd..30617920b 100644
--- a/regression_test/cfgFile/define/structured/Makefile
+++ b/regression_test/cfgFile/define/structured/Makefile
@@ -10,6 +10,7 @@
 #   Beres, Szabolcs
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../../
@@ -48,12 +49,12 @@ all: $(GENERATED_DIRS)
 $(DIR_SINGLE):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG) 'CXXFLAGS=$(CXXFLAGS)' 'LDFLAGS=$(LDFLAGS)'
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG) 'CXXFLAGS=$(CXXFLAGS)' 'LDFLAGS=$(LDFLAGS)'
 	
 $(DIR_PARALLEL):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG) 'CXXFLAGS=$(CXXFLAGS)' 'LDFLAGS=$(LDFLAGS)'
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG) 'CXXFLAGS=$(CXXFLAGS)' 'LDFLAGS=$(LDFLAGS)'
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/cfgFile/module_parameters/assignment/Makefile b/regression_test/cfgFile/module_parameters/assignment/Makefile
index 97e3f6d65..8a88a731c 100644
--- a/regression_test/cfgFile/module_parameters/assignment/Makefile
+++ b/regression_test/cfgFile/module_parameters/assignment/Makefile
@@ -10,6 +10,7 @@
 #   Beres, Szabolcs
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../../
@@ -45,12 +46,12 @@ all: $(GENERATED_DIRS)
 dir_single_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG)
 	
 dir_parallel_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/cfgFile/module_parameters/concat/Makefile b/regression_test/cfgFile/module_parameters/concat/Makefile
index 22e71edec..73665316a 100644
--- a/regression_test/cfgFile/module_parameters/concat/Makefile
+++ b/regression_test/cfgFile/module_parameters/concat/Makefile
@@ -10,6 +10,7 @@
 #   Beres, Szabolcs
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../../
@@ -45,12 +46,12 @@ all: $(GENERATED_DIRS)
 dir_single_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG)
 	
 dir_parallel_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/cfgFile/module_parameters/references/Makefile b/regression_test/cfgFile/module_parameters/references/Makefile
index 9db946076..6337ff948 100644
--- a/regression_test/cfgFile/module_parameters/references/Makefile
+++ b/regression_test/cfgFile/module_parameters/references/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../../
@@ -43,12 +44,12 @@ all: $(GENERATED_DIRS)
 dir_single_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG)
 	
 dir_parallel_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/cfgFile/ordered_include/Makefile b/regression_test/cfgFile/ordered_include/Makefile
index 281268697..dfde53440 100644
--- a/regression_test/cfgFile/ordered_include/Makefile
+++ b/regression_test/cfgFile/ordered_include/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../
@@ -46,12 +47,12 @@ all: $(GENERATED_DIRS)
 dir_single_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s ./* && $(MAKE_PROG)
 	
 dir_parallel_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) ./* && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) ./* && $(MAKE_PROG)
 
 run: clean run_single run_parallel
 
diff --git a/regression_test/cfgFile/testport_parameters/Makefile b/regression_test/cfgFile/testport_parameters/Makefile
index 1012a2869..4c0d3bd8d 100644
--- a/regression_test/cfgFile/testport_parameters/Makefile
+++ b/regression_test/cfgFile/testport_parameters/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Baranyi, Botond
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../../
@@ -46,12 +47,12 @@ all: $(GENERATED_DIRS)
 dir_single_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s $(TTCN_MODULE) $(PORT) && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s $(TTCN_MODULE) $(PORT) && $(MAKE_PROG)
 	
 dir_parallel_mode:
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(TTCN_MODULE) $(PORT) && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) $(TTCN_MODULE) $(PORT) && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) 
diff --git a/regression_test/charOper/Makefile b/regression_test/charOper/Makefile
index 79abaf4c4..54c96c321 100644
--- a/regression_test/charOper/Makefile
+++ b/regression_test/charOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/charstrOper/Makefile b/regression_test/charstrOper/Makefile
index 64699fbf1..a3b093c8b 100644
--- a/regression_test/charstrOper/Makefile
+++ b/regression_test/charstrOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/checkstate/Makefile b/regression_test/checkstate/Makefile
index 462c4d95d..19a316328 100644
--- a/regression_test/checkstate/Makefile
+++ b/regression_test/checkstate/Makefile
@@ -23,6 +23,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/commMessage/Makefile b/regression_test/commMessage/Makefile
index 58ad50234..a9eaba960 100644
--- a/regression_test/commMessage/Makefile
+++ b/regression_test/commMessage/Makefile
@@ -14,6 +14,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -34,6 +35,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/commProcedure/Makefile b/regression_test/commProcedure/Makefile
index 4fde71ec0..4e61d4422 100644
--- a/regression_test/commProcedure/Makefile
+++ b/regression_test/commProcedure/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #   Tatarka, Gabor
 #
@@ -29,6 +30,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 GENERATED_SOURCES += CompileOnlyPort.cc CompileOnlyPortAddress.cc
 GENERATED_HEADERS += CompileOnlyPort.hh CompileOnlyPortAddress.hh
diff --git a/regression_test/compileonly/HT48786/Makefile b/regression_test/compileonly/HT48786/Makefile
index 8fb30f7e3..3d246df07 100644
--- a/regression_test/compileonly/HT48786/Makefile
+++ b/regression_test/compileonly/HT48786/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/assignmentNotation/Makefile b/regression_test/compileonly/assignmentNotation/Makefile
index 4f0c3dd21..aa0f7f28d 100644
--- a/regression_test/compileonly/assignmentNotation/Makefile
+++ b/regression_test/compileonly/assignmentNotation/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/attribQualif/Makefile b/regression_test/compileonly/attribQualif/Makefile
index 1f6dd997b..46502a795 100644
--- a/regression_test/compileonly/attribQualif/Makefile
+++ b/regression_test/compileonly/attribQualif/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/circularImport/Makefile b/regression_test/compileonly/circularImport/Makefile
index bb2e9b2ba..401007130 100644
--- a/regression_test/compileonly/circularImport/Makefile
+++ b/regression_test/compileonly/circularImport/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -27,6 +28,11 @@ GENERATED_SOURCES := $(MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/circularImport2/Makefile b/regression_test/compileonly/circularImport2/Makefile
index 04fbd8e9e..eca4a90ae 100644
--- a/regression_test/compileonly/circularImport2/Makefile
+++ b/regression_test/compileonly/circularImport2/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -23,6 +24,11 @@ GENERATED_SOURCES := $(MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/compareImported/Makefile b/regression_test/compileonly/compareImported/Makefile
index cbc7e8e41..41e231f0c 100644
--- a/regression_test/compileonly/compareImported/Makefile
+++ b/regression_test/compileonly/compareImported/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/compoundif/Makefile b/regression_test/compileonly/compoundif/Makefile
index 616d2243f..c27382824 100644
--- a/regression_test/compileonly/compoundif/Makefile
+++ b/regression_test/compileonly/compoundif/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Forstner, Matyas
 #   Kovacs, Ferenc
+#   Szabo, Bence Janos
 #   Raduly, Csaba
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/defaultParamUsageBeforeDecl/Makefile b/regression_test/compileonly/defaultParamUsageBeforeDecl/Makefile
index 024abd788..c0753022f 100644
--- a/regression_test/compileonly/defaultParamUsageBeforeDecl/Makefile
+++ b/regression_test/compileonly/defaultParamUsageBeforeDecl/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -27,6 +28,11 @@ GENERATED_SOURCES := $(MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/dynamicTemplate/Makefile b/regression_test/compileonly/dynamicTemplate/Makefile
index 49b734b44..beb093b4f 100644
--- a/regression_test/compileonly/dynamicTemplate/Makefile
+++ b/regression_test/compileonly/dynamicTemplate/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = external.cc
@@ -62,3 +68,4 @@ DynamicTemplate.o: DynamicTemplate.cc DynamicTemplate.hh
 
 vpath $(USER_SOURCES) $(ABS_SRC)
 
+
diff --git a/regression_test/compileonly/isbound/Makefile b/regression_test/compileonly/isbound/Makefile
index 0324c0788..cc13f9ccf 100644
--- a/regression_test/compileonly/isbound/Makefile
+++ b/regression_test/compileonly/isbound/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 #!/usr/bin/make -f
@@ -50,6 +51,11 @@ GOOD_HH := $(GOOD_TTCN:.ttcn=.hh)
 
 ifdef CODE_SPLIT
 GOOD_CC := $(foreach file, $(GOOD_CC:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GOOD_CC:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GOOD_CC += $(GENERATED_SOURCES2)
 endif
 
 
diff --git a/regression_test/compileonly/namedActualParameters/Makefile b/regression_test/compileonly/namedActualParameters/Makefile
index 2acf70cf5..284945599 100644
--- a/regression_test/compileonly/namedActualParameters/Makefile
+++ b/regression_test/compileonly/namedActualParameters/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/openType/Makefile b/regression_test/compileonly/openType/Makefile
index a49f48f39..529e4529e 100644
--- a/regression_test/compileonly/openType/Makefile
+++ b/regression_test/compileonly/openType/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES := $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/openTypeNames/Makefile b/regression_test/compileonly/openTypeNames/Makefile
index 9f471831c..baf4892f1 100644
--- a/regression_test/compileonly/openTypeNames/Makefile
+++ b/regression_test/compileonly/openTypeNames/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -24,6 +25,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/optionalAssignCompare/Makefile b/regression_test/compileonly/optionalAssignCompare/Makefile
index 6ab5d74b5..3edd0dabe 100644
--- a/regression_test/compileonly/optionalAssignCompare/Makefile
+++ b/regression_test/compileonly/optionalAssignCompare/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/portConstructor/Makefile b/regression_test/compileonly/portConstructor/Makefile
index 264a2861c..c7fc1b56a 100644
--- a/regression_test/compileonly/portConstructor/Makefile
+++ b/regression_test/compileonly/portConstructor/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -27,6 +28,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 GENERATED_SOURCES += PT1.cc PT3.cc
 GENERATED_HEADERS += PT1.hh PT3.hh
diff --git a/regression_test/compileonly/selectCase/Makefile b/regression_test/compileonly/selectCase/Makefile
index 846e2da2a..ddee69884 100644
--- a/regression_test/compileonly/selectCase/Makefile
+++ b/regression_test/compileonly/selectCase/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -23,6 +24,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/styleGuide/Makefile b/regression_test/compileonly/styleGuide/Makefile
index ed9c3c458..3b010716a 100644
--- a/regression_test/compileonly/styleGuide/Makefile
+++ b/regression_test/compileonly/styleGuide/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -33,6 +34,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 GENERATED_SOURCES += $(TESTPORT_SOURCES)
 GENERATED_HEADERS += $(TESTPORT_SOURCES:.cc=.hh)
diff --git a/regression_test/compileonly/topLevelPdu/Makefile b/regression_test/compileonly/topLevelPdu/Makefile
index 1cb1457eb..410f705ca 100644
--- a/regression_test/compileonly/topLevelPdu/Makefile
+++ b/regression_test/compileonly/topLevelPdu/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -27,6 +28,11 @@ GENERATED_SOURCES := $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/compileonly/typeInstantiation/Makefile b/regression_test/compileonly/typeInstantiation/Makefile
index 4bd5e8e61..a147a05af 100644
--- a/regression_test/compileonly/typeInstantiation/Makefile
+++ b/regression_test/compileonly/typeInstantiation/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES := $(MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS := $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/configOper/Makefile b/regression_test/configOper/Makefile
index d68941030..9531689f9 100644
--- a/regression_test/configOper/Makefile
+++ b/regression_test/configOper/Makefile
@@ -13,6 +13,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES := configOper_port2.cc
 USER_HEADERS := $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/controlTimer/Makefile b/regression_test/controlTimer/Makefile
index 7d85d58dd..00cecf113 100644
--- a/regression_test/controlTimer/Makefile
+++ b/regression_test/controlTimer/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -27,6 +28,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/customEncoding/Makefile b/regression_test/customEncoding/Makefile
index b5d37f282..5d4a4abab 100644
--- a/regression_test/customEncoding/Makefile
+++ b/regression_test/customEncoding/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
diff --git a/regression_test/defaultOper/Makefile b/regression_test/defaultOper/Makefile
index 776aef805..093f8c295 100644
--- a/regression_test/defaultOper/Makefile
+++ b/regression_test/defaultOper/Makefile
@@ -10,6 +10,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/enumOper/Makefile b/regression_test/enumOper/Makefile
index 160226a5c..edf0c4f04 100644
--- a/regression_test/enumOper/Makefile
+++ b/regression_test/enumOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/floatOper/Makefile b/regression_test/floatOper/Makefile
index 99a45548c..fc26c4fdc 100644
--- a/regression_test/floatOper/Makefile
+++ b/regression_test/floatOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/functionReference/Makefile b/regression_test/functionReference/Makefile
index 2d7704362..75ac7dd0f 100644
--- a/regression_test/functionReference/Makefile
+++ b/regression_test/functionReference/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/functionSubref/Makefile b/regression_test/functionSubref/Makefile
index 9029e613e..c90509f55 100644
--- a/regression_test/functionSubref/Makefile
+++ b/regression_test/functionSubref/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -24,6 +25,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES =
 USER_HEADERS = $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/hexstrOper/Makefile b/regression_test/hexstrOper/Makefile
index 228d715dc..911b1cbd8 100644
--- a/regression_test/hexstrOper/Makefile
+++ b/regression_test/hexstrOper/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/hostid/Makefile b/regression_test/hostid/Makefile
index 614df8fa4..1f18f4780 100644
--- a/regression_test/hostid/Makefile
+++ b/regression_test/hostid/Makefile
@@ -23,6 +23,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/iconv/Makefile b/regression_test/iconv/Makefile
index e0520e5a3..998809e8a 100644
--- a/regression_test/iconv/Makefile
+++ b/regression_test/iconv/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -51,6 +52,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # C/C++ Source & header files of Test Ports, external functions and
diff --git a/regression_test/implicitMsgEncoding/Makefile b/regression_test/implicitMsgEncoding/Makefile
index c482b0ee0..dc0e9bc62 100644
--- a/regression_test/implicitMsgEncoding/Makefile
+++ b/regression_test/implicitMsgEncoding/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/implicitOmit/Makefile b/regression_test/implicitOmit/Makefile
index e091c962c..e5c50268a 100644
--- a/regression_test/implicitOmit/Makefile
+++ b/regression_test/implicitOmit/Makefile
@@ -11,6 +11,7 @@
 #   Balasko, Jeno
 #   Baranyi, Botond
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -52,7 +53,12 @@ ASN1_MODULES = IOAsn.asn
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/intOper/Makefile b/regression_test/intOper/Makefile
index 11be01670..b07d020cf 100644
--- a/regression_test/intOper/Makefile
+++ b/regression_test/intOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES = PCOType.cc
 USER_HEADERS = $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/ipv6/Makefile b/regression_test/ipv6/Makefile
index 8aa79d7fc..002985f16 100644
--- a/regression_test/ipv6/Makefile
+++ b/regression_test/ipv6/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES =
 USER_HEADERS = $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/ispresent/Makefile b/regression_test/ispresent/Makefile
index dd4dc0dfb..2307b0989 100644
--- a/regression_test/ispresent/Makefile
+++ b/regression_test/ispresent/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Balasko, Jeno
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -23,6 +24,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/json/Makefile b/regression_test/json/Makefile
index 2c69459f6..33a642315 100644
--- a/regression_test/json/Makefile
+++ b/regression_test/json/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =  
diff --git a/regression_test/junitlogger/Makefile b/regression_test/junitlogger/Makefile
index 98682c9ad..91eccd03f 100644
--- a/regression_test/junitlogger/Makefile
+++ b/regression_test/junitlogger/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Lovassy, Arpad
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/lazyEval/Makefile b/regression_test/lazyEval/Makefile
index 20bae6e33..218091e48 100644
--- a/regression_test/lazyEval/Makefile
+++ b/regression_test/lazyEval/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../
@@ -44,12 +45,12 @@ all: $(GENERATED_DIRS)
 $(DIR_SINGLE):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -s -e $(RUNNABLE) ./*  && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -s -e $(RUNNABLE) ./*  && $(MAKE_PROG)
 
 $(DIR_PARALLEL):
 	mkdir $@
 	cd $@ && for file in $(FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -e $(RUNNABLE) ./*  && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -e $(RUNNABLE) ./*  && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(CFG) && grep "Overall verdict: pass" *.log
diff --git a/regression_test/logFiles/Makefile b/regression_test/logFiles/Makefile
index 8deeea6e5..adeada1cc 100644
--- a/regression_test/logFiles/Makefile
+++ b/regression_test/logFiles/Makefile
@@ -39,6 +39,12 @@ GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+COMPILER_FLAGS += $(SPLIT_FLAG)
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES := $(ABS_SRC)/extfunc.cc
diff --git a/regression_test/logger_control/Makefile b/regression_test/logger_control/Makefile
index fa9f3cd2e..62797228c 100644
--- a/regression_test/logger_control/Makefile
+++ b/regression_test/logger_control/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -61,7 +62,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES :=
diff --git a/regression_test/logger_control/TitanLoggerControl.ttcn b/regression_test/logger_control/TitanLoggerControl.ttcn
deleted file mode 120000
index c2f0bda98..000000000
--- a/regression_test/logger_control/TitanLoggerControl.ttcn
+++ /dev/null
@@ -1 +0,0 @@
-../../core/TitanLoggerControl.ttcn
\ No newline at end of file
diff --git a/regression_test/loggerplugin/Makefile b/regression_test/loggerplugin/Makefile
index 76730c380..274049e22 100644
--- a/regression_test/loggerplugin/Makefile
+++ b/regression_test/loggerplugin/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Delic, Adam
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -24,6 +25,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/lostTimer/Makefile b/regression_test/lostTimer/Makefile
index 97c3832fe..40fe1efce 100644
--- a/regression_test/lostTimer/Makefile
+++ b/regression_test/lostTimer/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/macros/Makefile b/regression_test/macros/Makefile
index d77fac4d1..33fb96cd4 100644
--- a/regression_test/macros/Makefile
+++ b/regression_test/macros/Makefile
@@ -10,6 +10,7 @@
 #   Czerman, Oliver
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/modifiedTemplate/Makefile b/regression_test/modifiedTemplate/Makefile
index 523cb8867..8350669c2 100644
--- a/regression_test/modifiedTemplate/Makefile
+++ b/regression_test/modifiedTemplate/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/namedActualParameters/Makefile b/regression_test/namedActualParameters/Makefile
index 2a5c2b79d..33bd9c7b8 100644
--- a/regression_test/namedActualParameters/Makefile
+++ b/regression_test/namedActualParameters/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -27,6 +28,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/negativeTest/Makefile b/regression_test/negativeTest/Makefile
index 9560f9928..c7b0d0b24 100644
--- a/regression_test/negativeTest/Makefile
+++ b/regression_test/negativeTest/Makefile
@@ -11,6 +11,7 @@
 #   Delic, Adam
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 ifeq "$(MAKELEVEL)" "0"
@@ -49,6 +50,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/nonMandatoryPar/Makefile b/regression_test/nonMandatoryPar/Makefile
index 0f23d8dcd..2705afeca 100644
--- a/regression_test/nonMandatoryPar/Makefile
+++ b/regression_test/nonMandatoryPar/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -27,6 +28,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 USER_SOURCES = PCOType.cc
 USER_HEADERS = $(USER_SOURCES:.cc=.hh)
diff --git a/regression_test/objidOper/Makefile b/regression_test/objidOper/Makefile
index daa01c424..89fdd19ac 100644
--- a/regression_test/objidOper/Makefile
+++ b/regression_test/objidOper/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -28,6 +29,11 @@ GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
diff --git a/regression_test/octetstrOper/Makefile b/regression_test/octetstrOper/Makefile
index ad0f22d02..a6328e417 100644
--- a/regression_test/octetstrOper/Makefile
+++ b/regression_test/octetstrOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/omitdef/Makefile b/regression_test/omitdef/Makefile
index 1ce467064..72a2a4d80 100644
--- a/regression_test/omitdef/Makefile
+++ b/regression_test/omitdef/Makefile
@@ -10,6 +10,7 @@
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Szabados, Kristof
 #
 ##############################################################################
@@ -30,6 +31,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/pattern_quadruples/Makefile b/regression_test/pattern_quadruples/Makefile
index 215bfd202..9384a59b5 100644
--- a/regression_test/pattern_quadruples/Makefile
+++ b/regression_test/pattern_quadruples/Makefile
@@ -9,6 +9,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #   Zalanyi, Balazs Andor
 #
 ##############################################################################
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/preCompilerFlags/Makefile b/regression_test/preCompilerFlags/Makefile
index a1d15312c..4b4873767 100644
--- a/regression_test/preCompilerFlags/Makefile
+++ b/regression_test/preCompilerFlags/Makefile
@@ -12,6 +12,7 @@
 #   Dimitrov, Peter
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -31,6 +32,11 @@ GENERATED_SOURCES = $(PREPROCESSED_TTCN:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/predefFunction/Makefile b/regression_test/predefFunction/Makefile
index 527ff5a6d..48a991c31 100644
--- a/regression_test/predefFunction/Makefile
+++ b/regression_test/predefFunction/Makefile
@@ -14,6 +14,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -82,6 +83,12 @@ GENERATED_SOURCES := $(notdir $(TTCN3_MODULES:.ttcn=.cc))
 GENERATED_HEADERS := $(notdir $(TTCN3_MODULES:.ttcn=.hh))
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+COMPILER_FLAGS += $(SPLIT_FLAG)
 endif
 
 # Source & header files of Test Ports and your other modules:
diff --git a/regression_test/profiler/Makefile b/regression_test/profiler/Makefile
index dc51e7aa4..26e3607d8 100644
--- a/regression_test/profiler/Makefile
+++ b/regression_test/profiler/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -25,6 +26,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = PIPEasp_PT.cc
@@ -43,6 +49,12 @@ PROF_TTCN3_LIB = ttcn3$(RT2_SUFFIX)-parallel$(DYNAMIC_SUFFIX)
 
 PROF_GENERATED_SOURCES = $(PROF_MODULES:.ttcn=.cc)
 PROF_GENERATED_HEADERS = $(PROF_GENERATED_SOURCES:.cc=.hh)
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+PROF_GENERATED_SOURCES2 := $(foreach file, $(PROF_GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+PROF_GENERATED_SOURCES += $(PROF_GENERATED_SOURCES2)
+endif
 
 PROF_OBJECTS = $(PROF_GENERATED_SOURCES:.cc=.o)
 
diff --git a/regression_test/recofOper/Makefile b/regression_test/recofOper/Makefile
index 9b10e78c0..301277182 100644
--- a/regression_test/recofOper/Makefile
+++ b/regression_test/recofOper/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -37,6 +38,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/recordOper/Makefile b/regression_test/recordOper/Makefile
index a00d2a448..e30fb8329 100644
--- a/regression_test/recordOper/Makefile
+++ b/regression_test/recordOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/setOper/Makefile b/regression_test/setOper/Makefile
index d4290fe8d..a3fdbe88d 100644
--- a/regression_test/setOper/Makefile
+++ b/regression_test/setOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/setofMatch/Makefile b/regression_test/setofMatch/Makefile
index 091a2658a..8a5d1b626 100644
--- a/regression_test/setofMatch/Makefile
+++ b/regression_test/setofMatch/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/setofOper/Makefile b/regression_test/setofOper/Makefile
index 6dc563a13..03266d33b 100644
--- a/regression_test/setofOper/Makefile
+++ b/regression_test/setofOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/slider/Makefile b/regression_test/slider/Makefile
index ceb717e94..940293a19 100644
--- a/regression_test/slider/Makefile
+++ b/regression_test/slider/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -64,7 +65,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES = PT1.cc UNDER.cc
diff --git a/regression_test/templateAnytype/Makefile b/regression_test/templateAnytype/Makefile
index 2b82b56d8..fe7ce46a3 100644
--- a/regression_test/templateAnytype/Makefile
+++ b/regression_test/templateAnytype/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -24,6 +25,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateBitstr/Makefile b/regression_test/templateBitstr/Makefile
index fd94be3ba..c934bada2 100644
--- a/regression_test/templateBitstr/Makefile
+++ b/regression_test/templateBitstr/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateBool/Makefile b/regression_test/templateBool/Makefile
index 94c9c2be7..ba6004279 100644
--- a/regression_test/templateBool/Makefile
+++ b/regression_test/templateBool/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateChar/Makefile b/regression_test/templateChar/Makefile
index 52ff300b9..1399d234c 100644
--- a/regression_test/templateChar/Makefile
+++ b/regression_test/templateChar/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateCharstr/Makefile b/regression_test/templateCharstr/Makefile
index f8cff2327..72be5a21b 100644
--- a/regression_test/templateCharstr/Makefile
+++ b/regression_test/templateCharstr/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateEnum/Makefile b/regression_test/templateEnum/Makefile
index 77b3b7bfd..135a98e68 100644
--- a/regression_test/templateEnum/Makefile
+++ b/regression_test/templateEnum/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateFloat/Makefile b/regression_test/templateFloat/Makefile
index ae2d7b0ea..87232cc0e 100644
--- a/regression_test/templateFloat/Makefile
+++ b/regression_test/templateFloat/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateHexstr/Makefile b/regression_test/templateHexstr/Makefile
index cdc6aae3b..bd9213e1d 100644
--- a/regression_test/templateHexstr/Makefile
+++ b/regression_test/templateHexstr/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Baranyi, Botond – initial implementation
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -23,6 +24,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateInt/Makefile b/regression_test/templateInt/Makefile
index 6c1fc7444..ecab0730c 100644
--- a/regression_test/templateInt/Makefile
+++ b/regression_test/templateInt/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateOctetstr/Makefile b/regression_test/templateOctetstr/Makefile
index de278d959..3950333fc 100644
--- a/regression_test/templateOctetstr/Makefile
+++ b/regression_test/templateOctetstr/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateOmit/LegacyTests/Makefile b/regression_test/templateOmit/LegacyTests/Makefile
index 6d7d5e482..145258c29 100644
--- a/regression_test/templateOmit/LegacyTests/Makefile
+++ b/regression_test/templateOmit/LegacyTests/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateOmit/NewTests/Makefile b/regression_test/templateOmit/NewTests/Makefile
index c2d82294c..92c148737 100644
--- a/regression_test/templateOmit/NewTests/Makefile
+++ b/regression_test/templateOmit/NewTests/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ../..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateRec/Makefile b/regression_test/templateRec/Makefile
index 10888b9df..9ad7ee18c 100644
--- a/regression_test/templateRec/Makefile
+++ b/regression_test/templateRec/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -34,6 +35,11 @@ COMPILER_FLAGS += -M
 
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateRecof/Makefile b/regression_test/templateRecof/Makefile
index a583290b8..ab64eeefc 100644
--- a/regression_test/templateRecof/Makefile
+++ b/regression_test/templateRecof/Makefile
@@ -12,6 +12,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -29,6 +30,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateSet/Makefile b/regression_test/templateSet/Makefile
index b441625ff..8d46b980f 100644
--- a/regression_test/templateSet/Makefile
+++ b/regression_test/templateSet/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateSetof/Makefile b/regression_test/templateSetof/Makefile
index b9154d56d..9753461eb 100644
--- a/regression_test/templateSetof/Makefile
+++ b/regression_test/templateSetof/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateUnicharstr/Makefile b/regression_test/templateUnicharstr/Makefile
index 9a99c779b..d29946581 100644
--- a/regression_test/templateUnicharstr/Makefile
+++ b/regression_test/templateUnicharstr/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Botond, Baranyi – initial implementation
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -23,6 +24,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/templateUnion/Makefile b/regression_test/templateUnion/Makefile
index ea2dc17b8..4565c66c2 100644
--- a/regression_test/templateUnion/Makefile
+++ b/regression_test/templateUnion/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/testcase_defparam/Makefile b/regression_test/testcase_defparam/Makefile
index 63954cad3..e2f7625d3 100644
--- a/regression_test/testcase_defparam/Makefile
+++ b/regression_test/testcase_defparam/Makefile
@@ -10,6 +10,7 @@
 #   Balasko, Jeno
 #   Baranyi, Botond
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -62,7 +63,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/text2ttcn/Makefile b/regression_test/text2ttcn/Makefile
index a643db2f5..bf55c5beb 100644
--- a/regression_test/text2ttcn/Makefile
+++ b/regression_test/text2ttcn/Makefile
@@ -48,12 +48,12 @@ all: $(GENERATED_DIRS)
 $(DIR_SINGLE):
 	mkdir $@
 	cd $@ && for file in $(SINGLE_FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -sM -e $(RUNNABLE) ./*  && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -sM -e $(RUNNABLE) ./*  && $(MAKE_PROG)
 
 $(DIR_PARALLEL):
 	mkdir $@
 	cd $@ && for file in $(PARALLEL_FILES); do ln -s ../$$file || exit; done
-	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) -M -e $(RUNNABLE) ./*  && $(MAKE_PROG)
+	cd $@ && $(TTCN3_DIR)/bin/ttcn3_makefilegen $(COVERAGE_FLAG) $(SPLIT_FLAG) -M -e $(RUNNABLE) ./*  && $(MAKE_PROG)
 
 run: $(GENERATED_DIRS)
 	cd $(DIR_SINGLE) && ./$(RUNNABLE) $(SINGLE_CFG) && grep "Overall verdict: pass" *.log
diff --git a/regression_test/transparent/Makefile b/regression_test/transparent/Makefile
index 4c7456be9..e1842b782 100644
--- a/regression_test/transparent/Makefile
+++ b/regression_test/transparent/Makefile
@@ -9,6 +9,7 @@
 #   Baji, Laszlo
 #   Balasko, Jeno
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -71,7 +72,12 @@ ASN1_MODULES =
 # this project:
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
-
+ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
 # C/C++ Source & header files of Test Ports, external functions and
 # other modules:
 USER_SOURCES =
diff --git a/regression_test/tryCatch/Makefile b/regression_test/tryCatch/Makefile
index 032c5a965..fa23d0391 100644
--- a/regression_test/tryCatch/Makefile
+++ b/regression_test/tryCatch/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Balasko, Jeno
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = external_function.cc PCOType.cc
diff --git a/regression_test/ttcn2json/Makefile b/regression_test/ttcn2json/Makefile
index 751baf1cd..9f87fc117 100644
--- a/regression_test/ttcn2json/Makefile
+++ b/regression_test/ttcn2json/Makefile
@@ -8,6 +8,7 @@
 # Contributors:
 #   Balasko, Jeno
 #   Baranyi, Botond
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = PIPEasp_PT.cc f_ext_import_schema.cc
diff --git a/regression_test/typeCompat/Makefile b/regression_test/typeCompat/Makefile
index f8733648c..c11d5d862 100644
--- a/regression_test/typeCompat/Makefile
+++ b/regression_test/typeCompat/Makefile
@@ -10,6 +10,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -33,6 +34,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/ucharstrOper/Makefile b/regression_test/ucharstrOper/Makefile
index bdc679af6..134d46fa8 100644
--- a/regression_test/ucharstrOper/Makefile
+++ b/regression_test/ucharstrOper/Makefile
@@ -28,6 +28,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES = external.cc
diff --git a/regression_test/uidChars/Makefile b/regression_test/uidChars/Makefile
index 940f663de..1d6671eea 100644
--- a/regression_test/uidChars/Makefile
+++ b/regression_test/uidChars/Makefile
@@ -23,6 +23,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 USER_SOURCES =
diff --git a/regression_test/unionOper/Makefile b/regression_test/unionOper/Makefile
index 0ff192cfc..95d6861ce 100644
--- a/regression_test/unionOper/Makefile
+++ b/regression_test/unionOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/verdictOper/Makefile b/regression_test/verdictOper/Makefile
index 72a88aa31..1e480b612 100644
--- a/regression_test/verdictOper/Makefile
+++ b/regression_test/verdictOper/Makefile
@@ -11,6 +11,7 @@
 #   Kovacs, Ferenc
 #   Raduly, Csaba
 #   Szabados, Kristof
+#   Szabo, Bence Janos
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
@@ -28,6 +29,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/regression_test/visibility/Makefile b/regression_test/visibility/Makefile
index d66454e13..3718c74ff 100644
--- a/regression_test/visibility/Makefile
+++ b/regression_test/visibility/Makefile
@@ -10,6 +10,7 @@
 #   Czerman, Oliver
 #   Kovacs, Ferenc
 #   Raduly, Csaba
+#   Szabo, Bence Janos
 #
 ##############################################################################
 TOPDIR := ..
@@ -26,6 +27,11 @@ GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
diff --git a/usrguide/referenceguide.doc b/usrguide/referenceguide.doc
index b10a84cac88c9b07aa60bed6b64280a25a765140..5fb6ad7ba2f806cdc0c3f72b50bd1c862b1864f8 100644
GIT binary patch
delta 125378
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

delta 121228
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%0AR8yte8g6yG;!U=aG*=4cPzhDw
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
V;@)MwbMu0w!P4-ZRe^cF{{i&n4(R{@

-- 
GitLab