Index: trunk/t3d-examples/.project
===================================================================
--- trunk/t3d-examples/.project	(revision 7)
+++ trunk/t3d-examples/.project	(revision 7)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>t3d-examples</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
Index: trunk/t3d-examples/basics/configuration.ttcn3
===================================================================
--- trunk/t3d-examples/basics/configuration.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/configuration.ttcn3	(revision 7)
@@ -0,0 +1,46 @@
+module configuration {
+	//import from types all;	
+	group ports{
+		type port samplePortM1 message{
+			inout charstring, integer
+		}
+		type port samplePortM2 message{
+			inout sampleType1
+		}
+	}
+
+	group test_components{
+		type component sampleComponent1{
+			port samplePortM1 p1
+			port samplePortM2 p2
+			timer t1
+		}
+		/*
+			@desc description
+		*/
+		type component sampleComponent3{
+			port samplePortM1 p1
+			port samplePortM2 p2
+		}
+		
+		type component sampleComponent2{
+			port samplePortM1 p1
+			port samplePortM2 p2
+			timer t1, t2, t3
+			const sampleType1 c1 := 1
+	
+		
+		}
+
+
+	}
+	//not used, not documented(?)
+	group components{
+		type component sampleComponentX{
+			port samplePortM1 p1
+			port samplePortM2 p2
+			timer t1, t2, t3
+			const sampleType1 c1 := 1
+		}
+	}
+}
Index: trunk/t3d-examples/basics/functions.ttcn3
===================================================================
--- trunk/t3d-examples/basics/functions.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/functions.ttcn3	(revision 7)
@@ -0,0 +1,54 @@
+module functions {
+	import from types all;
+	import from configuration all;
+    group mtcFunctions {
+        /*
+           @desc Given the security cababilities of an UE (e.g. from an ATTACH
+           * REQUEST/UE network capabilities IE) this function creates a new value for
+           * the security capabilities which is invalid for the current UE. To achieve
+           * this, the original capabilities are inverted.
+           * @param p_SecurityCaps Security capabilities as reported by the UE.
+           @return Security capabilities which are invalid for the current UE.
+         */
+
+        function f1 ()
+        runs on sampleComponent1 {
+            p1.send ( integer:1 );
+            p2.receive ( charstring:"a" );
+        }
+         //@desc description
+         //@param par1, par2
+        function f2 ( 
+            integer par1, 
+            charstring par2
+        )
+        runs on sampleComponent1 {
+            p1.receive ( integer:par1 );
+            p2.send ( charstring:par2 );
+        }
+    } 
+
+    group ptcFunctions {
+        //*@desc description
+        function f3 ()
+        runs on sampleComponent2 {
+            p1.send ( integer:1 );
+            p2.receive ( charstring:"a" );
+        }
+        
+		/*
+         //@desc description
+         //@param par1, par2
+		*/
+
+        function f4 ( 
+            sampleType1 par1, 
+            sampleType2 par2
+        )
+        runs on sampleComponent2 {
+            p1.receive ( integer:par1 );
+            p2.send ( charstring:par2 );
+        }
+    } 
+
+}
Index: trunk/t3d-examples/basics/import1.ttcn3
===================================================================
--- trunk/t3d-examples/basics/import1.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/import1.ttcn3	(revision 7)
@@ -0,0 +1,4 @@
+module import1 {
+	import from import2 all;
+	import from import4 all;
+}
Index: trunk/t3d-examples/basics/import2.ttcn3
===================================================================
--- trunk/t3d-examples/basics/import2.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/import2.ttcn3	(revision 7)
@@ -0,0 +1,5 @@
+module import2 {
+	import from import3 all;
+	import from import1 all;
+	import from import4 all;
+}
Index: trunk/t3d-examples/basics/import3.ttcn3
===================================================================
--- trunk/t3d-examples/basics/import3.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/import3.ttcn3	(revision 7)
@@ -0,0 +1,4 @@
+module import3 {
+	import from import1 all;
+	import from import4 all;
+}
Index: trunk/t3d-examples/basics/import4.ttcn3
===================================================================
--- trunk/t3d-examples/basics/import4.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/import4.ttcn3	(revision 7)
@@ -0,0 +1,3 @@
+module import4 {
+	import from import1 all;
+}
Index: trunk/t3d-examples/basics/localDependencies.ttcn3
===================================================================
--- trunk/t3d-examples/basics/localDependencies.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/localDependencies.ttcn3	(revision 7)
@@ -0,0 +1,53 @@
+module localDependencies {
+	
+	type enumerated enumtype {
+		enum1, enum2
+	}
+	type enumerated enumtype2 {
+		enum2, enum1
+	}
+	
+	modulepar {
+		typeX pp1, pp2 := int2string(2), pp4:=someConst;
+		typeY pp31 := someConst, pp5;
+		
+	}
+	
+	modulepar typeZ pp6, pp7;
+	
+	//* @desc 1
+	template typeX templateY :={
+		fieldZ := 1
+	} 
+	
+	//* @desc 1
+	function f1(typeX par1 := templateY){
+		var enumtype ve1;
+		ve1:=enum1;
+	  	if (ve1 == enum1){
+		}
+		if (enum1 > enum2){
+//		
+		}
+		f2();
+		f2();
+		f3();
+	}
+	
+	function fr1(enumtype p1) return enumtype2{
+		return enum1; 
+	}
+	
+	function f2(){
+		//f1();
+		f3();
+		fx(cx); 
+		fr1(enum1) 
+		if (enum2 == fr1(1)){
+		
+		}
+		
+	}
+	external function fx(typeX p1);
+	external const integer cx;
+}
Index: trunk/t3d-examples/basics/main.ttcn3
===================================================================
--- trunk/t3d-examples/basics/main.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/main.ttcn3	(revision 7)
@@ -0,0 +1,14 @@
+module main {
+	import from configuraiton all;
+	import from functions all;
+	import from types all;
+	import from templates all;
+	import from types all;
+	import from testacases all; 
+	
+	control {
+		execute(tc1());
+		execute(tc2());
+	}
+	
+}
Index: trunk/t3d-examples/basics/modulepars.ttcn3
===================================================================
--- trunk/t3d-examples/basics/modulepars.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/modulepars.ttcn3	(revision 7)
@@ -0,0 +1,50 @@
+// * @version 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.0
+// * @author John Doe
+// * @author John Doe
+// * @remark this is the module
+
+module modulepars{
+
+// * @version 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.0
+// * @author John Doe
+// * @author John Doe
+// * @remark this is the modulepar
+modulepar{
+       octetstring px_AccessPointName;
+       B16_Type px_AuthAMF;
+       B128_Type px_AuthK := oct2bit ( '000102030405060708090A0B0C0D0E0F'O );
+       integer px_AuthN := 127;
+       hexstring px_IMEI_Def;
+       hexstring px_IMSI_Def := '001010123456063'H;
+       charstring px_IP_Address;
+       B3_Type px_NAS_CipheringAlgorithm := '001'B;
+       B3_Type px_NAS_IntegrityProtAlgorithm := '001'B;
+       boolean px_RLC_SDU_Buffering := true;
+       CipheringAlgorithm_Type px_RRC_CipheringAlgorithm := eea0;
+       IntegrityProtAlgorithm_Type px_RRC_IntegrityProtAlgorithm := eia1;
+       integer px_SupportedEutraBands := 1;
+       integer px_SupportedInterRatBands := 1;
+       B128_Type px_eAuthRAND := oct2bit ( 'A3DE0C6D363E30C364A4078F1BF8D577'O );
+       Dl_Bandwidth_Type px_eDLChannelBandwidth := n25;
+       NAS_Mcc px_eJapanMCC_Band6 := '442'H;
+       FrequencyBand_Type px_ePrimaryFrequencyBand := 1;
+       FrequencyBand_Type px_eSecondaryFrequencyBand := 2;
+       Ul_Bandwidth_Type px_eULChannelBandwidth := n25;
+     };
+     
+     modulepar integer bla := 127;
+     
+     modulepar integer bla11 := 127, bla12 := 127;
+     
+     modulepar CipheringAlgorithm_Type bla21, bla22;
+     
+     
+     modulepar{
+         integer blax := 127;
+    	 integer blax11 := 127, blax12 := 127;
+    	 CipheringAlgorithm_Type blax21, blax22;     
+     }
+     
+     modulepar integer thisisalongmoduleparameternamethatgoesonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonandonEND := 234243623463563563635543535654656;
+     
+}
Index: trunk/t3d-examples/basics/templates.ttcn3
===================================================================
--- trunk/t3d-examples/basics/templates.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/templates.ttcn3	(revision 7)
@@ -0,0 +1,15 @@
+module templates {
+	group g1{
+		group sub_g1{
+		
+		}
+		
+		group sub_g2{
+		
+		}
+	}
+	
+	group g2{
+	
+	}
+}
Index: trunk/t3d-examples/basics/templates2.ttcn3
===================================================================
--- trunk/t3d-examples/basics/templates2.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/templates2.ttcn3	(revision 7)
@@ -0,0 +1,15 @@
+module templates {
+	group g1x{
+		group sub_g1x{
+		
+		}
+		
+		group sub_g2x{
+		
+		}
+	}
+	
+	group g2x{
+	
+	}
+}
Index: trunk/t3d-examples/basics/testcases.ttcn3
===================================================================
--- trunk/t3d-examples/basics/testcases.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/testcases.ttcn3	(revision 7)
@@ -0,0 +1,30 @@
+module testcases {
+	import from types all;
+	import from configuration all;
+	import from functions all;
+	testcase tc1() runs on sampleComponent1 system sampleComponent3{
+		map(mtc:p1, system:p1)
+		map(mtc:p2, system:p2)
+		
+		f1();
+		f2(1, "a")
+		
+		unmap(mtc:p1, system:p1)
+		unmap(mtc:p2, system:p2)
+		
+	}
+	
+	testcase tc2() runs on sampleComponent1 system sampleComponent3{
+		map(mtc:p1, system:p1)
+		var sampleComponent2 component2, component3;
+		component2 := sampleComponent2.create;
+		component3 := sampleComponent2.create;
+		
+		component2.start(f3());
+		component3.start(f4(1, "a"));
+		
+		unmap(mtc:p1, system:p1)
+
+	}
+	
+}
Index: trunk/t3d-examples/basics/types.ttcn3
===================================================================
--- trunk/t3d-examples/basics/types.ttcn3	(revision 7)
+++ trunk/t3d-examples/basics/types.ttcn3	(revision 7)
@@ -0,0 +1,21 @@
+module types {
+	
+	group subtypes {
+		type integer sampleType1 (0,1,2,3);
+		type charstring sampleType2 ("a", "b", "c")
+	}
+	group records {
+		type record sampleType3 {
+			integer field1,
+			charstring field2
+		}
+		type record sampleType4 {
+			integer field1,
+			charstring field2,
+			boolean field3
+			
+		}
+
+
+	}
+}
Index: trunk/t3d-examples/t3dtest/Examplemodule.ttcn
===================================================================
--- trunk/t3d-examples/t3dtest/Examplemodule.ttcn	(revision 7)
+++ trunk/t3d-examples/t3dtest/Examplemodule.ttcn	(revision 7)
@@ -0,0 +1,28 @@
+ /*
+  * @author John Doe
+  * @desc This is an example of a module in ttcn-3
+  */
+ module Examplemodule {
+ const integer con1 :=1, con2:=2;
+ 
+ 
+ import from groupTest recursive all;
+ import from functionalityTest {group types};
+ import from undocumentedParameters all;
+ 
+ 	group ExampleGroup {
+ 		/*
+ 		* @author John Doe
+ 		* @author Jane Doe
+ 		* @version v0.1.4
+		* @remark an embedded tag is used here, @see ExampleFunction
+ 		*/
+ 		testcase ExampleTestcase() runs on Examplecomponent{
+ 			// TTCN-3 testcase code
+ 		}
+ 	}
+ 	function ExampleFunction (in charstring par1, out charstring par2)
+ 	return boolean {
+ 		// TTCN-3 function code
+ 	}
+ }
Index: trunk/t3d-examples/t3dtest/commentTest.ttcn
===================================================================
--- trunk/t3d-examples/t3dtest/commentTest.ttcn	(revision 7)
+++ trunk/t3d-examples/t3dtest/commentTest.ttcn	(revision 7)
@@ -0,0 +1,332 @@
+/**
+ *  @author     STF 339
+ *  @author     STF 341
+ *  @version  	$Id: AtsDpmr_Types.ttcn 87 2008-02-22 15:53:29Z petersenj $
+ *  @desc       Data type @see functionalityTest.noelement BLA BLA BLA definitions for @see f_1 information elements for digital Public @see functionalityTest.f_1
+ *              Mobile Radio (dPMR) messages @see f_1 
+ *  @see	s_test1
+ *  @see	f_1
+ *  @see	functionalityTest.f_1
+ *  @see	onality.f_1
+ *  @see	noelement
+ *  @see	functionalityTest.noelement
+ *  @see	functionalityTest.1
+ *  @see	1
+ *  @remark
+ */
+module comment_Test {
+// useless
+/*
+		 * @desc	desc1_line1 desc1_line1 desc1_line1 desc1_line1 desc1_line1  @see noelement @see functionalityTest.f_1 desc1_line1 desc1_line1 desc1_line1 desc1_line1 desc1_line1 desc1_line1 desc1_line1 
+	*	 *        desc1_line2 desc1_line2  @see functionalityTest.noelement BLA BLA BLA desc1_line2 @see functionalityTest.f_1 desc1_line2 desc1_line2 desc1_line2  @see functionalityTest.f_1
+		 * @param	param1_line1 param1_line1 param1_line1 param1_line1 @see f_1
+	*	 *          param1_line2 param1_line2 param1_line2 **stars** @see f_test
+		 * @param	param2_line1  @see f_test param2_line1  
+		@remark THIS IS FALSE
+		* @remark
+		 */
+// * @remark THIS IS IMPORTANT
+//useless
+    /*
+		 * @desc	desc2_line1 @see functionalityTest.f_1 desc2_line1 desc2_line1 desc2_line1 desc2_line1 desc2_line1 desc2_line1 desc2_line1 desc2_line1 
+		 *          desc2_line2 desc2_line2 desc2_line2 desc2_line2 desc2_line2 desc2_line2    
+		 * @desc	desc3_line1 desc3_line1 desc3_line1 desc3_line1 @see f_test
+		 *          desc3_line2   
+		  @param	param3_line1 param3_line1 param3_line1 param3_line1     
+		 *          param3_line2 param3_line2 param3_line2   
+		  @param	param4_line1  param4_line1  
+		 */
+		 /*
+		 //		 * @param	param5_line1 param5_line1 param5_line1 param5_line1 
+		           param5_line2 param5_line2 param5_line2 
+		  @param	param6_line1  param6_line1 
+ @desc	desc4_line1 desc4_line1 desc4_line1 desc4_line1 desc4_line1   
+//		 *          desc4_line2 desc4_line2 desc4_line2   
+		 */
+// useless
+		function f_test ( inout StringStack p_stack, in    charstring  p_item ) {
+			p_stack.stringItems[p_stack.stackSize] := p_item;
+			p_stack.stackSize := p_stack.stackSize + 1;
+		}
+
+		function f_1 ( inout StringStack p_stack, in    charstring  p_item ) {
+			p_stack.stringItems[p_stack.stackSize] := p_item;
+			p_stack.stackSize := p_stack.stackSize + 1;
+		}
+
+
+
+	/*
+
+	*	@desc text text text text text text text 
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text  
+	*	text text text text text text text text 
+
+	*/
+		function f_test2 ( inout StringStack p_stack, in    charstring  p_item ) runs on floor return integer{
+			p_stack.stringItems[p_stack.stackSize] := p_item;
+			p_stack.stackSize := p_stack.stackSize + 1;
+		}
+
+
+	/*
+
+	*	@desc DDDDDDDDDDDescription @see DontSee
+	*	@author Author1
+	*	@author Author2
+	*	@config Config
+	*	@exception Exception
+	*	@member Member members
+	*	@param Parameter1 param1_desc
+	*	@param Parameter2 param2_desc
+	*	@purpose Purpose
+	*	@remark Remark
+	*	@return Return
+	*	@see See
+	*	@since Since
+	*	@status Status
+	*	@url http://url.tld
+	*	@verdict Verdict
+	*	@version Version
+	
+
+	*/
+
+group alltest{
+	/*
+
+	*	@desc Description @see DontSee
+	*	@author Author1
+	*	@author Author2
+	*	@config Config
+	*	@exception Exception
+	*	@member Member members
+	*	@param Parameter1 param1_desc
+	*	@param Parameter2 param2_desc
+	*	@purpose Purpose
+	*	@remark Remark blabla bla @url http://www.uni-goettingen.de bla bla @url http://www.uni-goettingen.de
+	*	@return Return
+	*	@see See
+	*	@since Since
+	*	@status Status
+	*	@url http://url.tld
+	*	@verdict Verdict
+	*	@version Version
+	
+
+	*/
+		function f_test3 ( inout StringStack p_stack, in    charstring  p_item ) {
+			p_stack.stringItems[p_stack.stackSize] := p_item;
+			p_stack.stackSize := p_stack.stackSize + 1;
+		}
+
+
+	/*
+
+	*	@desc Description @see DontSee
+	*	@author Author1
+	*	@author Author2
+	*	@config Config
+	*	@exception Exception
+	*	@member Member members
+	*	@param Parameter1 param1_desc
+	*	@param Parameter2 param2_desc
+	*	@purpose Purpose
+	*	@remark Remark
+	*	@return Return
+	*	@see See
+	*	@since Since
+	*	@status Status
+	*	@url http://url.tld
+	*	@verdict Verdict
+	*	@version Version
+	
+
+	*/
+
+altstep a_test1() runs on floor
+    {
+      [] server.receive
+        {
+          setverdict(fail);
+          stop
+        }
+      [] client.receive
+        {
+          setverdict(fail);
+          stop
+        }
+      [] secServer.receive
+        {
+          setverdict(fail);
+          stop
+        }
+      [] secClient.receive
+        {
+          setverdict(fail);
+          stop
+        }
+      [] ipCANctl.receive
+        {
+          setverdict(inconc);
+          stop
+        }
+      [] ipConf.receive
+        {
+          setverdict(inconc);
+          stop
+        }
+      [] TGuard.timeout 
+	    {setverdict(inconc); stop}
+      [] any timer.timeout 
+	    {setverdict(fail); stop}
+    }
+
+	/*
+
+	*	@desc Description @see DontSee
+	*	@author Author1
+	*	@author Author2
+	*	@config Config
+	*	@exception Exception
+	*	@member Member members
+	*	@param Parameter1 param1_desc
+	*	@param Parameter2 param2_desc
+	*	@purpose Purpose
+	*	@remark Remark
+	*	@return Return
+	*	@see See
+	*	@since Since
+	*	@status Status
+	*	@url http://url.tld
+	*	@verdict Verdict
+	*	@version Version
+	
+
+	*/
+
+testcase t_test1() runs on MTC system SystemInterface {
+   // Mobile terminated location request/ UE-Based GPS
+   
+   // Test Purpose: 
+   // To verify that when the UE receives a REGISTER message during an established CS call, 
+   // containing a LCS Location Notification Invoke component set to NotifyLocationAllowed, 
+   // the UE displays information about the LCS client correctly and sends a RELEASE COMPLETE message 
+   // containing a LocationNotification return result with verificationResponse set to permissionGranted.  
+   // To verify that the UE responds with a Measurement Report message containing UE location when the 
+   // assistance data is divided between several Measurement Control messages using Measurement Command ?Modify?.
+   
+   var UTRANComponent UtranPTC := UTRANComponent.create alive;
+   var GERANComponent GeranPTC := null;
+   
+   var MTC_mirror MtcPTC_mirror;
+ 	 var UTRANComponent_mirror UtranPTC_mirror;
+	 var GERANComponent_mirror GeranPTC_mirror;
+
+	 if (pc_is_Intra==true) {
+	   MtcPTC_mirror:=MTC_mirror.create;
+	   UtranPTC_mirror:=UTRANComponent_mirror.create alive;
+	   GeranPTC_mirror:=GERANComponent_mirror.create alive;
+	 } else {
+	   MtcPTC_mirror:=null;
+	   UtranPTC_mirror:=null;
+	   GeranPTC_mirror:=null;
+	 }
+
+	 MTC_Main_Map(self, MtcPTC_mirror); // Maps or connects
+	 UTRAN_Map(UtranPTC, UtranPTC_mirror);  // Maps or connects
+	 MTC_ConnectPTCs(self, UtranPTC, GeranPTC);
+    
+	 if (MtcPTC_mirror!=null) {
+	   MtcPTC_mirror.start(TC_17_2_4_1_asPTC_mirror(UtranPTC_mirror, GeranPTC_mirror));
+	 }
+    
+	 UtranPTC.start(TC_17_2_4_1_UTRAN());
+	 MTC_Main_Behaviour();
+ }
+
+	/*
+
+	*	@desc Description @see DontSee
+	*	@author Author1
+	*	@author Author2
+	*	@config Config
+	*	@exception Exception
+	*	@member Member members
+	*	@param Parameter1 param1_desc
+	*	@param Parameter2 param2_desc
+	*	@purpose Purpose
+	*	@remark Remark
+	*	@return Return
+	*	@see See
+	*	@since Since
+	*	@status Status
+	*	@url http://url.tld
+	*	@verdict Verdict
+	*	@version Version
+	
+
+	*/
+
+	signature s_test1() return returntype;
+
+/*
+	* @config blabla
+	* @config blabla
+
+	* @purpose blabla
+	* @purpose blabla
+	
+	* @return blabla
+	* @return blabla
+	
+	* @since blabla
+	* @since blabla
+	
+	* @status blabla
+	* @status blabla
+	
+	* @version blabla
+	* @version blabla
+
+
+*/
+	signature s_toomanytags() return integer;
+
+}
+  // * @desc identical tag here
+signature s_identicalDescTags_1() return integer;
+
+  // * @desc identical tag here
+signature s_identicalDescTags_1() return integer;
+
+}
Index: trunk/t3d-examples/t3dtest/functionalitytest.ttcn
===================================================================
--- trunk/t3d-examples/t3dtest/functionalitytest.ttcn	(revision 7)
+++ trunk/t3d-examples/t3dtest/functionalitytest.ttcn	(revision 7)
@@ -0,0 +1,76 @@
+/**
+ *  @author     STF 340
+ *  @version  	$Id: AtsDpmr_Types.ttcn 87 2008-02-22 15:53:29Z petersenj $
+ *  @desc       Data type definitions for information elements for digital Public
+ *              Mobile Radio (dPMR) messages
+ */
+module functionalityTest {
+
+	import from Examplemodule {group ExampleGroup};
+	import from Examplemodule {function ExampleFunction, ExampleFunction; const con2};
+	import from Examplemodule {const con1};
+	import from Examplemodule all except {const con1, con2; function all};
+	import from Examplemodule recursive all;
+	
+	
+	group types{
+
+		group Structured{
+			type component Comp{};
+
+			type record Rec{};
+	
+			type integer Int;
+	
+			type set of Rec SetOfRec;
+
+			type port Port message{
+				in Rec;
+				out Rec;
+			};
+
+			type enumerated Enum{ Rec, Int};
+
+			type set Set{};
+
+			type record of Rec RecordOfRec;
+
+			type union Union{RecordOfRec un1, SetOfRec un2};
+
+		}
+		group subtype{
+			type Rec RecType;
+
+			type integer IntType;
+
+		}
+
+	}
+
+	group functions{
+
+		function f_1(Comp par1, Rec par2, boolean par3) runs on Rec{
+			var Port var1;
+			if(par3){
+
+			} else{
+
+			}
+		}
+
+
+	}
+
+
+
+	group constants{
+
+		const integer c1 := 1, c2 := 2; 
+
+
+	}
+
+
+
+
+}
Index: trunk/t3d-examples/t3dtest/grouptest.ttcn
===================================================================
--- trunk/t3d-examples/t3dtest/grouptest.ttcn	(revision 7)
+++ trunk/t3d-examples/t3dtest/grouptest.ttcn	(revision 7)
@@ -0,0 +1,41 @@
+/**
+ *  @author     STF 340
+ *  @version  	$Id: AtsDpmr_Types.ttcn 87 2008-02-22 15:53:29Z petersenj $
+ *  @desc       Data type definitions for information elements for digital Public
+ *              Mobile Radio (dPMR) messages
+ */
+module groupTest {
+ import from functionalityTest all;
+	group group1{
+		group group1_1{
+			group group1_1_1{
+			}
+		}
+		group group1_2{
+		}
+		group group1_3{
+			group group1_3_1{
+				modulepar integer y:=4;
+				group group1_3_1_1{
+					modulepar integer x:=3;
+				}
+				group group1_3_1_2{
+				}
+			}
+		}
+
+
+	}
+
+	group group2{
+	}
+
+	group group3{
+		group group3_1{
+		}
+		group group3_2{
+		}
+
+	}
+
+}
Index: trunk/t3d-examples/t3dtest/module_with_moduleParameters.ttcn3
===================================================================
--- trunk/t3d-examples/t3dtest/module_with_moduleParameters.ttcn3	(revision 7)
+++ trunk/t3d-examples/t3dtest/module_with_moduleParameters.ttcn3	(revision 7)
@@ -0,0 +1,110 @@
+module module_with_moduleParameters {
+	modulepar boolean par1 := true;
+	modulepar boolean par2 := true;
+	modulepar boolean par3 := false;
+	
+	modulepar boolean par41, par42, par43 := false;
+	
+	const integer con1 := 1, con2 := 2;
+	
+	
+	
+	testcase t_1() runs on bla system blubb{
+	
+		if(f_1(par2)){
+	
+		}
+	
+		if(f_3()){
+	
+		}
+	}
+	
+	testcase t_2(boolean tpar) runs on bla system blubb{
+	
+	}
+	
+	function f_1( boolean fpar){
+		var boolean var1 := f_2(fpar);
+		return f_5(var1, var1);
+	}
+	function f_2(boolean fpar){
+		return (fpar == false);
+	}
+	function f_3(){
+		var boolean var1 := f_4();
+		t_2(var1);
+		return var1;
+	}
+	
+	function f_4(){
+		return par3;
+	}
+	function f_5(boolean  fpar, boolean  fpar){
+		return (fpar == false);
+	}
+	
+	
+		testcase testcaseAll() runs on MTC system SystemInterface {
+	 if (par1==true) {} else {}
+	 if (par2==true) {} else {}
+	 if (par3==true) {} else {}
+	 if (par41==true) {} else {}
+	 if (par42==true) {} else {}
+	 if (par43==true) {} else {}
+	 if (con1==1) {} else {}
+	 if (con2==1) {} else {}
+	 }
+	
+	testcase testcase1() runs on MTC system SystemInterface {
+	 if (par1==true) {} else {}}	
+
+	testcase testcase1_2() runs on MTC system SystemInterface {
+	 if (par1==true) {} else {}
+	 if (par2==true) {} else {}}
+	 
+	 	
+	testcase testcase2() runs on MTC system SystemInterface {
+	 if (par2==true) {} else {}}
+	 
+	testcase testcase3() runs on MTC system SystemInterface {
+	 if (par3==true) {} else {}}
+	 
+	testcase testcase4() runs on MTC system SystemInterface {}
+
+
+ 	function function1 ()
+ 	return boolean {
+ 		return par1;
+ 	}
+ 	
+ 	 	function function2 ()
+ 	return boolean {
+ 		return par2;
+ 	}
+
+ 	 	function function3 ()
+ 	return boolean {
+ 		return par3;
+ 	}
+ 	
+ 	altstep altstep1(){
+ 	
+ 	}
+ 	
+ 	
+ 	testcase testcaseloop1_1() runs on MTC system SystemInterface {function1();}
+ 	testcase testcaseloop1_2() runs on MTC system SystemInterface {testcaseloop1_3();testcaseloop1_1()}
+ 	testcase testcaseloop1_3() runs on MTC system SystemInterface {testcaseloop1_2();}
+ 	
+testcase testcasef1() runs on MTC system SystemInterface {function1();}
+testcase testcasef2() runs on MTC system SystemInterface {function2();}
+testcase testcasef3() runs on MTC system SystemInterface {function3();}
+
+testcase testcase_test() runs on MTC system SystemInterface{function_indirect1(par2)};
+function function_indirect2(boolean par){};
+
+
+testcase testcasetcf1() runs on MTC system SystemInterface {testcasef1();}
+
+}
Index: trunk/t3d-examples/t3dtest/undocumentedParameters.ttcn3
===================================================================
--- trunk/t3d-examples/t3dtest/undocumentedParameters.ttcn3	(revision 7)
+++ trunk/t3d-examples/t3dtest/undocumentedParameters.ttcn3	(revision 7)
@@ -0,0 +1,12 @@
+module undocumentedParameters {
+
+
+// * @param newparam1 paramdescription
+// * @param newparam5 paramdescription
+// * @param newparam3 paramdescription
+import from module_with_moduleParameters recursive all;
+			function f_test2 (inout StringStack newparam1, in charstring  newparam2, in charstring  newparam3, in charstring  newparam4) runs on floor return integer{
+			p_stack.stringItems[p_stack.stackSize] := p_item;
+			p_stack.stackSize := p_stack.stackSize + 1;
+		}
+}
