catch up wih development
diff --git a/.gitignore b/.gitignore
index 9282123..dfd284c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 **/*.java._trace
 **/*.log
 **/*.log.properties
+**/.antlr-generator-3.2.0-patch.jar
 
 **/bin/
 **/build/
@@ -32,5 +33,4 @@
 **/*.uibin
 **/*.uisemanticbin
 **/*.xtendbin
-**/*.xtextbin
 
diff --git a/org.eclipse.osbp.xtext.signal.feature/.gitignore b/org.eclipse.osbp.xtext.signal.feature/.gitignore
deleted file mode 100644
index b83d222..0000000
--- a/org.eclipse.osbp.xtext.signal.feature/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/SignalDSLParser.java b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/SignalDSLParser.java
index a588fc2..f736d4c 100644
--- a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/SignalDSLParser.java
+++ b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/SignalDSLParser.java
@@ -310,12 +310,13 @@
 					put(grammarAccess.getSignalHandlerAccess().getNameAssignment_2(), "rule__SignalHandler__NameAssignment_2");
 					put(grammarAccess.getSignalHandlerAccess().getActionTypeAssignment_3(), "rule__SignalHandler__ActionTypeAssignment_3");
 					put(grammarAccess.getSignalHandlerAccess().getDataAssignment_4(), "rule__SignalHandler__DataAssignment_4");
+					put(grammarAccess.getSignalHandlerAccess().getExecutiontypeAssignment_5(), "rule__SignalHandler__ExecutiontypeAssignment_5");
 					put(grammarAccess.getSignalHandlerAccess().getFilemaskAssignment_7(), "rule__SignalHandler__FilemaskAssignment_7");
-					put(grammarAccess.getListTransferAccess().getExecutiontypeAssignment_2(), "rule__ListTransfer__ExecutiontypeAssignment_2");
-					put(grammarAccess.getListTransferAccess().getInterchangesAssignment_4(), "rule__ListTransfer__InterchangesAssignment_4");
+					put(grammarAccess.getListTransferAccess().getInterchangesAssignment_3(), "rule__ListTransfer__InterchangesAssignment_3");
 					put(grammarAccess.getSingleTransferAccess().getInterchangeAssignment(), "rule__SingleTransfer__InterchangeAssignment");
 					put(grammarAccess.getSignalDatainterchangeAccess().getDataActionAssignment_0(), "rule__SignalDatainterchange__DataActionAssignment_0");
 					put(grammarAccess.getSignalDatainterchangeAccess().getDataRefAssignment_1(), "rule__SignalDatainterchange__DataRefAssignment_1");
+					put(grammarAccess.getSignalDatainterchangeAccess().getFileNameAssignment_3(), "rule__SignalDatainterchange__FileNameAssignment_3");
 					put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_2_0_0(), "rule__XImportDeclaration__StaticAssignment_2_0_0");
 					put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_2_0_1(), "rule__XImportDeclaration__ExtensionAssignment_2_0_1");
 					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_2_0_2");
diff --git a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.g b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.g
index 5c3ddd1..e35f93f 100644
--- a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.g
+++ b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.g
@@ -263,6 +263,31 @@
 	restoreStackSize(stackSize);
 }
 
+// Entry rule entryRuleTRANSLATABLEID
+entryRuleTRANSLATABLEID
+:
+{ before(grammarAccess.getTRANSLATABLEIDRule()); }
+	 ruleTRANSLATABLEID
+{ after(grammarAccess.getTRANSLATABLEIDRule()); } 
+	 EOF 
+;
+
+// Rule TRANSLATABLEID
+ruleTRANSLATABLEID 
+	@init {
+		int stackSize = keepStackSize();
+	}
+	:
+	(
+		{ before(grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall()); }
+		RULE_ID
+		{ after(grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 // Entry rule entryRuleXImportDeclaration
 entryRuleXImportDeclaration
 :
@@ -3589,27 +3614,15 @@
 	}
 :
 	(
-		{ before(grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0()); }
-		('all')
-		{ after(grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1()); }
+		{ before(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0()); }
 		('createSignals')
-		{ after(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1()); }
+		{ after(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0()); }
 	)
 	|
 	(
-		{ before(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2()); }
+		{ before(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1()); }
 		('modifySignals')
-		{ after(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3()); }
-		('deleteSignals')
-		{ after(grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3()); }
+		{ after(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1()); }
 	)
 ;
 finally {
@@ -3622,27 +3635,15 @@
 	}
 :
 	(
-		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0()); }
-		('doAfter')
-		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1()); }
+		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0()); }
 		('doAfterModify')
-		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1()); }
+		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0()); }
 	)
 	|
 	(
-		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2()); }
+		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1()); }
 		('doAfterCreate')
-		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3()); }
-		('doAfterDelete')
-		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3()); }
+		{ after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1()); }
 	)
 ;
 finally {
@@ -3823,7 +3824,7 @@
 :
 (
 	{ before(grammarAccess.getSignalPackageAccess().getGroup_3()); }
-	(rule__SignalPackage__Group_3__0)
+	(rule__SignalPackage__Group_3__0)?
 	{ after(grammarAccess.getSignalPackageAccess().getGroup_3()); }
 )
 ;
@@ -4336,9 +4337,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getSignalHandlerAccess().getForKeyword_5()); }
-	'for'
-	{ after(grammarAccess.getSignalHandlerAccess().getForKeyword_5()); }
+	{ before(grammarAccess.getSignalHandlerAccess().getExecutiontypeAssignment_5()); }
+	(rule__SignalHandler__ExecutiontypeAssignment_5)?
+	{ after(grammarAccess.getSignalHandlerAccess().getExecutiontypeAssignment_5()); }
 )
 ;
 finally {
@@ -4363,9 +4364,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6()); }
-	'fileMask'
-	{ after(grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6()); }
+	{ before(grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6()); }
+	'forFileMask'
+	{ after(grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6()); }
 )
 ;
 finally {
@@ -4471,9 +4472,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getListTransferAccess().getExecutiontypeAssignment_2()); }
-	(rule__ListTransfer__ExecutiontypeAssignment_2)?
-	{ after(grammarAccess.getListTransferAccess().getExecutiontypeAssignment_2()); }
+	{ before(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2()); }
+	'{'
+	{ after(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2()); }
 )
 ;
 finally {
@@ -4498,9 +4499,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3()); }
-	'{'
-	{ after(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3()); }
+	{ before(grammarAccess.getListTransferAccess().getInterchangesAssignment_3()); }
+	(rule__ListTransfer__InterchangesAssignment_3)*
+	{ after(grammarAccess.getListTransferAccess().getInterchangesAssignment_3()); }
 )
 ;
 finally {
@@ -4513,7 +4514,6 @@
 	}
 :
 	rule__ListTransfer__Group__4__Impl
-	rule__ListTransfer__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -4525,35 +4525,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getListTransferAccess().getInterchangesAssignment_4()); }
-	(rule__ListTransfer__InterchangesAssignment_4)*
-	{ after(grammarAccess.getListTransferAccess().getInterchangesAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ListTransfer__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__ListTransfer__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ListTransfer__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5()); }
+	{ before(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4()); }
 	'}'
-	{ after(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5()); }
+	{ after(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4()); }
 )
 ;
 finally {
@@ -4594,6 +4568,7 @@
 	}
 :
 	rule__SignalDatainterchange__Group__1__Impl
+	rule__SignalDatainterchange__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -4614,6 +4589,59 @@
 	restoreStackSize(stackSize);
 }
 
+rule__SignalDatainterchange__Group__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__SignalDatainterchange__Group__2__Impl
+	rule__SignalDatainterchange__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SignalDatainterchange__Group__2__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2()); }
+	'fileName'
+	{ after(grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SignalDatainterchange__Group__3
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__SignalDatainterchange__Group__3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SignalDatainterchange__Group__3__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getSignalDatainterchangeAccess().getFileNameAssignment_3()); }
+	(rule__SignalDatainterchange__FileNameAssignment_3)
+	{ after(grammarAccess.getSignalDatainterchangeAccess().getFileNameAssignment_3()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 
 rule__XImportDeclaration__Group__0
 	@init {
@@ -17601,9 +17629,9 @@
 	}
 :
 	(
-		{ before(grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0()); }
-		RULE_ID
-		{ after(grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0()); }
+		{ before(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); }
+		ruleTRANSLATABLEID
+		{ after(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); }
 	)
 ;
 finally {
@@ -17661,9 +17689,9 @@
 	}
 :
 	(
-		{ before(grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0()); }
-		RULE_ID
-		{ after(grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0()); }
+		{ before(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); }
+		ruleTRANSLATABLEID
+		{ after(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); }
 	)
 ;
 finally {
@@ -17700,6 +17728,21 @@
 	restoreStackSize(stackSize);
 }
 
+rule__SignalHandler__ExecutiontypeAssignment_5
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0()); }
+		ruleSignalExecutionTypeEnum
+		{ after(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__SignalHandler__FilemaskAssignment_7
 	@init {
 		int stackSize = keepStackSize();
@@ -17715,30 +17758,15 @@
 	restoreStackSize(stackSize);
 }
 
-rule__ListTransfer__ExecutiontypeAssignment_2
+rule__ListTransfer__InterchangesAssignment_3
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0()); }
-		ruleSignalExecutionTypeEnum
-		{ after(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ListTransfer__InterchangesAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0()); }
+		{ before(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0()); }
 		ruleSignalDatainterchange
-		{ after(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0()); }
+		{ after(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0()); }
 	)
 ;
 finally {
@@ -17794,6 +17822,21 @@
 	restoreStackSize(stackSize);
 }
 
+rule__SignalDatainterchange__FileNameAssignment_3
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0()); }
+		RULE_STRING
+		{ after(grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__XImportDeclaration__StaticAssignment_2_0_0
 	@init {
 		int stackSize = keepStackSize();
diff --git a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.tokens b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.tokens
index 4ea768b..0ee818a 100644
--- a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.tokens
+++ b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSL.tokens
@@ -1,20 +1,20 @@
 '!'=40
 '!='=22
 '!=='=24
-'#'=78
+'#'=75
 '%'=39
 '%='=20
 '&&'=15
-'&'=100
-'('=74
-')'=75
+'&'=97
+'('=71
+')'=72
 '*'=36
 '**'=37
 '*='=18
 '+'=34
 '++'=41
 '+='=16
-','=76
+','=73
 '-'=35
 '--'=42
 '-='=17
@@ -24,9 +24,9 @@
 '..<'=29
 '/'=38
 '/='=19
-':'=85
-'::'=102
-';'=72
+':'=82
+'::'=99
+';'=69
 '<'=27
 '<>'=32
 '='=13
@@ -35,63 +35,60 @@
 '=>'=31
 '>'=26
 '>='=25
-'?'=99
-'?.'=103
+'?'=96
+'?.'=100
 '?:'=33
-'@'=73
-'DataTransfer'=71
+'@'=70
+'DataTransfer'=67
 'Export'=52
 'Import'=51
-'['=79
-']'=77
-'all'=53
-'as'=81
-'asynch'=62
-'case'=87
-'catch'=98
-'createSignals'=54
-'default'=86
-'deleteSignals'=56
-'directory'=67
-'do'=89
-'doAfter'=57
-'doAfterCreate'=59
-'doAfterDelete'=60
-'doAfterModify'=58
-'else'=83
+'['=76
+']'=74
+'as'=78
+'asynch'=58
+'case'=84
+'catch'=95
+'createSignals'=53
+'default'=83
+'directory'=63
+'do'=86
+'doAfterCreate'=56
+'doAfterModify'=55
+'else'=80
 'extends'=45
 'extension'=48
 'false'=50
-'fileMask'=70
-'finally'=96
-'for'=68
-'handler'=69
-'if'=82
+'fileName'=68
+'finally'=93
+'for'=64
+'forFileMask'=66
+'handler'=65
+'if'=79
 'import'=47
-'instanceof'=80
-'modifySignals'=55
-'new'=90
-'ns'=101
-'null'=91
-'package'=63
-'return'=94
+'instanceof'=77
+'modifySignals'=54
+'new'=87
+'ns'=98
+'null'=88
+'package'=59
+'return'=91
 'static'=46
 'super'=49
-'switch'=84
-'synch'=61
-'synchronized'=97
-'throw'=93
-'true'=106
-'try'=95
-'typeof'=92
+'switch'=81
+'synch'=57
+'synchronized'=94
+'throw'=90
+'true'=103
+'try'=92
+'typeof'=89
 'val'=44
-'var'=105
-'watcher'=66
-'while'=88
-'{'=64
-'|'=104
+'var'=102
+'watcher'=62
+'while'=85
+'{'=60
+'|'=101
 '||'=14
-'}'=65
+'}'=61
 RULE_ANY_OTHER=12
 RULE_DECIMAL=7
 RULE_HEX=5
@@ -105,9 +102,6 @@
 T__101=101
 T__102=102
 T__103=103
-T__104=104
-T__105=105
-T__106=106
 T__13=13
 T__14=14
 T__15=15
diff --git a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLLexer.java b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLLexer.java
index 5c6c990..24e42d4 100644
--- a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLLexer.java
+++ b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLLexer.java
@@ -109,13 +109,10 @@
     public static final int T__88=88;
     public static final int T__89=89;
     public static final int T__84=84;
-    public static final int T__104=104;
     public static final int T__85=85;
     public static final int T__103=103;
     public static final int T__86=86;
-    public static final int T__106=106;
     public static final int T__87=87;
-    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -965,10 +962,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:51:7: ( 'all' )
-            // InternalSignalDSL.g:51:9: 'all'
+            // InternalSignalDSL.g:51:7: ( 'createSignals' )
+            // InternalSignalDSL.g:51:9: 'createSignals'
             {
-            match("all"); 
+            match("createSignals"); 
 
 
             }
@@ -986,10 +983,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:52:7: ( 'createSignals' )
-            // InternalSignalDSL.g:52:9: 'createSignals'
+            // InternalSignalDSL.g:52:7: ( 'modifySignals' )
+            // InternalSignalDSL.g:52:9: 'modifySignals'
             {
-            match("createSignals"); 
+            match("modifySignals"); 
 
 
             }
@@ -1007,10 +1004,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:53:7: ( 'modifySignals' )
-            // InternalSignalDSL.g:53:9: 'modifySignals'
+            // InternalSignalDSL.g:53:7: ( 'doAfterModify' )
+            // InternalSignalDSL.g:53:9: 'doAfterModify'
             {
-            match("modifySignals"); 
+            match("doAfterModify"); 
 
 
             }
@@ -1028,10 +1025,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:54:7: ( 'deleteSignals' )
-            // InternalSignalDSL.g:54:9: 'deleteSignals'
+            // InternalSignalDSL.g:54:7: ( 'doAfterCreate' )
+            // InternalSignalDSL.g:54:9: 'doAfterCreate'
             {
-            match("deleteSignals"); 
+            match("doAfterCreate"); 
 
 
             }
@@ -1049,10 +1046,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:55:7: ( 'doAfter' )
-            // InternalSignalDSL.g:55:9: 'doAfter'
+            // InternalSignalDSL.g:55:7: ( 'synch' )
+            // InternalSignalDSL.g:55:9: 'synch'
             {
-            match("doAfter"); 
+            match("synch"); 
 
 
             }
@@ -1070,10 +1067,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:56:7: ( 'doAfterModify' )
-            // InternalSignalDSL.g:56:9: 'doAfterModify'
+            // InternalSignalDSL.g:56:7: ( 'asynch' )
+            // InternalSignalDSL.g:56:9: 'asynch'
             {
-            match("doAfterModify"); 
+            match("asynch"); 
 
 
             }
@@ -1091,10 +1088,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:57:7: ( 'doAfterCreate' )
-            // InternalSignalDSL.g:57:9: 'doAfterCreate'
+            // InternalSignalDSL.g:57:7: ( 'package' )
+            // InternalSignalDSL.g:57:9: 'package'
             {
-            match("doAfterCreate"); 
+            match("package"); 
 
 
             }
@@ -1112,11 +1109,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:58:7: ( 'doAfterDelete' )
-            // InternalSignalDSL.g:58:9: 'doAfterDelete'
+            // InternalSignalDSL.g:58:7: ( '{' )
+            // InternalSignalDSL.g:58:9: '{'
             {
-            match("doAfterDelete"); 
-
+            match('{'); 
 
             }
 
@@ -1133,11 +1129,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:59:7: ( 'synch' )
-            // InternalSignalDSL.g:59:9: 'synch'
+            // InternalSignalDSL.g:59:7: ( '}' )
+            // InternalSignalDSL.g:59:9: '}'
             {
-            match("synch"); 
-
+            match('}'); 
 
             }
 
@@ -1154,10 +1149,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:60:7: ( 'asynch' )
-            // InternalSignalDSL.g:60:9: 'asynch'
+            // InternalSignalDSL.g:60:7: ( 'watcher' )
+            // InternalSignalDSL.g:60:9: 'watcher'
             {
-            match("asynch"); 
+            match("watcher"); 
 
 
             }
@@ -1175,10 +1170,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:61:7: ( 'package' )
-            // InternalSignalDSL.g:61:9: 'package'
+            // InternalSignalDSL.g:61:7: ( 'directory' )
+            // InternalSignalDSL.g:61:9: 'directory'
             {
-            match("package"); 
+            match("directory"); 
 
 
             }
@@ -1196,10 +1191,11 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:62:7: ( '{' )
-            // InternalSignalDSL.g:62:9: '{'
+            // InternalSignalDSL.g:62:7: ( 'for' )
+            // InternalSignalDSL.g:62:9: 'for'
             {
-            match('{'); 
+            match("for"); 
+
 
             }
 
@@ -1216,10 +1212,11 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:63:7: ( '}' )
-            // InternalSignalDSL.g:63:9: '}'
+            // InternalSignalDSL.g:63:7: ( 'handler' )
+            // InternalSignalDSL.g:63:9: 'handler'
             {
-            match('}'); 
+            match("handler"); 
+
 
             }
 
@@ -1236,10 +1233,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:64:7: ( 'watcher' )
-            // InternalSignalDSL.g:64:9: 'watcher'
+            // InternalSignalDSL.g:64:7: ( 'forFileMask' )
+            // InternalSignalDSL.g:64:9: 'forFileMask'
             {
-            match("watcher"); 
+            match("forFileMask"); 
 
 
             }
@@ -1257,10 +1254,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:65:7: ( 'directory' )
-            // InternalSignalDSL.g:65:9: 'directory'
+            // InternalSignalDSL.g:65:7: ( 'DataTransfer' )
+            // InternalSignalDSL.g:65:9: 'DataTransfer'
             {
-            match("directory"); 
+            match("DataTransfer"); 
 
 
             }
@@ -1278,10 +1275,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:66:7: ( 'for' )
-            // InternalSignalDSL.g:66:9: 'for'
+            // InternalSignalDSL.g:66:7: ( 'fileName' )
+            // InternalSignalDSL.g:66:9: 'fileName'
             {
-            match("for"); 
+            match("fileName"); 
 
 
             }
@@ -1299,11 +1296,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:67:7: ( 'handler' )
-            // InternalSignalDSL.g:67:9: 'handler'
+            // InternalSignalDSL.g:67:7: ( ';' )
+            // InternalSignalDSL.g:67:9: ';'
             {
-            match("handler"); 
-
+            match(';'); 
 
             }
 
@@ -1320,11 +1316,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:68:7: ( 'fileMask' )
-            // InternalSignalDSL.g:68:9: 'fileMask'
+            // InternalSignalDSL.g:68:7: ( '@' )
+            // InternalSignalDSL.g:68:9: '@'
             {
-            match("fileMask"); 
-
+            match('@'); 
 
             }
 
@@ -1341,11 +1336,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:69:7: ( 'DataTransfer' )
-            // InternalSignalDSL.g:69:9: 'DataTransfer'
+            // InternalSignalDSL.g:69:7: ( '(' )
+            // InternalSignalDSL.g:69:9: '('
             {
-            match("DataTransfer"); 
-
+            match('('); 
 
             }
 
@@ -1362,10 +1356,10 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:70:7: ( ';' )
-            // InternalSignalDSL.g:70:9: ';'
+            // InternalSignalDSL.g:70:7: ( ')' )
+            // InternalSignalDSL.g:70:9: ')'
             {
-            match(';'); 
+            match(')'); 
 
             }
 
@@ -1382,10 +1376,10 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:71:7: ( '@' )
-            // InternalSignalDSL.g:71:9: '@'
+            // InternalSignalDSL.g:71:7: ( ',' )
+            // InternalSignalDSL.g:71:9: ','
             {
-            match('@'); 
+            match(','); 
 
             }
 
@@ -1402,10 +1396,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:72:7: ( '(' )
-            // InternalSignalDSL.g:72:9: '('
+            // InternalSignalDSL.g:72:7: ( ']' )
+            // InternalSignalDSL.g:72:9: ']'
             {
-            match('('); 
+            match(']'); 
 
             }
 
@@ -1422,10 +1416,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:73:7: ( ')' )
-            // InternalSignalDSL.g:73:9: ')'
+            // InternalSignalDSL.g:73:7: ( '#' )
+            // InternalSignalDSL.g:73:9: '#'
             {
-            match(')'); 
+            match('#'); 
 
             }
 
@@ -1442,10 +1436,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:74:7: ( ',' )
-            // InternalSignalDSL.g:74:9: ','
+            // InternalSignalDSL.g:74:7: ( '[' )
+            // InternalSignalDSL.g:74:9: '['
             {
-            match(','); 
+            match('['); 
 
             }
 
@@ -1462,10 +1456,11 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:75:7: ( ']' )
-            // InternalSignalDSL.g:75:9: ']'
+            // InternalSignalDSL.g:75:7: ( 'instanceof' )
+            // InternalSignalDSL.g:75:9: 'instanceof'
             {
-            match(']'); 
+            match("instanceof"); 
+
 
             }
 
@@ -1482,10 +1477,11 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:76:7: ( '#' )
-            // InternalSignalDSL.g:76:9: '#'
+            // InternalSignalDSL.g:76:7: ( 'as' )
+            // InternalSignalDSL.g:76:9: 'as'
             {
-            match('#'); 
+            match("as"); 
+
 
             }
 
@@ -1502,10 +1498,11 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:77:7: ( '[' )
-            // InternalSignalDSL.g:77:9: '['
+            // InternalSignalDSL.g:77:7: ( 'if' )
+            // InternalSignalDSL.g:77:9: 'if'
             {
-            match('['); 
+            match("if"); 
+
 
             }
 
@@ -1522,10 +1519,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:78:7: ( 'instanceof' )
-            // InternalSignalDSL.g:78:9: 'instanceof'
+            // InternalSignalDSL.g:78:7: ( 'else' )
+            // InternalSignalDSL.g:78:9: 'else'
             {
-            match("instanceof"); 
+            match("else"); 
 
 
             }
@@ -1543,10 +1540,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:79:7: ( 'as' )
-            // InternalSignalDSL.g:79:9: 'as'
+            // InternalSignalDSL.g:79:7: ( 'switch' )
+            // InternalSignalDSL.g:79:9: 'switch'
             {
-            match("as"); 
+            match("switch"); 
 
 
             }
@@ -1564,11 +1561,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:80:7: ( 'if' )
-            // InternalSignalDSL.g:80:9: 'if'
+            // InternalSignalDSL.g:80:7: ( ':' )
+            // InternalSignalDSL.g:80:9: ':'
             {
-            match("if"); 
-
+            match(':'); 
 
             }
 
@@ -1585,10 +1581,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:81:7: ( 'else' )
-            // InternalSignalDSL.g:81:9: 'else'
+            // InternalSignalDSL.g:81:7: ( 'default' )
+            // InternalSignalDSL.g:81:9: 'default'
             {
-            match("else"); 
+            match("default"); 
 
 
             }
@@ -1606,10 +1602,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:82:7: ( 'switch' )
-            // InternalSignalDSL.g:82:9: 'switch'
+            // InternalSignalDSL.g:82:7: ( 'case' )
+            // InternalSignalDSL.g:82:9: 'case'
             {
-            match("switch"); 
+            match("case"); 
 
 
             }
@@ -1627,10 +1623,11 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:83:7: ( ':' )
-            // InternalSignalDSL.g:83:9: ':'
+            // InternalSignalDSL.g:83:7: ( 'while' )
+            // InternalSignalDSL.g:83:9: 'while'
             {
-            match(':'); 
+            match("while"); 
+
 
             }
 
@@ -1647,10 +1644,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:84:7: ( 'default' )
-            // InternalSignalDSL.g:84:9: 'default'
+            // InternalSignalDSL.g:84:7: ( 'do' )
+            // InternalSignalDSL.g:84:9: 'do'
             {
-            match("default"); 
+            match("do"); 
 
 
             }
@@ -1668,10 +1665,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:85:7: ( 'case' )
-            // InternalSignalDSL.g:85:9: 'case'
+            // InternalSignalDSL.g:85:7: ( 'new' )
+            // InternalSignalDSL.g:85:9: 'new'
             {
-            match("case"); 
+            match("new"); 
 
 
             }
@@ -1689,10 +1686,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:86:7: ( 'while' )
-            // InternalSignalDSL.g:86:9: 'while'
+            // InternalSignalDSL.g:86:7: ( 'null' )
+            // InternalSignalDSL.g:86:9: 'null'
             {
-            match("while"); 
+            match("null"); 
 
 
             }
@@ -1710,10 +1707,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:87:7: ( 'do' )
-            // InternalSignalDSL.g:87:9: 'do'
+            // InternalSignalDSL.g:87:7: ( 'typeof' )
+            // InternalSignalDSL.g:87:9: 'typeof'
             {
-            match("do"); 
+            match("typeof"); 
 
 
             }
@@ -1731,10 +1728,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:88:7: ( 'new' )
-            // InternalSignalDSL.g:88:9: 'new'
+            // InternalSignalDSL.g:88:7: ( 'throw' )
+            // InternalSignalDSL.g:88:9: 'throw'
             {
-            match("new"); 
+            match("throw"); 
 
 
             }
@@ -1752,10 +1749,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:89:7: ( 'null' )
-            // InternalSignalDSL.g:89:9: 'null'
+            // InternalSignalDSL.g:89:7: ( 'return' )
+            // InternalSignalDSL.g:89:9: 'return'
             {
-            match("null"); 
+            match("return"); 
 
 
             }
@@ -1773,10 +1770,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:90:7: ( 'typeof' )
-            // InternalSignalDSL.g:90:9: 'typeof'
+            // InternalSignalDSL.g:90:7: ( 'try' )
+            // InternalSignalDSL.g:90:9: 'try'
             {
-            match("typeof"); 
+            match("try"); 
 
 
             }
@@ -1794,10 +1791,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:91:7: ( 'throw' )
-            // InternalSignalDSL.g:91:9: 'throw'
+            // InternalSignalDSL.g:91:7: ( 'finally' )
+            // InternalSignalDSL.g:91:9: 'finally'
             {
-            match("throw"); 
+            match("finally"); 
 
 
             }
@@ -1815,10 +1812,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:92:7: ( 'return' )
-            // InternalSignalDSL.g:92:9: 'return'
+            // InternalSignalDSL.g:92:7: ( 'synchronized' )
+            // InternalSignalDSL.g:92:9: 'synchronized'
             {
-            match("return"); 
+            match("synchronized"); 
 
 
             }
@@ -1836,10 +1833,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:93:7: ( 'try' )
-            // InternalSignalDSL.g:93:9: 'try'
+            // InternalSignalDSL.g:93:7: ( 'catch' )
+            // InternalSignalDSL.g:93:9: 'catch'
             {
-            match("try"); 
+            match("catch"); 
 
 
             }
@@ -1857,11 +1854,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:94:7: ( 'finally' )
-            // InternalSignalDSL.g:94:9: 'finally'
+            // InternalSignalDSL.g:94:7: ( '?' )
+            // InternalSignalDSL.g:94:9: '?'
             {
-            match("finally"); 
-
+            match('?'); 
 
             }
 
@@ -1878,11 +1874,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:95:7: ( 'synchronized' )
-            // InternalSignalDSL.g:95:9: 'synchronized'
+            // InternalSignalDSL.g:95:7: ( '&' )
+            // InternalSignalDSL.g:95:9: '&'
             {
-            match("synchronized"); 
-
+            match('&'); 
 
             }
 
@@ -1899,10 +1894,10 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:96:7: ( 'catch' )
-            // InternalSignalDSL.g:96:9: 'catch'
+            // InternalSignalDSL.g:96:7: ( 'ns' )
+            // InternalSignalDSL.g:96:9: 'ns'
             {
-            match("catch"); 
+            match("ns"); 
 
 
             }
@@ -1920,10 +1915,11 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:97:7: ( '?' )
-            // InternalSignalDSL.g:97:9: '?'
+            // InternalSignalDSL.g:97:7: ( '::' )
+            // InternalSignalDSL.g:97:9: '::'
             {
-            match('?'); 
+            match("::"); 
+
 
             }
 
@@ -1940,10 +1936,11 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:98:8: ( '&' )
-            // InternalSignalDSL.g:98:10: '&'
+            // InternalSignalDSL.g:98:8: ( '?.' )
+            // InternalSignalDSL.g:98:10: '?.'
             {
-            match('&'); 
+            match("?."); 
+
 
             }
 
@@ -1960,11 +1957,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:99:8: ( 'ns' )
-            // InternalSignalDSL.g:99:10: 'ns'
+            // InternalSignalDSL.g:99:8: ( '|' )
+            // InternalSignalDSL.g:99:10: '|'
             {
-            match("ns"); 
-
+            match('|'); 
 
             }
 
@@ -1981,10 +1977,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:100:8: ( '::' )
-            // InternalSignalDSL.g:100:10: '::'
+            // InternalSignalDSL.g:100:8: ( 'var' )
+            // InternalSignalDSL.g:100:10: 'var'
             {
-            match("::"); 
+            match("var"); 
 
 
             }
@@ -2002,70 +1998,8 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:101:8: ( '?.' )
-            // InternalSignalDSL.g:101:10: '?.'
-            {
-            match("?."); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__103"
-
-    // $ANTLR start "T__104"
-    public final void mT__104() throws RecognitionException {
-        try {
-            int _type = T__104;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:102:8: ( '|' )
-            // InternalSignalDSL.g:102:10: '|'
-            {
-            match('|'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__104"
-
-    // $ANTLR start "T__105"
-    public final void mT__105() throws RecognitionException {
-        try {
-            int _type = T__105;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:103:8: ( 'var' )
-            // InternalSignalDSL.g:103:10: 'var'
-            {
-            match("var"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__105"
-
-    // $ANTLR start "T__106"
-    public final void mT__106() throws RecognitionException {
-        try {
-            int _type = T__106;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:104:8: ( 'true' )
-            // InternalSignalDSL.g:104:10: 'true'
+            // InternalSignalDSL.g:101:8: ( 'true' )
+            // InternalSignalDSL.g:101:10: 'true'
             {
             match("true"); 
 
@@ -2078,17 +2012,17 @@
         finally {
         }
     }
-    // $ANTLR end "T__106"
+    // $ANTLR end "T__103"
 
     // $ANTLR start "RULE_HEX"
     public final void mRULE_HEX() throws RecognitionException {
         try {
             int _type = RULE_HEX;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20255:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // InternalSignalDSL.g:20255:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalSignalDSL.g:20298:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // InternalSignalDSL.g:20298:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             {
-            // InternalSignalDSL.g:20255:12: ( '0x' | '0X' )
+            // InternalSignalDSL.g:20298:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -2116,7 +2050,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // InternalSignalDSL.g:20255:13: '0x'
+                    // InternalSignalDSL.g:20298:13: '0x'
                     {
                     match("0x"); 
 
@@ -2124,7 +2058,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:20255:18: '0X'
+                    // InternalSignalDSL.g:20298:18: '0X'
                     {
                     match("0X"); 
 
@@ -2134,7 +2068,7 @@
 
             }
 
-            // InternalSignalDSL.g:20255:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            // InternalSignalDSL.g:20298:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
             int cnt2=0;
             loop2:
             do {
@@ -2172,7 +2106,7 @@
                 cnt2++;
             } while (true);
 
-            // InternalSignalDSL.g:20255:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalSignalDSL.g:20298:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -2181,10 +2115,10 @@
             }
             switch (alt4) {
                 case 1 :
-                    // InternalSignalDSL.g:20255:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalSignalDSL.g:20298:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     {
                     match('#'); 
-                    // InternalSignalDSL.g:20255:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalSignalDSL.g:20298:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     int alt3=2;
                     int LA3_0 = input.LA(1);
 
@@ -2202,7 +2136,7 @@
                     }
                     switch (alt3) {
                         case 1 :
-                            // InternalSignalDSL.g:20255:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            // InternalSignalDSL.g:20298:64: ( 'b' | 'B' ) ( 'i' | 'I' )
                             {
                             if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                                 input.consume();
@@ -2226,7 +2160,7 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:20255:84: ( 'l' | 'L' )
+                            // InternalSignalDSL.g:20298:84: ( 'l' | 'L' )
                             {
                             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                                 input.consume();
@@ -2265,11 +2199,11 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20257:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // InternalSignalDSL.g:20257:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            // InternalSignalDSL.g:20300:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // InternalSignalDSL.g:20300:12: '0' .. '9' ( '0' .. '9' | '_' )*
             {
             matchRange('0','9'); 
-            // InternalSignalDSL.g:20257:21: ( '0' .. '9' | '_' )*
+            // InternalSignalDSL.g:20300:21: ( '0' .. '9' | '_' )*
             loop5:
             do {
                 int alt5=2;
@@ -2318,11 +2252,11 @@
         try {
             int _type = RULE_DECIMAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20259:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // InternalSignalDSL.g:20259:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalSignalDSL.g:20302:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // InternalSignalDSL.g:20302:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             {
             mRULE_INT(); 
-            // InternalSignalDSL.g:20259:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            // InternalSignalDSL.g:20302:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -2331,7 +2265,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // InternalSignalDSL.g:20259:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    // InternalSignalDSL.g:20302:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                     {
                     if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                         input.consume();
@@ -2342,7 +2276,7 @@
                         recover(mse);
                         throw mse;}
 
-                    // InternalSignalDSL.g:20259:36: ( '+' | '-' )?
+                    // InternalSignalDSL.g:20302:36: ( '+' | '-' )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -2375,7 +2309,7 @@
 
             }
 
-            // InternalSignalDSL.g:20259:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalSignalDSL.g:20302:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             int alt8=3;
             int LA8_0 = input.LA(1);
 
@@ -2387,7 +2321,7 @@
             }
             switch (alt8) {
                 case 1 :
-                    // InternalSignalDSL.g:20259:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    // InternalSignalDSL.g:20302:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                     {
                     if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                         input.consume();
@@ -2411,7 +2345,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:20259:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    // InternalSignalDSL.g:20302:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                     {
                     if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                         input.consume();
@@ -2444,10 +2378,10 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20261:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // InternalSignalDSL.g:20261:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalSignalDSL.g:20304:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // InternalSignalDSL.g:20304:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             {
-            // InternalSignalDSL.g:20261:11: ( '^' )?
+            // InternalSignalDSL.g:20304:11: ( '^' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -2456,7 +2390,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalSignalDSL.g:20261:11: '^'
+                    // InternalSignalDSL.g:20304:11: '^'
                     {
                     match('^'); 
 
@@ -2474,7 +2408,7 @@
                 recover(mse);
                 throw mse;}
 
-            // InternalSignalDSL.g:20261:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalSignalDSL.g:20304:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             loop10:
             do {
                 int alt10=2;
@@ -2523,10 +2457,10 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20263:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // InternalSignalDSL.g:20263:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalSignalDSL.g:20306:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // InternalSignalDSL.g:20306:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             {
-            // InternalSignalDSL.g:20263:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalSignalDSL.g:20306:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -2544,10 +2478,10 @@
             }
             switch (alt15) {
                 case 1 :
-                    // InternalSignalDSL.g:20263:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    // InternalSignalDSL.g:20306:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                     {
                     match('\"'); 
-                    // InternalSignalDSL.g:20263:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // InternalSignalDSL.g:20306:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -2563,7 +2497,7 @@
 
                         switch (alt11) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:20263:21: '\\\\' .
+                    	    // InternalSignalDSL.g:20306:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2571,7 +2505,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalSignalDSL.g:20263:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // InternalSignalDSL.g:20306:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -2591,7 +2525,7 @@
                         }
                     } while (true);
 
-                    // InternalSignalDSL.g:20263:44: ( '\"' )?
+                    // InternalSignalDSL.g:20306:44: ( '\"' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -2600,7 +2534,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // InternalSignalDSL.g:20263:44: '\"'
+                            // InternalSignalDSL.g:20306:44: '\"'
                             {
                             match('\"'); 
 
@@ -2613,10 +2547,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:20263:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    // InternalSignalDSL.g:20306:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                     {
                     match('\''); 
-                    // InternalSignalDSL.g:20263:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // InternalSignalDSL.g:20306:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop13:
                     do {
                         int alt13=3;
@@ -2632,7 +2566,7 @@
 
                         switch (alt13) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:20263:55: '\\\\' .
+                    	    // InternalSignalDSL.g:20306:55: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2640,7 +2574,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalSignalDSL.g:20263:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // InternalSignalDSL.g:20306:62: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -2660,7 +2594,7 @@
                         }
                     } while (true);
 
-                    // InternalSignalDSL.g:20263:79: ( '\\'' )?
+                    // InternalSignalDSL.g:20306:79: ( '\\'' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -2669,7 +2603,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalSignalDSL.g:20263:79: '\\''
+                            // InternalSignalDSL.g:20306:79: '\\''
                             {
                             match('\''); 
 
@@ -2700,12 +2634,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20265:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalSignalDSL.g:20265:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalSignalDSL.g:20308:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalSignalDSL.g:20308:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalSignalDSL.g:20265:24: ( options {greedy=false; } : . )*
+            // InternalSignalDSL.g:20308:24: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -2730,7 +2664,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalSignalDSL.g:20265:52: .
+            	    // InternalSignalDSL.g:20308:52: .
             	    {
             	    matchAny(); 
 
@@ -2760,12 +2694,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20267:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalSignalDSL.g:20267:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalSignalDSL.g:20310:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalSignalDSL.g:20310:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalSignalDSL.g:20267:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalSignalDSL.g:20310:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop17:
             do {
                 int alt17=2;
@@ -2778,7 +2712,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // InternalSignalDSL.g:20267:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalSignalDSL.g:20310:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -2798,7 +2732,7 @@
                 }
             } while (true);
 
-            // InternalSignalDSL.g:20267:40: ( ( '\\r' )? '\\n' )?
+            // InternalSignalDSL.g:20310:40: ( ( '\\r' )? '\\n' )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -2807,9 +2741,9 @@
             }
             switch (alt19) {
                 case 1 :
-                    // InternalSignalDSL.g:20267:41: ( '\\r' )? '\\n'
+                    // InternalSignalDSL.g:20310:41: ( '\\r' )? '\\n'
                     {
-                    // InternalSignalDSL.g:20267:41: ( '\\r' )?
+                    // InternalSignalDSL.g:20310:41: ( '\\r' )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -2818,7 +2752,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // InternalSignalDSL.g:20267:41: '\\r'
+                            // InternalSignalDSL.g:20310:41: '\\r'
                             {
                             match('\r'); 
 
@@ -2850,10 +2784,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20269:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalSignalDSL.g:20269:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalSignalDSL.g:20312:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalSignalDSL.g:20312:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalSignalDSL.g:20269:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalSignalDSL.g:20312:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt20=0;
             loop20:
             do {
@@ -2907,8 +2841,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20271:16: ( . )
-            // InternalSignalDSL.g:20271:18: .
+            // InternalSignalDSL.g:20314:16: ( . )
+            // InternalSignalDSL.g:20314:18: .
             {
             matchAny(); 
 
@@ -2923,8 +2857,8 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalSignalDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt21=103;
+        // InternalSignalDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=100;
         alt21 = dfa21.predict(input);
         switch (alt21) {
             case 1 :
@@ -3565,84 +3499,63 @@
                 }
                 break;
             case 92 :
-                // InternalSignalDSL.g:1:560: T__104
-                {
-                mT__104(); 
-
-                }
-                break;
-            case 93 :
-                // InternalSignalDSL.g:1:567: T__105
-                {
-                mT__105(); 
-
-                }
-                break;
-            case 94 :
-                // InternalSignalDSL.g:1:574: T__106
-                {
-                mT__106(); 
-
-                }
-                break;
-            case 95 :
-                // InternalSignalDSL.g:1:581: RULE_HEX
+                // InternalSignalDSL.g:1:560: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 96 :
-                // InternalSignalDSL.g:1:590: RULE_INT
+            case 93 :
+                // InternalSignalDSL.g:1:569: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 97 :
-                // InternalSignalDSL.g:1:599: RULE_DECIMAL
+            case 94 :
+                // InternalSignalDSL.g:1:578: RULE_DECIMAL
                 {
                 mRULE_DECIMAL(); 
 
                 }
                 break;
-            case 98 :
-                // InternalSignalDSL.g:1:612: RULE_ID
+            case 95 :
+                // InternalSignalDSL.g:1:591: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 99 :
-                // InternalSignalDSL.g:1:620: RULE_STRING
+            case 96 :
+                // InternalSignalDSL.g:1:599: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 100 :
-                // InternalSignalDSL.g:1:632: RULE_ML_COMMENT
+            case 97 :
+                // InternalSignalDSL.g:1:611: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 101 :
-                // InternalSignalDSL.g:1:648: RULE_SL_COMMENT
+            case 98 :
+                // InternalSignalDSL.g:1:627: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 102 :
-                // InternalSignalDSL.g:1:664: RULE_WS
+            case 99 :
+                // InternalSignalDSL.g:1:643: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 103 :
-                // InternalSignalDSL.g:1:672: RULE_ANY_OTHER
+            case 100 :
+                // InternalSignalDSL.g:1:651: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -3656,19 +3569,19 @@
 
     protected DFA21 dfa21 = new DFA21(this);
     static final String DFA21_eotS =
-        "\1\uffff\1\65\1\67\1\71\1\74\1\100\1\103\1\107\1\111\1\113\1\115\1\117\1\121\1\124\14\126\2\uffff\3\126\10\uffff\1\175\3\126\2\u0087\1\62\5\uffff\1\u008c\26\uffff\1\u008e\5\uffff\1\u0090\4\uffff\1\126\1\uffff\10\126\1\u009b\6\126\1\u00a4\4\126\1\u00ac\2\126\2\uffff\4\126\12\uffff\2\126\1\u00b5\4\126\1\uffff\1\u0087\12\uffff\1\u00bb\1\u00bc\10\126\1\uffff\1\126\1\u00c6\4\126\1\u00cb\1\126\1\uffff\7\126\1\uffff\6\126\1\u00da\1\126\1\uffff\2\126\1\u00de\2\126\2\uffff\1\126\1\u00e2\7\126\1\uffff\4\126\1\uffff\2\126\1\u00f0\13\126\1\uffff\1\u00fc\2\126\1\uffff\1\u00ff\2\126\1\uffff\1\126\1\u0104\1\u0106\3\126\1\u010a\6\126\1\uffff\1\u0111\7\126\1\u0119\2\126\1\uffff\1\126\1\u011d\1\uffff\3\126\1\u0121\1\uffff\1\126\1\uffff\1\u0123\1\u0124\1\126\1\uffff\2\126\1\u0128\1\u0129\1\u012a\1\126\1\uffff\7\126\1\uffff\2\126\1\u0135\1\uffff\1\u0136\1\u0137\1\126\1\uffff\1\126\2\uffff\2\126\1\u013c\3\uffff\3\126\1\u0140\1\u0144\1\126\1\u0146\1\u0147\1\u0148\1\126\3\uffff\3\126\1\u014d\1\uffff\3\126\1\uffff\3\126\1\uffff\1\126\3\uffff\1\126\1\u0156\2\126\1\uffff\6\126\1\u015f\1\126\1\uffff\1\126\1\u0162\6\126\1\uffff\2\126\1\uffff\7\126\1\u0172\6\126\1\u0179\1\uffff\1\u017a\1\u017b\1\u017c\1\u017d\1\u017e\1\u017f\7\uffff";
+        "\1\uffff\1\65\1\67\1\71\1\74\1\100\1\103\1\107\1\111\1\113\1\115\1\117\1\121\1\124\14\126\2\uffff\3\126\10\uffff\1\174\3\126\2\u0086\1\62\5\uffff\1\u008b\26\uffff\1\u008d\5\uffff\1\u008f\4\uffff\1\126\1\uffff\10\126\1\u009a\10\126\1\u00a6\2\126\1\u00aa\1\126\2\uffff\4\126\12\uffff\2\126\1\u00b2\4\126\1\uffff\1\u0086\12\uffff\1\u00b8\1\u00b9\10\126\1\uffff\1\126\1\u00c4\11\126\1\uffff\3\126\1\uffff\5\126\1\u00d6\1\126\1\uffff\2\126\1\u00da\2\126\2\uffff\1\126\1\u00de\10\126\1\uffff\5\126\1\u00ec\13\126\1\uffff\1\u00f8\2\126\1\uffff\1\u00fb\2\126\1\uffff\1\126\1\u0100\1\u0102\3\126\1\u0106\6\126\1\uffff\1\u010d\7\126\1\u0115\2\126\1\uffff\1\126\1\u0119\1\uffff\3\126\1\u011d\1\uffff\1\126\1\uffff\1\u011f\1\u0120\1\126\1\uffff\3\126\1\u0125\1\u0126\1\126\1\uffff\4\126\1\u012c\2\126\1\uffff\2\126\1\u0131\1\uffff\1\u0132\1\u0133\1\126\1\uffff\1\126\2\uffff\3\126\1\u0139\2\uffff\4\126\1\u013f\1\uffff\1\u0140\1\u0141\1\u0142\1\126\3\uffff\4\126\1\u0148\1\uffff\5\126\4\uffff\1\126\1\u014f\3\126\1\uffff\4\126\1\u0157\1\126\1\uffff\1\126\1\u015a\5\126\1\uffff\2\126\1\uffff\1\u0162\5\126\1\u0168\1\uffff\4\126\1\u016d\1\uffff\1\u016e\1\u016f\1\u0170\1\u0171\5\uffff";
     static final String DFA21_eofS =
-        "\u0180\uffff";
+        "\u0172\uffff";
     static final String DFA21_minS =
-        "\1\0\1\75\1\174\1\46\1\53\1\55\2\52\3\75\1\76\2\56\1\141\1\154\1\164\1\146\1\141\1\155\1\170\1\154\1\141\1\157\1\145\1\141\2\uffff\3\141\10\uffff\1\72\1\145\1\150\1\145\2\60\1\44\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\uffff\1\164\1\163\1\141\1\160\1\156\1\151\1\160\1\163\1\44\1\154\1\162\1\154\2\160\1\154\1\44\1\145\1\163\1\144\1\146\1\44\1\162\1\143\2\uffff\1\164\1\151\1\156\1\164\12\uffff\1\167\1\154\1\44\1\160\1\162\1\165\1\164\1\uffff\1\60\12\uffff\2\44\2\145\1\164\1\145\1\143\1\164\1\157\1\164\1\uffff\1\163\1\44\1\145\1\141\2\157\1\44\1\156\1\uffff\1\141\1\145\1\143\1\151\1\145\1\141\1\146\1\uffff\1\145\1\153\1\143\1\154\1\144\1\141\1\44\1\154\1\uffff\1\145\1\157\1\44\1\145\1\165\2\uffff\1\156\1\44\1\151\1\162\1\150\1\143\1\162\1\141\1\145\1\uffff\1\115\1\154\2\162\1\uffff\1\143\1\164\1\44\1\150\1\146\1\164\1\165\1\164\1\143\1\141\1\150\1\145\1\154\1\124\1\uffff\1\44\1\157\1\167\1\uffff\1\44\1\162\1\144\1\uffff\1\143\2\44\1\150\1\164\1\156\1\44\1\141\1\154\2\164\1\150\1\145\1\uffff\1\44\1\171\1\145\1\154\1\145\1\164\1\147\1\145\1\44\1\145\1\162\1\uffff\1\146\1\44\1\uffff\1\156\1\163\1\151\1\44\1\uffff\1\157\1\uffff\2\44\1\143\1\uffff\1\163\1\171\3\44\1\123\1\uffff\2\123\1\164\1\162\1\157\1\145\1\162\1\uffff\1\162\1\141\1\44\1\uffff\2\44\1\157\1\uffff\1\156\2\uffff\1\145\1\153\1\44\3\uffff\3\151\2\44\1\162\3\44\1\156\3\uffff\1\156\1\151\1\157\1\44\1\uffff\3\147\1\uffff\1\157\1\162\1\145\1\uffff\1\171\3\uffff\1\163\1\44\1\172\1\146\1\uffff\3\156\1\144\1\145\1\154\1\44\1\146\1\uffff\1\145\1\44\3\141\1\151\1\141\1\145\1\uffff\1\145\1\144\1\uffff\3\154\1\146\2\164\1\162\1\44\3\163\1\171\2\145\1\44\1\uffff\6\44\7\uffff";
+        "\1\0\1\75\1\174\1\46\1\53\1\55\2\52\3\75\1\76\2\56\1\141\1\154\1\164\1\146\1\141\1\155\1\170\1\141\1\157\1\145\1\163\1\141\2\uffff\3\141\10\uffff\1\72\1\145\1\150\1\145\2\60\1\44\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\uffff\1\164\1\163\1\141\1\160\1\156\1\151\1\160\1\163\1\44\1\154\1\162\1\154\2\160\1\145\1\163\1\144\1\44\1\162\1\146\1\44\1\143\2\uffff\1\164\1\151\1\156\1\164\12\uffff\1\167\1\154\1\44\1\160\1\162\1\165\1\164\1\uffff\1\60\12\uffff\2\44\2\145\1\164\1\145\1\143\1\164\1\157\1\164\1\uffff\1\163\1\44\1\145\1\141\2\157\1\141\1\145\1\143\1\151\1\146\1\uffff\1\145\1\141\1\156\1\uffff\1\153\1\143\1\154\1\144\1\141\1\44\1\154\1\uffff\1\145\1\157\1\44\1\145\1\165\2\uffff\1\156\1\44\1\151\1\162\1\150\1\143\1\162\1\141\1\145\1\151\1\uffff\1\116\1\154\2\162\1\164\1\44\1\150\1\146\1\164\1\143\1\165\1\143\1\141\1\150\1\145\1\154\1\124\1\uffff\1\44\1\157\1\167\1\uffff\1\44\1\162\1\144\1\uffff\1\143\2\44\1\150\1\164\1\156\1\44\1\154\1\141\1\154\2\164\1\145\1\uffff\1\44\1\171\1\145\1\164\1\154\1\150\1\147\1\145\1\44\1\145\1\162\1\uffff\1\146\1\44\1\uffff\1\156\1\163\1\151\1\44\1\uffff\1\157\1\uffff\2\44\1\143\1\uffff\1\145\1\155\1\171\2\44\1\123\1\uffff\1\123\1\162\1\157\1\164\1\44\1\145\1\162\1\uffff\1\162\1\141\1\44\1\uffff\2\44\1\157\1\uffff\1\156\2\uffff\1\145\1\115\1\145\1\44\2\uffff\2\151\1\103\1\162\1\44\1\uffff\3\44\1\156\3\uffff\1\156\1\151\1\157\1\141\1\44\1\uffff\2\147\1\157\1\162\1\171\4\uffff\1\163\1\44\1\172\1\146\1\163\1\uffff\2\156\1\144\1\145\1\44\1\146\1\uffff\1\145\1\44\1\153\2\141\1\151\1\141\1\uffff\1\145\1\144\1\uffff\1\44\2\154\1\146\1\164\1\162\1\44\1\uffff\2\163\1\171\1\145\1\44\1\uffff\4\44\5\uffff";
     static final String DFA21_maxS =
-        "\1\uffff\1\76\1\174\1\46\1\75\1\76\5\75\1\76\1\56\1\72\1\141\1\170\1\171\1\156\1\157\1\155\1\170\1\163\1\162\2\157\1\141\2\uffff\1\150\2\141\10\uffff\1\72\1\165\1\171\1\145\1\170\1\154\1\172\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\162\1\uffff\1\164\1\163\1\141\1\160\1\156\1\151\1\160\1\163\1\172\1\154\1\162\1\156\2\160\1\154\1\172\1\145\1\164\1\144\1\154\1\172\1\162\1\143\2\uffff\1\164\1\151\1\156\1\164\12\uffff\1\167\1\154\1\172\1\160\1\162\1\171\1\164\1\uffff\1\154\12\uffff\2\172\2\145\1\164\1\145\1\143\1\164\1\157\1\164\1\uffff\1\163\1\172\1\145\1\141\2\157\1\172\1\156\1\uffff\1\141\1\145\1\143\1\151\1\145\1\141\1\146\1\uffff\1\145\1\153\1\143\1\154\1\144\1\141\1\172\1\154\1\uffff\1\145\1\157\1\172\1\145\1\165\2\uffff\1\156\1\172\1\151\1\162\1\150\1\143\1\162\1\141\1\145\1\uffff\1\115\1\154\2\162\1\uffff\1\143\1\164\1\172\1\150\1\146\1\164\1\165\1\164\1\143\1\141\1\150\1\145\1\154\1\124\1\uffff\1\172\1\157\1\167\1\uffff\1\172\1\162\1\163\1\uffff\1\143\2\172\1\150\1\164\1\156\1\172\1\141\1\154\2\164\1\150\1\145\1\uffff\1\172\1\171\1\145\1\154\1\145\1\164\1\147\1\145\1\172\1\145\1\162\1\uffff\1\146\1\172\1\uffff\1\156\1\163\1\151\1\172\1\uffff\1\157\1\uffff\2\172\1\143\1\uffff\1\163\1\171\3\172\1\123\1\uffff\2\123\1\164\1\162\1\157\1\145\1\162\1\uffff\1\162\1\141\1\172\1\uffff\2\172\1\157\1\uffff\1\156\2\uffff\1\145\1\153\1\172\3\uffff\3\151\2\172\1\162\3\172\1\156\3\uffff\1\156\1\151\1\157\1\172\1\uffff\3\147\1\uffff\1\157\1\162\1\145\1\uffff\1\171\3\uffff\1\163\2\172\1\146\1\uffff\3\156\1\144\1\145\1\154\1\172\1\146\1\uffff\1\145\1\172\3\141\1\151\1\141\1\145\1\uffff\1\145\1\144\1\uffff\3\154\1\146\2\164\1\162\1\172\3\163\1\171\2\145\1\172\1\uffff\6\172\7\uffff";
+        "\1\uffff\1\76\1\174\1\46\1\75\1\76\5\75\1\76\1\56\1\72\1\141\1\170\1\171\1\156\1\157\1\155\1\170\1\162\2\157\1\163\1\141\2\uffff\1\150\2\141\10\uffff\1\72\1\165\1\171\1\145\1\170\1\154\1\172\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\162\1\uffff\1\164\1\163\1\141\1\160\1\156\1\151\1\160\1\163\1\172\1\154\1\162\1\156\2\160\1\145\1\164\1\144\1\172\1\162\1\146\1\172\1\143\2\uffff\1\164\1\151\1\156\1\164\12\uffff\1\167\1\154\1\172\1\160\1\162\1\171\1\164\1\uffff\1\154\12\uffff\2\172\2\145\1\164\1\145\1\143\1\164\1\157\1\164\1\uffff\1\163\1\172\1\145\1\141\2\157\1\141\1\145\1\143\1\151\1\146\1\uffff\1\145\1\141\1\156\1\uffff\1\153\1\143\1\154\1\144\1\141\1\172\1\154\1\uffff\1\145\1\157\1\172\1\145\1\165\2\uffff\1\156\1\172\1\151\1\162\1\150\1\143\1\162\1\141\1\145\1\151\1\uffff\1\116\1\154\2\162\1\164\1\172\1\150\1\146\1\164\1\143\1\165\1\143\1\141\1\150\1\145\1\154\1\124\1\uffff\1\172\1\157\1\167\1\uffff\1\172\1\162\1\163\1\uffff\1\143\2\172\1\150\1\164\1\156\1\172\1\154\1\141\1\154\2\164\1\145\1\uffff\1\172\1\171\1\145\1\164\1\154\1\150\1\147\1\145\1\172\1\145\1\162\1\uffff\1\146\1\172\1\uffff\1\156\1\163\1\151\1\172\1\uffff\1\157\1\uffff\2\172\1\143\1\uffff\1\145\1\155\1\171\2\172\1\123\1\uffff\1\123\1\162\1\157\1\164\1\172\1\145\1\162\1\uffff\1\162\1\141\1\172\1\uffff\2\172\1\157\1\uffff\1\156\2\uffff\1\145\1\115\1\145\1\172\2\uffff\2\151\1\115\1\162\1\172\1\uffff\3\172\1\156\3\uffff\1\156\1\151\1\157\1\141\1\172\1\uffff\2\147\1\157\1\162\1\171\4\uffff\1\163\2\172\1\146\1\163\1\uffff\2\156\1\144\1\145\1\172\1\146\1\uffff\1\145\1\172\1\153\2\141\1\151\1\141\1\uffff\1\145\1\144\1\uffff\1\172\2\154\1\146\1\164\1\162\1\172\1\uffff\2\163\1\171\1\145\1\172\1\uffff\4\172\5\uffff";
     static final String DFA21_acceptS =
-        "\32\uffff\1\64\1\65\3\uffff\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\7\uffff\1\142\2\143\1\146\1\147\1\uffff\1\23\1\1\1\2\1\134\1\3\1\130\1\4\1\35\1\26\1\5\1\20\1\36\1\27\1\6\1\31\1\30\1\7\1\144\1\145\1\32\1\10\1\33\1\uffff\1\34\1\15\1\16\1\24\1\17\1\uffff\1\37\1\25\1\133\1\127\1\uffff\1\142\27\uffff\1\64\1\65\4\uffff\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\132\1\111\7\uffff\1\137\1\uffff\1\140\1\141\1\143\1\146\1\13\1\11\1\14\1\12\1\21\1\22\12\uffff\1\106\10\uffff\1\105\7\uffff\1\115\10\uffff\1\131\5\uffff\1\40\1\135\11\uffff\1\70\4\uffff\1\51\16\uffff\1\116\3\uffff\1\123\3\uffff\1\107\15\uffff\1\113\13\uffff\1\117\2\uffff\1\136\4\uffff\1\45\1\uffff\1\61\3\uffff\1\46\6\uffff\1\126\7\uffff\1\114\3\uffff\1\121\3\uffff\1\42\1\uffff\1\110\1\43\3\uffff\1\47\1\50\1\62\12\uffff\1\120\1\122\1\41\4\uffff\1\124\3\uffff\1\112\3\uffff\1\55\1\uffff\1\63\1\66\1\71\4\uffff\1\72\10\uffff\1\44\10\uffff\1\67\2\uffff\1\104\17\uffff\1\125\6\uffff\1\73\1\52\1\53\1\54\1\56\1\57\1\60";
+        "\32\uffff\1\60\1\61\3\uffff\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\7\uffff\1\137\2\140\1\143\1\144\1\uffff\1\23\1\1\1\2\1\131\1\3\1\125\1\4\1\35\1\26\1\5\1\20\1\36\1\27\1\6\1\31\1\30\1\7\1\141\1\142\1\32\1\10\1\33\1\uffff\1\34\1\15\1\16\1\24\1\17\1\uffff\1\37\1\25\1\130\1\124\1\uffff\1\137\26\uffff\1\60\1\61\4\uffff\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\127\1\106\7\uffff\1\134\1\uffff\1\135\1\136\1\140\1\143\1\13\1\11\1\14\1\12\1\21\1\22\12\uffff\1\103\13\uffff\1\112\3\uffff\1\102\7\uffff\1\126\5\uffff\1\40\1\132\12\uffff\1\64\21\uffff\1\113\3\uffff\1\120\3\uffff\1\104\15\uffff\1\110\13\uffff\1\114\2\uffff\1\133\4\uffff\1\45\1\uffff\1\55\3\uffff\1\46\6\uffff\1\123\7\uffff\1\111\3\uffff\1\116\3\uffff\1\42\1\uffff\1\105\1\43\4\uffff\1\47\1\50\5\uffff\1\56\4\uffff\1\115\1\117\1\41\5\uffff\1\121\5\uffff\1\107\1\57\1\62\1\65\5\uffff\1\70\6\uffff\1\44\7\uffff\1\63\2\uffff\1\101\7\uffff\1\66\5\uffff\1\122\4\uffff\1\67\1\51\1\52\1\53\1\54";
     static final String DFA21_specialS =
-        "\1\0\u017f\uffff}>";
+        "\1\0\u0171\uffff}>";
     static final String[] DFA21_transitionS = {
-            "\11\62\2\61\2\62\1\61\22\62\1\61\1\11\1\57\1\45\1\56\1\10\1\3\1\60\1\41\1\42\1\6\1\4\1\43\1\5\1\14\1\7\1\53\11\54\1\47\1\37\1\13\1\1\1\12\1\15\1\40\3\56\1\36\1\24\3\56\1\23\21\56\1\46\1\62\1\44\1\55\1\56\1\62\1\25\1\56\1\26\1\30\1\17\1\22\1\56\1\35\1\21\3\56\1\27\1\50\1\56\1\31\1\56\1\52\1\20\1\51\1\56\1\16\1\34\3\56\1\32\1\2\1\33\uff82\62",
+            "\11\62\2\61\2\62\1\61\22\62\1\61\1\11\1\57\1\45\1\56\1\10\1\3\1\60\1\41\1\42\1\6\1\4\1\43\1\5\1\14\1\7\1\53\11\54\1\47\1\37\1\13\1\1\1\12\1\15\1\40\3\56\1\36\1\24\3\56\1\23\21\56\1\46\1\62\1\44\1\55\1\56\1\62\1\30\1\56\1\25\1\27\1\17\1\22\1\56\1\35\1\21\3\56\1\26\1\50\1\56\1\31\1\56\1\52\1\20\1\51\1\56\1\16\1\34\3\56\1\32\1\2\1\33\uff82\62",
             "\1\63\1\64",
             "\1\66",
             "\1\70",
@@ -3689,16 +3602,16 @@
             "\1\140\7\uffff\1\142\5\uffff\1\141",
             "\1\143",
             "\1\144",
-            "\1\145\6\uffff\1\146",
-            "\1\150\20\uffff\1\147",
-            "\1\151",
-            "\1\152\3\uffff\1\154\5\uffff\1\153",
-            "\1\155",
+            "\1\146\20\uffff\1\145",
+            "\1\147",
+            "\1\152\3\uffff\1\151\5\uffff\1\150",
+            "\1\153",
+            "\1\154",
             "",
             "",
-            "\1\160\6\uffff\1\161",
+            "\1\157\6\uffff\1\160",
+            "\1\161",
             "\1\162",
-            "\1\163",
             "",
             "",
             "",
@@ -3707,19 +3620,19 @@
             "",
             "",
             "",
-            "\1\174",
-            "\1\176\15\uffff\1\u0080\1\uffff\1\177",
-            "\1\u0082\11\uffff\1\u0083\6\uffff\1\u0081",
-            "\1\u0084",
-            "\12\u0086\10\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088\13\uffff\1\u0085\6\uffff\1\u0086\2\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088\13\uffff\1\u0085",
-            "\12\u0086\10\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088\22\uffff\1\u0086\2\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088",
+            "\1\173",
+            "\1\175\15\uffff\1\177\1\uffff\1\176",
+            "\1\u0081\11\uffff\1\u0082\6\uffff\1\u0080",
+            "\1\u0083",
+            "\12\u0085\10\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087\13\uffff\1\u0084\6\uffff\1\u0085\2\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087\13\uffff\1\u0084",
+            "\12\u0085\10\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087\22\uffff\1\u0085\2\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087",
             "\1\126\34\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
             "",
             "",
             "",
             "",
-            "\1\u008b",
+            "\1\u008a",
             "",
             "",
             "",
@@ -3742,19 +3655,20 @@
             "",
             "",
             "",
-            "\1\u008d",
+            "\1\u008c",
             "",
             "",
             "",
             "",
             "",
-            "\1\u008f",
+            "\1\u008e",
             "",
             "",
             "",
             "",
-            "\1\u0091\5\uffff\1\u0092",
+            "\1\u0090\5\uffff\1\u0091",
             "",
+            "\1\u0092",
             "\1\u0093",
             "\1\u0094",
             "\1\u0095",
@@ -3762,119 +3676,118 @@
             "\1\u0097",
             "\1\u0098",
             "\1\u0099",
-            "\1\u009a",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u009b",
             "\1\u009c",
-            "\1\u009d",
-            "\1\u009e\1\uffff\1\u009f",
+            "\1\u009d\1\uffff\1\u009e",
+            "\1\u009f",
             "\1\u00a0",
             "\1\u00a1",
-            "\1\u00a2",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\30\126\1\u00a3\1\126",
-            "\1\u00a5",
-            "\1\u00a6\1\u00a7",
+            "\1\u00a2\1\u00a3",
+            "\1\u00a4",
+            "\1\126\13\uffff\12\126\7\uffff\1\u00a5\31\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00a7",
             "\1\u00a8",
-            "\1\u00aa\5\uffff\1\u00a9",
-            "\1\126\13\uffff\12\126\7\uffff\1\u00ab\31\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\30\126\1\u00a9\1\126",
+            "\1\u00ab",
+            "",
+            "",
+            "\1\u00ac",
             "\1\u00ad",
             "\1\u00ae",
-            "",
-            "",
             "\1\u00af",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\u00b0",
             "\1\u00b1",
-            "\1\u00b2",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00b3",
             "\1\u00b4",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u00b6",
+            "\1\u00b6\3\uffff\1\u00b5",
             "\1\u00b7",
-            "\1\u00b9\3\uffff\1\u00b8",
+            "",
+            "\12\u0085\10\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087\22\uffff\1\u0085\2\uffff\1\u0087\1\uffff\3\u0087\5\uffff\1\u0087",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00ba",
-            "",
-            "\12\u0086\10\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088\22\uffff\1\u0086\2\uffff\1\u0088\1\uffff\3\u0088\5\uffff\1\u0088",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00bb",
+            "\1\u00bc",
             "\1\u00bd",
             "\1\u00be",
             "\1\u00bf",
             "\1\u00c0",
             "\1\u00c1",
-            "\1\u00c2",
-            "\1\u00c3",
-            "\1\u00c4",
             "",
+            "\1\u00c2",
+            "\1\126\13\uffff\12\126\7\uffff\5\126\1\u00c3\24\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00c5",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00c6",
             "\1\u00c7",
             "\1\u00c8",
             "\1\u00c9",
             "\1\u00ca",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00cb",
             "\1\u00cc",
-            "",
             "\1\u00cd",
+            "",
             "\1\u00ce",
             "\1\u00cf",
             "\1\u00d0",
+            "",
             "\1\u00d1",
             "\1\u00d2",
             "\1\u00d3",
-            "",
             "\1\u00d4",
             "\1\u00d5",
-            "\1\u00d6",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00d7",
+            "",
             "\1\u00d8",
             "\1\u00d9",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00db",
-            "",
             "\1\u00dc",
+            "",
+            "",
             "\1\u00dd",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00df",
             "\1\u00e0",
-            "",
-            "",
             "\1\u00e1",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00e2",
             "\1\u00e3",
             "\1\u00e4",
             "\1\u00e5",
             "\1\u00e6",
+            "",
             "\1\u00e7",
             "\1\u00e8",
             "\1\u00e9",
-            "",
             "\1\u00ea",
             "\1\u00eb",
-            "\1\u00ec",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00ed",
-            "",
             "\1\u00ee",
             "\1\u00ef",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u00f0",
             "\1\u00f1",
             "\1\u00f2",
             "\1\u00f3",
@@ -3882,171 +3795,157 @@
             "\1\u00f5",
             "\1\u00f6",
             "\1\u00f7",
-            "\1\u00f8",
+            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u00f9",
             "\1\u00fa",
-            "\1\u00fb",
             "",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u00fd",
-            "\1\u00fe",
+            "\1\u00fc",
+            "\1\u00fd\16\uffff\1\u00fe",
             "",
+            "\1\u00ff",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u0100",
-            "\1\u0101\16\uffff\1\u0102",
-            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\21\126\1\u0101\10\126",
             "\1\u0103",
+            "\1\u0104",
+            "\1\u0105",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\21\126\1\u0105\10\126",
             "\1\u0107",
             "\1\u0108",
             "\1\u0109",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u010a",
             "\1\u010b",
             "\1\u010c",
-            "\1\u010d",
+            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u010e",
             "\1\u010f",
             "\1\u0110",
-            "",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u0111",
             "\1\u0112",
             "\1\u0113",
             "\1\u0114",
-            "\1\u0115",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u0116",
             "\1\u0117",
+            "",
             "\1\u0118",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "",
             "\1\u011a",
             "\1\u011b",
-            "",
             "\1\u011c",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
             "\1\u011e",
-            "\1\u011f",
-            "\1\u0120",
+            "",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u0121",
             "",
             "\1\u0122",
-            "",
+            "\1\u0123",
+            "\1\u0124",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u0125",
-            "",
-            "\1\u0126",
             "\1\u0127",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u012b",
             "",
-            "\1\u012c",
+            "\1\u0128",
+            "\1\u0129",
+            "\1\u012a",
+            "\1\u012b",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u012d",
             "\1\u012e",
+            "",
             "\1\u012f",
             "\1\u0130",
-            "\1\u0131",
-            "\1\u0132",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
-            "\1\u0133",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u0134",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u0135",
+            "",
+            "",
+            "\1\u0136",
+            "\1\u0137",
             "\1\u0138",
-            "",
-            "\1\u0139",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
             "",
             "\1\u013a",
             "\1\u013b",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "",
-            "",
-            "",
-            "\1\u013d",
+            "\1\u013d\11\uffff\1\u013c",
             "\1\u013e",
-            "\1\u013f",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\2\126\1\u0142\1\u0143\10\126\1\u0141\15\126\4\uffff\1\126\1\uffff\32\126",
+            "",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u0143",
+            "",
+            "",
+            "",
+            "\1\u0144",
             "\1\u0145",
+            "\1\u0146",
+            "\1\u0147",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "",
             "\1\u0149",
-            "",
-            "",
-            "",
             "\1\u014a",
             "\1\u014b",
             "\1\u014c",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
+            "\1\u014d",
+            "",
+            "",
+            "",
             "",
             "\1\u014e",
-            "\1\u014f",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u0150",
-            "",
             "\1\u0151",
             "\1\u0152",
+            "",
             "\1\u0153",
-            "",
             "\1\u0154",
-            "",
-            "",
-            "",
             "\1\u0155",
+            "\1\u0156",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u0157",
             "\1\u0158",
             "",
             "\1\u0159",
-            "\1\u015a",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u015b",
             "\1\u015c",
             "\1\u015d",
             "\1\u015e",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u0160",
+            "\1\u015f",
             "",
+            "\1\u0160",
             "\1\u0161",
+            "",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\u0163",
             "\1\u0164",
             "\1\u0165",
             "\1\u0166",
             "\1\u0167",
-            "\1\u0168",
+            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
             "\1\u0169",
             "\1\u016a",
-            "",
             "\1\u016b",
             "\1\u016c",
-            "\1\u016d",
-            "\1\u016e",
-            "\1\u016f",
-            "\1\u0170",
-            "\1\u0171",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\u0173",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
             "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "\1\126\13\uffff\12\126\7\uffff\32\126\4\uffff\1\126\1\uffff\32\126",
-            "",
-            "",
             "",
             "",
             "",
@@ -4084,7 +3983,7 @@
             this.transition = DFA21_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
@@ -4134,13 +4033,13 @@
 
                         else if ( (LA21_0=='E') ) {s = 20;}
 
-                        else if ( (LA21_0=='a') ) {s = 21;}
+                        else if ( (LA21_0=='c') ) {s = 21;}
 
-                        else if ( (LA21_0=='c') ) {s = 22;}
+                        else if ( (LA21_0=='m') ) {s = 22;}
 
-                        else if ( (LA21_0=='m') ) {s = 23;}
+                        else if ( (LA21_0=='d') ) {s = 23;}
 
-                        else if ( (LA21_0=='d') ) {s = 24;}
+                        else if ( (LA21_0=='a') ) {s = 24;}
 
                         else if ( (LA21_0=='p') ) {s = 25;}
 
diff --git a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLParser.java b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLParser.java
index b2ac3e5..ee8c3c7 100644
--- a/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLParser.java
+++ b/org.eclipse.osbp.xtext.signal.ide/src-gen/org/eclipse/osbp/xtext/signal/ide/contentassist/antlr/internal/InternalSignalDSLParser.java
@@ -38,7 +38,7 @@
 @SuppressWarnings("all")
 public class InternalSignalDSLParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'Import'", "'Export'", "'all'", "'createSignals'", "'modifySignals'", "'deleteSignals'", "'doAfter'", "'doAfterModify'", "'doAfterCreate'", "'doAfterDelete'", "'synch'", "'asynch'", "'package'", "'{'", "'}'", "'watcher'", "'directory'", "'for'", "'handler'", "'fileMask'", "'DataTransfer'", "';'", "'@'", "'('", "')'", "','", "']'", "'#'", "'['", "'instanceof'", "'as'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'Import'", "'Export'", "'createSignals'", "'modifySignals'", "'doAfterModify'", "'doAfterCreate'", "'synch'", "'asynch'", "'package'", "'{'", "'}'", "'watcher'", "'directory'", "'for'", "'handler'", "'forFileMask'", "'DataTransfer'", "'fileName'", "';'", "'@'", "'('", "')'", "','", "']'", "'#'", "'['", "'instanceof'", "'as'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
     };
     public static final int RULE_HEX=5;
     public static final int T__50=50;
@@ -137,13 +137,10 @@
     public static final int T__88=88;
     public static final int T__89=89;
     public static final int T__84=84;
-    public static final int T__104=104;
     public static final int T__85=85;
     public static final int T__103=103;
     public static final int T__86=86;
-    public static final int T__106=106;
     public static final int T__87=87;
-    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -860,12 +857,87 @@
     // $ANTLR end "ruleSignalDatainterchange"
 
 
+    // $ANTLR start "entryRuleTRANSLATABLEID"
+    // InternalSignalDSL.g:267:1: entryRuleTRANSLATABLEID : ruleTRANSLATABLEID EOF ;
+    public final void entryRuleTRANSLATABLEID() throws RecognitionException {
+        try {
+            // InternalSignalDSL.g:268:1: ( ruleTRANSLATABLEID EOF )
+            // InternalSignalDSL.g:269:1: ruleTRANSLATABLEID EOF
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTRANSLATABLEIDRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTRANSLATABLEIDRule()); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleTRANSLATABLEID"
+
+
+    // $ANTLR start "ruleTRANSLATABLEID"
+    // InternalSignalDSL.g:276:1: ruleTRANSLATABLEID : ( RULE_ID ) ;
+    public final void ruleTRANSLATABLEID() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:280:2: ( ( RULE_ID ) )
+            // InternalSignalDSL.g:281:2: ( RULE_ID )
+            {
+            // InternalSignalDSL.g:281:2: ( RULE_ID )
+            // InternalSignalDSL.g:282:3: RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall()); 
+            }
+            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleTRANSLATABLEID"
+
+
     // $ANTLR start "entryRuleXImportDeclaration"
-    // InternalSignalDSL.g:267:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ;
+    // InternalSignalDSL.g:292:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ;
     public final void entryRuleXImportDeclaration() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:268:1: ( ruleXImportDeclaration EOF )
-            // InternalSignalDSL.g:269:1: ruleXImportDeclaration EOF
+            // InternalSignalDSL.g:293:1: ( ruleXImportDeclaration EOF )
+            // InternalSignalDSL.g:294:1: ruleXImportDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationRule()); 
@@ -895,23 +967,23 @@
 
 
     // $ANTLR start "ruleXImportDeclaration"
-    // InternalSignalDSL.g:276:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ;
+    // InternalSignalDSL.g:301:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ;
     public final void ruleXImportDeclaration() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:280:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) )
-            // InternalSignalDSL.g:281:2: ( ( rule__XImportDeclaration__Group__0 ) )
+            // InternalSignalDSL.g:305:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) )
+            // InternalSignalDSL.g:306:2: ( ( rule__XImportDeclaration__Group__0 ) )
             {
-            // InternalSignalDSL.g:281:2: ( ( rule__XImportDeclaration__Group__0 ) )
-            // InternalSignalDSL.g:282:3: ( rule__XImportDeclaration__Group__0 )
+            // InternalSignalDSL.g:306:2: ( ( rule__XImportDeclaration__Group__0 ) )
+            // InternalSignalDSL.g:307:3: ( rule__XImportDeclaration__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:283:3: ( rule__XImportDeclaration__Group__0 )
-            // InternalSignalDSL.g:283:4: rule__XImportDeclaration__Group__0
+            // InternalSignalDSL.g:308:3: ( rule__XImportDeclaration__Group__0 )
+            // InternalSignalDSL.g:308:4: rule__XImportDeclaration__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group__0();
@@ -946,11 +1018,11 @@
 
 
     // $ANTLR start "entryRuleXAnnotation"
-    // InternalSignalDSL.g:292:1: entryRuleXAnnotation : ruleXAnnotation EOF ;
+    // InternalSignalDSL.g:317:1: entryRuleXAnnotation : ruleXAnnotation EOF ;
     public final void entryRuleXAnnotation() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:293:1: ( ruleXAnnotation EOF )
-            // InternalSignalDSL.g:294:1: ruleXAnnotation EOF
+            // InternalSignalDSL.g:318:1: ( ruleXAnnotation EOF )
+            // InternalSignalDSL.g:319:1: ruleXAnnotation EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationRule()); 
@@ -980,23 +1052,23 @@
 
 
     // $ANTLR start "ruleXAnnotation"
-    // InternalSignalDSL.g:301:1: ruleXAnnotation : ( ( rule__XAnnotation__Group__0 ) ) ;
+    // InternalSignalDSL.g:326:1: ruleXAnnotation : ( ( rule__XAnnotation__Group__0 ) ) ;
     public final void ruleXAnnotation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:305:2: ( ( ( rule__XAnnotation__Group__0 ) ) )
-            // InternalSignalDSL.g:306:2: ( ( rule__XAnnotation__Group__0 ) )
+            // InternalSignalDSL.g:330:2: ( ( ( rule__XAnnotation__Group__0 ) ) )
+            // InternalSignalDSL.g:331:2: ( ( rule__XAnnotation__Group__0 ) )
             {
-            // InternalSignalDSL.g:306:2: ( ( rule__XAnnotation__Group__0 ) )
-            // InternalSignalDSL.g:307:3: ( rule__XAnnotation__Group__0 )
+            // InternalSignalDSL.g:331:2: ( ( rule__XAnnotation__Group__0 ) )
+            // InternalSignalDSL.g:332:3: ( rule__XAnnotation__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:308:3: ( rule__XAnnotation__Group__0 )
-            // InternalSignalDSL.g:308:4: rule__XAnnotation__Group__0
+            // InternalSignalDSL.g:333:3: ( rule__XAnnotation__Group__0 )
+            // InternalSignalDSL.g:333:4: rule__XAnnotation__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group__0();
@@ -1031,11 +1103,11 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValuePair"
-    // InternalSignalDSL.g:317:1: entryRuleXAnnotationElementValuePair : ruleXAnnotationElementValuePair EOF ;
+    // InternalSignalDSL.g:342:1: entryRuleXAnnotationElementValuePair : ruleXAnnotationElementValuePair EOF ;
     public final void entryRuleXAnnotationElementValuePair() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:318:1: ( ruleXAnnotationElementValuePair EOF )
-            // InternalSignalDSL.g:319:1: ruleXAnnotationElementValuePair EOF
+            // InternalSignalDSL.g:343:1: ( ruleXAnnotationElementValuePair EOF )
+            // InternalSignalDSL.g:344:1: ruleXAnnotationElementValuePair EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairRule()); 
@@ -1065,23 +1137,23 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValuePair"
-    // InternalSignalDSL.g:326:1: ruleXAnnotationElementValuePair : ( ( rule__XAnnotationElementValuePair__Group__0 ) ) ;
+    // InternalSignalDSL.g:351:1: ruleXAnnotationElementValuePair : ( ( rule__XAnnotationElementValuePair__Group__0 ) ) ;
     public final void ruleXAnnotationElementValuePair() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:330:2: ( ( ( rule__XAnnotationElementValuePair__Group__0 ) ) )
-            // InternalSignalDSL.g:331:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
+            // InternalSignalDSL.g:355:2: ( ( ( rule__XAnnotationElementValuePair__Group__0 ) ) )
+            // InternalSignalDSL.g:356:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
             {
-            // InternalSignalDSL.g:331:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
-            // InternalSignalDSL.g:332:3: ( rule__XAnnotationElementValuePair__Group__0 )
+            // InternalSignalDSL.g:356:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
+            // InternalSignalDSL.g:357:3: ( rule__XAnnotationElementValuePair__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:333:3: ( rule__XAnnotationElementValuePair__Group__0 )
-            // InternalSignalDSL.g:333:4: rule__XAnnotationElementValuePair__Group__0
+            // InternalSignalDSL.g:358:3: ( rule__XAnnotationElementValuePair__Group__0 )
+            // InternalSignalDSL.g:358:4: rule__XAnnotationElementValuePair__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group__0();
@@ -1116,11 +1188,11 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
-    // InternalSignalDSL.g:342:1: entryRuleXAnnotationElementValueOrCommaList : ruleXAnnotationElementValueOrCommaList EOF ;
+    // InternalSignalDSL.g:367:1: entryRuleXAnnotationElementValueOrCommaList : ruleXAnnotationElementValueOrCommaList EOF ;
     public final void entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:343:1: ( ruleXAnnotationElementValueOrCommaList EOF )
-            // InternalSignalDSL.g:344:1: ruleXAnnotationElementValueOrCommaList EOF
+            // InternalSignalDSL.g:368:1: ( ruleXAnnotationElementValueOrCommaList EOF )
+            // InternalSignalDSL.g:369:1: ruleXAnnotationElementValueOrCommaList EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListRule()); 
@@ -1150,23 +1222,23 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValueOrCommaList"
-    // InternalSignalDSL.g:351:1: ruleXAnnotationElementValueOrCommaList : ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) ;
+    // InternalSignalDSL.g:376:1: ruleXAnnotationElementValueOrCommaList : ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) ;
     public final void ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:355:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) )
-            // InternalSignalDSL.g:356:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
+            // InternalSignalDSL.g:380:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) )
+            // InternalSignalDSL.g:381:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
             {
-            // InternalSignalDSL.g:356:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
-            // InternalSignalDSL.g:357:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
+            // InternalSignalDSL.g:381:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
+            // InternalSignalDSL.g:382:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:358:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
-            // InternalSignalDSL.g:358:4: rule__XAnnotationElementValueOrCommaList__Alternatives
+            // InternalSignalDSL.g:383:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
+            // InternalSignalDSL.g:383:4: rule__XAnnotationElementValueOrCommaList__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Alternatives();
@@ -1201,11 +1273,11 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValue"
-    // InternalSignalDSL.g:367:1: entryRuleXAnnotationElementValue : ruleXAnnotationElementValue EOF ;
+    // InternalSignalDSL.g:392:1: entryRuleXAnnotationElementValue : ruleXAnnotationElementValue EOF ;
     public final void entryRuleXAnnotationElementValue() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:368:1: ( ruleXAnnotationElementValue EOF )
-            // InternalSignalDSL.g:369:1: ruleXAnnotationElementValue EOF
+            // InternalSignalDSL.g:393:1: ( ruleXAnnotationElementValue EOF )
+            // InternalSignalDSL.g:394:1: ruleXAnnotationElementValue EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueRule()); 
@@ -1235,23 +1307,23 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValue"
-    // InternalSignalDSL.g:376:1: ruleXAnnotationElementValue : ( ( rule__XAnnotationElementValue__Alternatives ) ) ;
+    // InternalSignalDSL.g:401:1: ruleXAnnotationElementValue : ( ( rule__XAnnotationElementValue__Alternatives ) ) ;
     public final void ruleXAnnotationElementValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:380:2: ( ( ( rule__XAnnotationElementValue__Alternatives ) ) )
-            // InternalSignalDSL.g:381:2: ( ( rule__XAnnotationElementValue__Alternatives ) )
+            // InternalSignalDSL.g:405:2: ( ( ( rule__XAnnotationElementValue__Alternatives ) ) )
+            // InternalSignalDSL.g:406:2: ( ( rule__XAnnotationElementValue__Alternatives ) )
             {
-            // InternalSignalDSL.g:381:2: ( ( rule__XAnnotationElementValue__Alternatives ) )
-            // InternalSignalDSL.g:382:3: ( rule__XAnnotationElementValue__Alternatives )
+            // InternalSignalDSL.g:406:2: ( ( rule__XAnnotationElementValue__Alternatives ) )
+            // InternalSignalDSL.g:407:3: ( rule__XAnnotationElementValue__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:383:3: ( rule__XAnnotationElementValue__Alternatives )
-            // InternalSignalDSL.g:383:4: rule__XAnnotationElementValue__Alternatives
+            // InternalSignalDSL.g:408:3: ( rule__XAnnotationElementValue__Alternatives )
+            // InternalSignalDSL.g:408:4: rule__XAnnotationElementValue__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Alternatives();
@@ -1286,11 +1358,11 @@
 
 
     // $ANTLR start "entryRuleXAnnotationOrExpression"
-    // InternalSignalDSL.g:392:1: entryRuleXAnnotationOrExpression : ruleXAnnotationOrExpression EOF ;
+    // InternalSignalDSL.g:417:1: entryRuleXAnnotationOrExpression : ruleXAnnotationOrExpression EOF ;
     public final void entryRuleXAnnotationOrExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:393:1: ( ruleXAnnotationOrExpression EOF )
-            // InternalSignalDSL.g:394:1: ruleXAnnotationOrExpression EOF
+            // InternalSignalDSL.g:418:1: ( ruleXAnnotationOrExpression EOF )
+            // InternalSignalDSL.g:419:1: ruleXAnnotationOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationOrExpressionRule()); 
@@ -1320,23 +1392,23 @@
 
 
     // $ANTLR start "ruleXAnnotationOrExpression"
-    // InternalSignalDSL.g:401:1: ruleXAnnotationOrExpression : ( ( rule__XAnnotationOrExpression__Alternatives ) ) ;
+    // InternalSignalDSL.g:426:1: ruleXAnnotationOrExpression : ( ( rule__XAnnotationOrExpression__Alternatives ) ) ;
     public final void ruleXAnnotationOrExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:405:2: ( ( ( rule__XAnnotationOrExpression__Alternatives ) ) )
-            // InternalSignalDSL.g:406:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
+            // InternalSignalDSL.g:430:2: ( ( ( rule__XAnnotationOrExpression__Alternatives ) ) )
+            // InternalSignalDSL.g:431:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
             {
-            // InternalSignalDSL.g:406:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
-            // InternalSignalDSL.g:407:3: ( rule__XAnnotationOrExpression__Alternatives )
+            // InternalSignalDSL.g:431:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
+            // InternalSignalDSL.g:432:3: ( rule__XAnnotationOrExpression__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:408:3: ( rule__XAnnotationOrExpression__Alternatives )
-            // InternalSignalDSL.g:408:4: rule__XAnnotationOrExpression__Alternatives
+            // InternalSignalDSL.g:433:3: ( rule__XAnnotationOrExpression__Alternatives )
+            // InternalSignalDSL.g:433:4: rule__XAnnotationOrExpression__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationOrExpression__Alternatives();
@@ -1371,11 +1443,11 @@
 
 
     // $ANTLR start "entryRuleXExpression"
-    // InternalSignalDSL.g:417:1: entryRuleXExpression : ruleXExpression EOF ;
+    // InternalSignalDSL.g:442:1: entryRuleXExpression : ruleXExpression EOF ;
     public final void entryRuleXExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:418:1: ( ruleXExpression EOF )
-            // InternalSignalDSL.g:419:1: ruleXExpression EOF
+            // InternalSignalDSL.g:443:1: ( ruleXExpression EOF )
+            // InternalSignalDSL.g:444:1: ruleXExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionRule()); 
@@ -1405,17 +1477,17 @@
 
 
     // $ANTLR start "ruleXExpression"
-    // InternalSignalDSL.g:426:1: ruleXExpression : ( ruleXAssignment ) ;
+    // InternalSignalDSL.g:451:1: ruleXExpression : ( ruleXAssignment ) ;
     public final void ruleXExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:430:2: ( ( ruleXAssignment ) )
-            // InternalSignalDSL.g:431:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:455:2: ( ( ruleXAssignment ) )
+            // InternalSignalDSL.g:456:2: ( ruleXAssignment )
             {
-            // InternalSignalDSL.g:431:2: ( ruleXAssignment )
-            // InternalSignalDSL.g:432:3: ruleXAssignment
+            // InternalSignalDSL.g:456:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:457:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); 
@@ -1450,11 +1522,11 @@
 
 
     // $ANTLR start "entryRuleXAssignment"
-    // InternalSignalDSL.g:442:1: entryRuleXAssignment : ruleXAssignment EOF ;
+    // InternalSignalDSL.g:467:1: entryRuleXAssignment : ruleXAssignment EOF ;
     public final void entryRuleXAssignment() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:443:1: ( ruleXAssignment EOF )
-            // InternalSignalDSL.g:444:1: ruleXAssignment EOF
+            // InternalSignalDSL.g:468:1: ( ruleXAssignment EOF )
+            // InternalSignalDSL.g:469:1: ruleXAssignment EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentRule()); 
@@ -1484,23 +1556,23 @@
 
 
     // $ANTLR start "ruleXAssignment"
-    // InternalSignalDSL.g:451:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ;
+    // InternalSignalDSL.g:476:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ;
     public final void ruleXAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:455:2: ( ( ( rule__XAssignment__Alternatives ) ) )
-            // InternalSignalDSL.g:456:2: ( ( rule__XAssignment__Alternatives ) )
+            // InternalSignalDSL.g:480:2: ( ( ( rule__XAssignment__Alternatives ) ) )
+            // InternalSignalDSL.g:481:2: ( ( rule__XAssignment__Alternatives ) )
             {
-            // InternalSignalDSL.g:456:2: ( ( rule__XAssignment__Alternatives ) )
-            // InternalSignalDSL.g:457:3: ( rule__XAssignment__Alternatives )
+            // InternalSignalDSL.g:481:2: ( ( rule__XAssignment__Alternatives ) )
+            // InternalSignalDSL.g:482:3: ( rule__XAssignment__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:458:3: ( rule__XAssignment__Alternatives )
-            // InternalSignalDSL.g:458:4: rule__XAssignment__Alternatives
+            // InternalSignalDSL.g:483:3: ( rule__XAssignment__Alternatives )
+            // InternalSignalDSL.g:483:4: rule__XAssignment__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Alternatives();
@@ -1535,11 +1607,11 @@
 
 
     // $ANTLR start "entryRuleOpSingleAssign"
-    // InternalSignalDSL.g:467:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ;
+    // InternalSignalDSL.g:492:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ;
     public final void entryRuleOpSingleAssign() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:468:1: ( ruleOpSingleAssign EOF )
-            // InternalSignalDSL.g:469:1: ruleOpSingleAssign EOF
+            // InternalSignalDSL.g:493:1: ( ruleOpSingleAssign EOF )
+            // InternalSignalDSL.g:494:1: ruleOpSingleAssign EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpSingleAssignRule()); 
@@ -1569,17 +1641,17 @@
 
 
     // $ANTLR start "ruleOpSingleAssign"
-    // InternalSignalDSL.g:476:1: ruleOpSingleAssign : ( '=' ) ;
+    // InternalSignalDSL.g:501:1: ruleOpSingleAssign : ( '=' ) ;
     public final void ruleOpSingleAssign() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:480:2: ( ( '=' ) )
-            // InternalSignalDSL.g:481:2: ( '=' )
+            // InternalSignalDSL.g:505:2: ( ( '=' ) )
+            // InternalSignalDSL.g:506:2: ( '=' )
             {
-            // InternalSignalDSL.g:481:2: ( '=' )
-            // InternalSignalDSL.g:482:3: '='
+            // InternalSignalDSL.g:506:2: ( '=' )
+            // InternalSignalDSL.g:507:3: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); 
@@ -1610,11 +1682,11 @@
 
 
     // $ANTLR start "entryRuleOpMultiAssign"
-    // InternalSignalDSL.g:492:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ;
+    // InternalSignalDSL.g:517:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ;
     public final void entryRuleOpMultiAssign() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:493:1: ( ruleOpMultiAssign EOF )
-            // InternalSignalDSL.g:494:1: ruleOpMultiAssign EOF
+            // InternalSignalDSL.g:518:1: ( ruleOpMultiAssign EOF )
+            // InternalSignalDSL.g:519:1: ruleOpMultiAssign EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignRule()); 
@@ -1644,23 +1716,23 @@
 
 
     // $ANTLR start "ruleOpMultiAssign"
-    // InternalSignalDSL.g:501:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ;
+    // InternalSignalDSL.g:526:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ;
     public final void ruleOpMultiAssign() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:505:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) )
-            // InternalSignalDSL.g:506:2: ( ( rule__OpMultiAssign__Alternatives ) )
+            // InternalSignalDSL.g:530:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) )
+            // InternalSignalDSL.g:531:2: ( ( rule__OpMultiAssign__Alternatives ) )
             {
-            // InternalSignalDSL.g:506:2: ( ( rule__OpMultiAssign__Alternatives ) )
-            // InternalSignalDSL.g:507:3: ( rule__OpMultiAssign__Alternatives )
+            // InternalSignalDSL.g:531:2: ( ( rule__OpMultiAssign__Alternatives ) )
+            // InternalSignalDSL.g:532:3: ( rule__OpMultiAssign__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:508:3: ( rule__OpMultiAssign__Alternatives )
-            // InternalSignalDSL.g:508:4: rule__OpMultiAssign__Alternatives
+            // InternalSignalDSL.g:533:3: ( rule__OpMultiAssign__Alternatives )
+            // InternalSignalDSL.g:533:4: rule__OpMultiAssign__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Alternatives();
@@ -1695,11 +1767,11 @@
 
 
     // $ANTLR start "entryRuleXOrExpression"
-    // InternalSignalDSL.g:517:1: entryRuleXOrExpression : ruleXOrExpression EOF ;
+    // InternalSignalDSL.g:542:1: entryRuleXOrExpression : ruleXOrExpression EOF ;
     public final void entryRuleXOrExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:518:1: ( ruleXOrExpression EOF )
-            // InternalSignalDSL.g:519:1: ruleXOrExpression EOF
+            // InternalSignalDSL.g:543:1: ( ruleXOrExpression EOF )
+            // InternalSignalDSL.g:544:1: ruleXOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionRule()); 
@@ -1729,23 +1801,23 @@
 
 
     // $ANTLR start "ruleXOrExpression"
-    // InternalSignalDSL.g:526:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:551:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ;
     public final void ruleXOrExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:530:2: ( ( ( rule__XOrExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:531:2: ( ( rule__XOrExpression__Group__0 ) )
+            // InternalSignalDSL.g:555:2: ( ( ( rule__XOrExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:556:2: ( ( rule__XOrExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:531:2: ( ( rule__XOrExpression__Group__0 ) )
-            // InternalSignalDSL.g:532:3: ( rule__XOrExpression__Group__0 )
+            // InternalSignalDSL.g:556:2: ( ( rule__XOrExpression__Group__0 ) )
+            // InternalSignalDSL.g:557:3: ( rule__XOrExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:533:3: ( rule__XOrExpression__Group__0 )
-            // InternalSignalDSL.g:533:4: rule__XOrExpression__Group__0
+            // InternalSignalDSL.g:558:3: ( rule__XOrExpression__Group__0 )
+            // InternalSignalDSL.g:558:4: rule__XOrExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group__0();
@@ -1780,11 +1852,11 @@
 
 
     // $ANTLR start "entryRuleOpOr"
-    // InternalSignalDSL.g:542:1: entryRuleOpOr : ruleOpOr EOF ;
+    // InternalSignalDSL.g:567:1: entryRuleOpOr : ruleOpOr EOF ;
     public final void entryRuleOpOr() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:543:1: ( ruleOpOr EOF )
-            // InternalSignalDSL.g:544:1: ruleOpOr EOF
+            // InternalSignalDSL.g:568:1: ( ruleOpOr EOF )
+            // InternalSignalDSL.g:569:1: ruleOpOr EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOrRule()); 
@@ -1814,17 +1886,17 @@
 
 
     // $ANTLR start "ruleOpOr"
-    // InternalSignalDSL.g:551:1: ruleOpOr : ( '||' ) ;
+    // InternalSignalDSL.g:576:1: ruleOpOr : ( '||' ) ;
     public final void ruleOpOr() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:555:2: ( ( '||' ) )
-            // InternalSignalDSL.g:556:2: ( '||' )
+            // InternalSignalDSL.g:580:2: ( ( '||' ) )
+            // InternalSignalDSL.g:581:2: ( '||' )
             {
-            // InternalSignalDSL.g:556:2: ( '||' )
-            // InternalSignalDSL.g:557:3: '||'
+            // InternalSignalDSL.g:581:2: ( '||' )
+            // InternalSignalDSL.g:582:3: '||'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); 
@@ -1855,11 +1927,11 @@
 
 
     // $ANTLR start "entryRuleXAndExpression"
-    // InternalSignalDSL.g:567:1: entryRuleXAndExpression : ruleXAndExpression EOF ;
+    // InternalSignalDSL.g:592:1: entryRuleXAndExpression : ruleXAndExpression EOF ;
     public final void entryRuleXAndExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:568:1: ( ruleXAndExpression EOF )
-            // InternalSignalDSL.g:569:1: ruleXAndExpression EOF
+            // InternalSignalDSL.g:593:1: ( ruleXAndExpression EOF )
+            // InternalSignalDSL.g:594:1: ruleXAndExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionRule()); 
@@ -1889,23 +1961,23 @@
 
 
     // $ANTLR start "ruleXAndExpression"
-    // InternalSignalDSL.g:576:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:601:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ;
     public final void ruleXAndExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:580:2: ( ( ( rule__XAndExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:581:2: ( ( rule__XAndExpression__Group__0 ) )
+            // InternalSignalDSL.g:605:2: ( ( ( rule__XAndExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:606:2: ( ( rule__XAndExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:581:2: ( ( rule__XAndExpression__Group__0 ) )
-            // InternalSignalDSL.g:582:3: ( rule__XAndExpression__Group__0 )
+            // InternalSignalDSL.g:606:2: ( ( rule__XAndExpression__Group__0 ) )
+            // InternalSignalDSL.g:607:3: ( rule__XAndExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:583:3: ( rule__XAndExpression__Group__0 )
-            // InternalSignalDSL.g:583:4: rule__XAndExpression__Group__0
+            // InternalSignalDSL.g:608:3: ( rule__XAndExpression__Group__0 )
+            // InternalSignalDSL.g:608:4: rule__XAndExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group__0();
@@ -1940,11 +2012,11 @@
 
 
     // $ANTLR start "entryRuleOpAnd"
-    // InternalSignalDSL.g:592:1: entryRuleOpAnd : ruleOpAnd EOF ;
+    // InternalSignalDSL.g:617:1: entryRuleOpAnd : ruleOpAnd EOF ;
     public final void entryRuleOpAnd() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:593:1: ( ruleOpAnd EOF )
-            // InternalSignalDSL.g:594:1: ruleOpAnd EOF
+            // InternalSignalDSL.g:618:1: ( ruleOpAnd EOF )
+            // InternalSignalDSL.g:619:1: ruleOpAnd EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpAndRule()); 
@@ -1974,17 +2046,17 @@
 
 
     // $ANTLR start "ruleOpAnd"
-    // InternalSignalDSL.g:601:1: ruleOpAnd : ( '&&' ) ;
+    // InternalSignalDSL.g:626:1: ruleOpAnd : ( '&&' ) ;
     public final void ruleOpAnd() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:605:2: ( ( '&&' ) )
-            // InternalSignalDSL.g:606:2: ( '&&' )
+            // InternalSignalDSL.g:630:2: ( ( '&&' ) )
+            // InternalSignalDSL.g:631:2: ( '&&' )
             {
-            // InternalSignalDSL.g:606:2: ( '&&' )
-            // InternalSignalDSL.g:607:3: '&&'
+            // InternalSignalDSL.g:631:2: ( '&&' )
+            // InternalSignalDSL.g:632:3: '&&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); 
@@ -2015,11 +2087,11 @@
 
 
     // $ANTLR start "entryRuleXEqualityExpression"
-    // InternalSignalDSL.g:617:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ;
+    // InternalSignalDSL.g:642:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ;
     public final void entryRuleXEqualityExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:618:1: ( ruleXEqualityExpression EOF )
-            // InternalSignalDSL.g:619:1: ruleXEqualityExpression EOF
+            // InternalSignalDSL.g:643:1: ( ruleXEqualityExpression EOF )
+            // InternalSignalDSL.g:644:1: ruleXEqualityExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionRule()); 
@@ -2049,23 +2121,23 @@
 
 
     // $ANTLR start "ruleXEqualityExpression"
-    // InternalSignalDSL.g:626:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:651:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ;
     public final void ruleXEqualityExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:630:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:631:2: ( ( rule__XEqualityExpression__Group__0 ) )
+            // InternalSignalDSL.g:655:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:656:2: ( ( rule__XEqualityExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:631:2: ( ( rule__XEqualityExpression__Group__0 ) )
-            // InternalSignalDSL.g:632:3: ( rule__XEqualityExpression__Group__0 )
+            // InternalSignalDSL.g:656:2: ( ( rule__XEqualityExpression__Group__0 ) )
+            // InternalSignalDSL.g:657:3: ( rule__XEqualityExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:633:3: ( rule__XEqualityExpression__Group__0 )
-            // InternalSignalDSL.g:633:4: rule__XEqualityExpression__Group__0
+            // InternalSignalDSL.g:658:3: ( rule__XEqualityExpression__Group__0 )
+            // InternalSignalDSL.g:658:4: rule__XEqualityExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group__0();
@@ -2100,11 +2172,11 @@
 
 
     // $ANTLR start "entryRuleOpEquality"
-    // InternalSignalDSL.g:642:1: entryRuleOpEquality : ruleOpEquality EOF ;
+    // InternalSignalDSL.g:667:1: entryRuleOpEquality : ruleOpEquality EOF ;
     public final void entryRuleOpEquality() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:643:1: ( ruleOpEquality EOF )
-            // InternalSignalDSL.g:644:1: ruleOpEquality EOF
+            // InternalSignalDSL.g:668:1: ( ruleOpEquality EOF )
+            // InternalSignalDSL.g:669:1: ruleOpEquality EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpEqualityRule()); 
@@ -2134,23 +2206,23 @@
 
 
     // $ANTLR start "ruleOpEquality"
-    // InternalSignalDSL.g:651:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ;
+    // InternalSignalDSL.g:676:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ;
     public final void ruleOpEquality() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:655:2: ( ( ( rule__OpEquality__Alternatives ) ) )
-            // InternalSignalDSL.g:656:2: ( ( rule__OpEquality__Alternatives ) )
+            // InternalSignalDSL.g:680:2: ( ( ( rule__OpEquality__Alternatives ) ) )
+            // InternalSignalDSL.g:681:2: ( ( rule__OpEquality__Alternatives ) )
             {
-            // InternalSignalDSL.g:656:2: ( ( rule__OpEquality__Alternatives ) )
-            // InternalSignalDSL.g:657:3: ( rule__OpEquality__Alternatives )
+            // InternalSignalDSL.g:681:2: ( ( rule__OpEquality__Alternatives ) )
+            // InternalSignalDSL.g:682:3: ( rule__OpEquality__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpEqualityAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:658:3: ( rule__OpEquality__Alternatives )
-            // InternalSignalDSL.g:658:4: rule__OpEquality__Alternatives
+            // InternalSignalDSL.g:683:3: ( rule__OpEquality__Alternatives )
+            // InternalSignalDSL.g:683:4: rule__OpEquality__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpEquality__Alternatives();
@@ -2185,11 +2257,11 @@
 
 
     // $ANTLR start "entryRuleXRelationalExpression"
-    // InternalSignalDSL.g:667:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ;
+    // InternalSignalDSL.g:692:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ;
     public final void entryRuleXRelationalExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:668:1: ( ruleXRelationalExpression EOF )
-            // InternalSignalDSL.g:669:1: ruleXRelationalExpression EOF
+            // InternalSignalDSL.g:693:1: ( ruleXRelationalExpression EOF )
+            // InternalSignalDSL.g:694:1: ruleXRelationalExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionRule()); 
@@ -2219,23 +2291,23 @@
 
 
     // $ANTLR start "ruleXRelationalExpression"
-    // InternalSignalDSL.g:676:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:701:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ;
     public final void ruleXRelationalExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:680:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:681:2: ( ( rule__XRelationalExpression__Group__0 ) )
+            // InternalSignalDSL.g:705:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:706:2: ( ( rule__XRelationalExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:681:2: ( ( rule__XRelationalExpression__Group__0 ) )
-            // InternalSignalDSL.g:682:3: ( rule__XRelationalExpression__Group__0 )
+            // InternalSignalDSL.g:706:2: ( ( rule__XRelationalExpression__Group__0 ) )
+            // InternalSignalDSL.g:707:3: ( rule__XRelationalExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:683:3: ( rule__XRelationalExpression__Group__0 )
-            // InternalSignalDSL.g:683:4: rule__XRelationalExpression__Group__0
+            // InternalSignalDSL.g:708:3: ( rule__XRelationalExpression__Group__0 )
+            // InternalSignalDSL.g:708:4: rule__XRelationalExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group__0();
@@ -2270,11 +2342,11 @@
 
 
     // $ANTLR start "entryRuleOpCompare"
-    // InternalSignalDSL.g:692:1: entryRuleOpCompare : ruleOpCompare EOF ;
+    // InternalSignalDSL.g:717:1: entryRuleOpCompare : ruleOpCompare EOF ;
     public final void entryRuleOpCompare() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:693:1: ( ruleOpCompare EOF )
-            // InternalSignalDSL.g:694:1: ruleOpCompare EOF
+            // InternalSignalDSL.g:718:1: ( ruleOpCompare EOF )
+            // InternalSignalDSL.g:719:1: ruleOpCompare EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareRule()); 
@@ -2304,23 +2376,23 @@
 
 
     // $ANTLR start "ruleOpCompare"
-    // InternalSignalDSL.g:701:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ;
+    // InternalSignalDSL.g:726:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ;
     public final void ruleOpCompare() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:705:2: ( ( ( rule__OpCompare__Alternatives ) ) )
-            // InternalSignalDSL.g:706:2: ( ( rule__OpCompare__Alternatives ) )
+            // InternalSignalDSL.g:730:2: ( ( ( rule__OpCompare__Alternatives ) ) )
+            // InternalSignalDSL.g:731:2: ( ( rule__OpCompare__Alternatives ) )
             {
-            // InternalSignalDSL.g:706:2: ( ( rule__OpCompare__Alternatives ) )
-            // InternalSignalDSL.g:707:3: ( rule__OpCompare__Alternatives )
+            // InternalSignalDSL.g:731:2: ( ( rule__OpCompare__Alternatives ) )
+            // InternalSignalDSL.g:732:3: ( rule__OpCompare__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:708:3: ( rule__OpCompare__Alternatives )
-            // InternalSignalDSL.g:708:4: rule__OpCompare__Alternatives
+            // InternalSignalDSL.g:733:3: ( rule__OpCompare__Alternatives )
+            // InternalSignalDSL.g:733:4: rule__OpCompare__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpCompare__Alternatives();
@@ -2355,11 +2427,11 @@
 
 
     // $ANTLR start "entryRuleXOtherOperatorExpression"
-    // InternalSignalDSL.g:717:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ;
+    // InternalSignalDSL.g:742:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ;
     public final void entryRuleXOtherOperatorExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:718:1: ( ruleXOtherOperatorExpression EOF )
-            // InternalSignalDSL.g:719:1: ruleXOtherOperatorExpression EOF
+            // InternalSignalDSL.g:743:1: ( ruleXOtherOperatorExpression EOF )
+            // InternalSignalDSL.g:744:1: ruleXOtherOperatorExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionRule()); 
@@ -2389,23 +2461,23 @@
 
 
     // $ANTLR start "ruleXOtherOperatorExpression"
-    // InternalSignalDSL.g:726:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:751:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ;
     public final void ruleXOtherOperatorExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:730:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:731:2: ( ( rule__XOtherOperatorExpression__Group__0 ) )
+            // InternalSignalDSL.g:755:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:756:2: ( ( rule__XOtherOperatorExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:731:2: ( ( rule__XOtherOperatorExpression__Group__0 ) )
-            // InternalSignalDSL.g:732:3: ( rule__XOtherOperatorExpression__Group__0 )
+            // InternalSignalDSL.g:756:2: ( ( rule__XOtherOperatorExpression__Group__0 ) )
+            // InternalSignalDSL.g:757:3: ( rule__XOtherOperatorExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:733:3: ( rule__XOtherOperatorExpression__Group__0 )
-            // InternalSignalDSL.g:733:4: rule__XOtherOperatorExpression__Group__0
+            // InternalSignalDSL.g:758:3: ( rule__XOtherOperatorExpression__Group__0 )
+            // InternalSignalDSL.g:758:4: rule__XOtherOperatorExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group__0();
@@ -2440,11 +2512,11 @@
 
 
     // $ANTLR start "entryRuleOpOther"
-    // InternalSignalDSL.g:742:1: entryRuleOpOther : ruleOpOther EOF ;
+    // InternalSignalDSL.g:767:1: entryRuleOpOther : ruleOpOther EOF ;
     public final void entryRuleOpOther() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:743:1: ( ruleOpOther EOF )
-            // InternalSignalDSL.g:744:1: ruleOpOther EOF
+            // InternalSignalDSL.g:768:1: ( ruleOpOther EOF )
+            // InternalSignalDSL.g:769:1: ruleOpOther EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherRule()); 
@@ -2474,23 +2546,23 @@
 
 
     // $ANTLR start "ruleOpOther"
-    // InternalSignalDSL.g:751:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ;
+    // InternalSignalDSL.g:776:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ;
     public final void ruleOpOther() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:755:2: ( ( ( rule__OpOther__Alternatives ) ) )
-            // InternalSignalDSL.g:756:2: ( ( rule__OpOther__Alternatives ) )
+            // InternalSignalDSL.g:780:2: ( ( ( rule__OpOther__Alternatives ) ) )
+            // InternalSignalDSL.g:781:2: ( ( rule__OpOther__Alternatives ) )
             {
-            // InternalSignalDSL.g:756:2: ( ( rule__OpOther__Alternatives ) )
-            // InternalSignalDSL.g:757:3: ( rule__OpOther__Alternatives )
+            // InternalSignalDSL.g:781:2: ( ( rule__OpOther__Alternatives ) )
+            // InternalSignalDSL.g:782:3: ( rule__OpOther__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:758:3: ( rule__OpOther__Alternatives )
-            // InternalSignalDSL.g:758:4: rule__OpOther__Alternatives
+            // InternalSignalDSL.g:783:3: ( rule__OpOther__Alternatives )
+            // InternalSignalDSL.g:783:4: rule__OpOther__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Alternatives();
@@ -2525,11 +2597,11 @@
 
 
     // $ANTLR start "entryRuleXAdditiveExpression"
-    // InternalSignalDSL.g:767:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ;
+    // InternalSignalDSL.g:792:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ;
     public final void entryRuleXAdditiveExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:768:1: ( ruleXAdditiveExpression EOF )
-            // InternalSignalDSL.g:769:1: ruleXAdditiveExpression EOF
+            // InternalSignalDSL.g:793:1: ( ruleXAdditiveExpression EOF )
+            // InternalSignalDSL.g:794:1: ruleXAdditiveExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionRule()); 
@@ -2559,23 +2631,23 @@
 
 
     // $ANTLR start "ruleXAdditiveExpression"
-    // InternalSignalDSL.g:776:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:801:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ;
     public final void ruleXAdditiveExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:780:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:781:2: ( ( rule__XAdditiveExpression__Group__0 ) )
+            // InternalSignalDSL.g:805:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:806:2: ( ( rule__XAdditiveExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:781:2: ( ( rule__XAdditiveExpression__Group__0 ) )
-            // InternalSignalDSL.g:782:3: ( rule__XAdditiveExpression__Group__0 )
+            // InternalSignalDSL.g:806:2: ( ( rule__XAdditiveExpression__Group__0 ) )
+            // InternalSignalDSL.g:807:3: ( rule__XAdditiveExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:783:3: ( rule__XAdditiveExpression__Group__0 )
-            // InternalSignalDSL.g:783:4: rule__XAdditiveExpression__Group__0
+            // InternalSignalDSL.g:808:3: ( rule__XAdditiveExpression__Group__0 )
+            // InternalSignalDSL.g:808:4: rule__XAdditiveExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group__0();
@@ -2610,11 +2682,11 @@
 
 
     // $ANTLR start "entryRuleOpAdd"
-    // InternalSignalDSL.g:792:1: entryRuleOpAdd : ruleOpAdd EOF ;
+    // InternalSignalDSL.g:817:1: entryRuleOpAdd : ruleOpAdd EOF ;
     public final void entryRuleOpAdd() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:793:1: ( ruleOpAdd EOF )
-            // InternalSignalDSL.g:794:1: ruleOpAdd EOF
+            // InternalSignalDSL.g:818:1: ( ruleOpAdd EOF )
+            // InternalSignalDSL.g:819:1: ruleOpAdd EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpAddRule()); 
@@ -2644,23 +2716,23 @@
 
 
     // $ANTLR start "ruleOpAdd"
-    // InternalSignalDSL.g:801:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ;
+    // InternalSignalDSL.g:826:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ;
     public final void ruleOpAdd() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:805:2: ( ( ( rule__OpAdd__Alternatives ) ) )
-            // InternalSignalDSL.g:806:2: ( ( rule__OpAdd__Alternatives ) )
+            // InternalSignalDSL.g:830:2: ( ( ( rule__OpAdd__Alternatives ) ) )
+            // InternalSignalDSL.g:831:2: ( ( rule__OpAdd__Alternatives ) )
             {
-            // InternalSignalDSL.g:806:2: ( ( rule__OpAdd__Alternatives ) )
-            // InternalSignalDSL.g:807:3: ( rule__OpAdd__Alternatives )
+            // InternalSignalDSL.g:831:2: ( ( rule__OpAdd__Alternatives ) )
+            // InternalSignalDSL.g:832:3: ( rule__OpAdd__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpAddAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:808:3: ( rule__OpAdd__Alternatives )
-            // InternalSignalDSL.g:808:4: rule__OpAdd__Alternatives
+            // InternalSignalDSL.g:833:3: ( rule__OpAdd__Alternatives )
+            // InternalSignalDSL.g:833:4: rule__OpAdd__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpAdd__Alternatives();
@@ -2695,11 +2767,11 @@
 
 
     // $ANTLR start "entryRuleXMultiplicativeExpression"
-    // InternalSignalDSL.g:817:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ;
+    // InternalSignalDSL.g:842:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ;
     public final void entryRuleXMultiplicativeExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:818:1: ( ruleXMultiplicativeExpression EOF )
-            // InternalSignalDSL.g:819:1: ruleXMultiplicativeExpression EOF
+            // InternalSignalDSL.g:843:1: ( ruleXMultiplicativeExpression EOF )
+            // InternalSignalDSL.g:844:1: ruleXMultiplicativeExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionRule()); 
@@ -2729,23 +2801,23 @@
 
 
     // $ANTLR start "ruleXMultiplicativeExpression"
-    // InternalSignalDSL.g:826:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:851:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ;
     public final void ruleXMultiplicativeExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:830:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:831:2: ( ( rule__XMultiplicativeExpression__Group__0 ) )
+            // InternalSignalDSL.g:855:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:856:2: ( ( rule__XMultiplicativeExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:831:2: ( ( rule__XMultiplicativeExpression__Group__0 ) )
-            // InternalSignalDSL.g:832:3: ( rule__XMultiplicativeExpression__Group__0 )
+            // InternalSignalDSL.g:856:2: ( ( rule__XMultiplicativeExpression__Group__0 ) )
+            // InternalSignalDSL.g:857:3: ( rule__XMultiplicativeExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:833:3: ( rule__XMultiplicativeExpression__Group__0 )
-            // InternalSignalDSL.g:833:4: rule__XMultiplicativeExpression__Group__0
+            // InternalSignalDSL.g:858:3: ( rule__XMultiplicativeExpression__Group__0 )
+            // InternalSignalDSL.g:858:4: rule__XMultiplicativeExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group__0();
@@ -2780,11 +2852,11 @@
 
 
     // $ANTLR start "entryRuleOpMulti"
-    // InternalSignalDSL.g:842:1: entryRuleOpMulti : ruleOpMulti EOF ;
+    // InternalSignalDSL.g:867:1: entryRuleOpMulti : ruleOpMulti EOF ;
     public final void entryRuleOpMulti() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:843:1: ( ruleOpMulti EOF )
-            // InternalSignalDSL.g:844:1: ruleOpMulti EOF
+            // InternalSignalDSL.g:868:1: ( ruleOpMulti EOF )
+            // InternalSignalDSL.g:869:1: ruleOpMulti EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiRule()); 
@@ -2814,23 +2886,23 @@
 
 
     // $ANTLR start "ruleOpMulti"
-    // InternalSignalDSL.g:851:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ;
+    // InternalSignalDSL.g:876:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ;
     public final void ruleOpMulti() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:855:2: ( ( ( rule__OpMulti__Alternatives ) ) )
-            // InternalSignalDSL.g:856:2: ( ( rule__OpMulti__Alternatives ) )
+            // InternalSignalDSL.g:880:2: ( ( ( rule__OpMulti__Alternatives ) ) )
+            // InternalSignalDSL.g:881:2: ( ( rule__OpMulti__Alternatives ) )
             {
-            // InternalSignalDSL.g:856:2: ( ( rule__OpMulti__Alternatives ) )
-            // InternalSignalDSL.g:857:3: ( rule__OpMulti__Alternatives )
+            // InternalSignalDSL.g:881:2: ( ( rule__OpMulti__Alternatives ) )
+            // InternalSignalDSL.g:882:3: ( rule__OpMulti__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:858:3: ( rule__OpMulti__Alternatives )
-            // InternalSignalDSL.g:858:4: rule__OpMulti__Alternatives
+            // InternalSignalDSL.g:883:3: ( rule__OpMulti__Alternatives )
+            // InternalSignalDSL.g:883:4: rule__OpMulti__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpMulti__Alternatives();
@@ -2865,11 +2937,11 @@
 
 
     // $ANTLR start "entryRuleXUnaryOperation"
-    // InternalSignalDSL.g:867:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ;
+    // InternalSignalDSL.g:892:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ;
     public final void entryRuleXUnaryOperation() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:868:1: ( ruleXUnaryOperation EOF )
-            // InternalSignalDSL.g:869:1: ruleXUnaryOperation EOF
+            // InternalSignalDSL.g:893:1: ( ruleXUnaryOperation EOF )
+            // InternalSignalDSL.g:894:1: ruleXUnaryOperation EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationRule()); 
@@ -2899,23 +2971,23 @@
 
 
     // $ANTLR start "ruleXUnaryOperation"
-    // InternalSignalDSL.g:876:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ;
+    // InternalSignalDSL.g:901:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ;
     public final void ruleXUnaryOperation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:880:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) )
-            // InternalSignalDSL.g:881:2: ( ( rule__XUnaryOperation__Alternatives ) )
+            // InternalSignalDSL.g:905:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) )
+            // InternalSignalDSL.g:906:2: ( ( rule__XUnaryOperation__Alternatives ) )
             {
-            // InternalSignalDSL.g:881:2: ( ( rule__XUnaryOperation__Alternatives ) )
-            // InternalSignalDSL.g:882:3: ( rule__XUnaryOperation__Alternatives )
+            // InternalSignalDSL.g:906:2: ( ( rule__XUnaryOperation__Alternatives ) )
+            // InternalSignalDSL.g:907:3: ( rule__XUnaryOperation__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:883:3: ( rule__XUnaryOperation__Alternatives )
-            // InternalSignalDSL.g:883:4: rule__XUnaryOperation__Alternatives
+            // InternalSignalDSL.g:908:3: ( rule__XUnaryOperation__Alternatives )
+            // InternalSignalDSL.g:908:4: rule__XUnaryOperation__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__Alternatives();
@@ -2950,11 +3022,11 @@
 
 
     // $ANTLR start "entryRuleOpUnary"
-    // InternalSignalDSL.g:892:1: entryRuleOpUnary : ruleOpUnary EOF ;
+    // InternalSignalDSL.g:917:1: entryRuleOpUnary : ruleOpUnary EOF ;
     public final void entryRuleOpUnary() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:893:1: ( ruleOpUnary EOF )
-            // InternalSignalDSL.g:894:1: ruleOpUnary EOF
+            // InternalSignalDSL.g:918:1: ( ruleOpUnary EOF )
+            // InternalSignalDSL.g:919:1: ruleOpUnary EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpUnaryRule()); 
@@ -2984,23 +3056,23 @@
 
 
     // $ANTLR start "ruleOpUnary"
-    // InternalSignalDSL.g:901:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ;
+    // InternalSignalDSL.g:926:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ;
     public final void ruleOpUnary() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:905:2: ( ( ( rule__OpUnary__Alternatives ) ) )
-            // InternalSignalDSL.g:906:2: ( ( rule__OpUnary__Alternatives ) )
+            // InternalSignalDSL.g:930:2: ( ( ( rule__OpUnary__Alternatives ) ) )
+            // InternalSignalDSL.g:931:2: ( ( rule__OpUnary__Alternatives ) )
             {
-            // InternalSignalDSL.g:906:2: ( ( rule__OpUnary__Alternatives ) )
-            // InternalSignalDSL.g:907:3: ( rule__OpUnary__Alternatives )
+            // InternalSignalDSL.g:931:2: ( ( rule__OpUnary__Alternatives ) )
+            // InternalSignalDSL.g:932:3: ( rule__OpUnary__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpUnaryAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:908:3: ( rule__OpUnary__Alternatives )
-            // InternalSignalDSL.g:908:4: rule__OpUnary__Alternatives
+            // InternalSignalDSL.g:933:3: ( rule__OpUnary__Alternatives )
+            // InternalSignalDSL.g:933:4: rule__OpUnary__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpUnary__Alternatives();
@@ -3035,11 +3107,11 @@
 
 
     // $ANTLR start "entryRuleXCastedExpression"
-    // InternalSignalDSL.g:917:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ;
+    // InternalSignalDSL.g:942:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ;
     public final void entryRuleXCastedExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:918:1: ( ruleXCastedExpression EOF )
-            // InternalSignalDSL.g:919:1: ruleXCastedExpression EOF
+            // InternalSignalDSL.g:943:1: ( ruleXCastedExpression EOF )
+            // InternalSignalDSL.g:944:1: ruleXCastedExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionRule()); 
@@ -3069,23 +3141,23 @@
 
 
     // $ANTLR start "ruleXCastedExpression"
-    // InternalSignalDSL.g:926:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:951:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ;
     public final void ruleXCastedExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:930:2: ( ( ( rule__XCastedExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:931:2: ( ( rule__XCastedExpression__Group__0 ) )
+            // InternalSignalDSL.g:955:2: ( ( ( rule__XCastedExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:956:2: ( ( rule__XCastedExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:931:2: ( ( rule__XCastedExpression__Group__0 ) )
-            // InternalSignalDSL.g:932:3: ( rule__XCastedExpression__Group__0 )
+            // InternalSignalDSL.g:956:2: ( ( rule__XCastedExpression__Group__0 ) )
+            // InternalSignalDSL.g:957:3: ( rule__XCastedExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:933:3: ( rule__XCastedExpression__Group__0 )
-            // InternalSignalDSL.g:933:4: rule__XCastedExpression__Group__0
+            // InternalSignalDSL.g:958:3: ( rule__XCastedExpression__Group__0 )
+            // InternalSignalDSL.g:958:4: rule__XCastedExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group__0();
@@ -3120,11 +3192,11 @@
 
 
     // $ANTLR start "entryRuleXPostfixOperation"
-    // InternalSignalDSL.g:942:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ;
+    // InternalSignalDSL.g:967:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ;
     public final void entryRuleXPostfixOperation() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:943:1: ( ruleXPostfixOperation EOF )
-            // InternalSignalDSL.g:944:1: ruleXPostfixOperation EOF
+            // InternalSignalDSL.g:968:1: ( ruleXPostfixOperation EOF )
+            // InternalSignalDSL.g:969:1: ruleXPostfixOperation EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationRule()); 
@@ -3154,23 +3226,23 @@
 
 
     // $ANTLR start "ruleXPostfixOperation"
-    // InternalSignalDSL.g:951:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ;
+    // InternalSignalDSL.g:976:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ;
     public final void ruleXPostfixOperation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:955:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) )
-            // InternalSignalDSL.g:956:2: ( ( rule__XPostfixOperation__Group__0 ) )
+            // InternalSignalDSL.g:980:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) )
+            // InternalSignalDSL.g:981:2: ( ( rule__XPostfixOperation__Group__0 ) )
             {
-            // InternalSignalDSL.g:956:2: ( ( rule__XPostfixOperation__Group__0 ) )
-            // InternalSignalDSL.g:957:3: ( rule__XPostfixOperation__Group__0 )
+            // InternalSignalDSL.g:981:2: ( ( rule__XPostfixOperation__Group__0 ) )
+            // InternalSignalDSL.g:982:3: ( rule__XPostfixOperation__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:958:3: ( rule__XPostfixOperation__Group__0 )
-            // InternalSignalDSL.g:958:4: rule__XPostfixOperation__Group__0
+            // InternalSignalDSL.g:983:3: ( rule__XPostfixOperation__Group__0 )
+            // InternalSignalDSL.g:983:4: rule__XPostfixOperation__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group__0();
@@ -3205,11 +3277,11 @@
 
 
     // $ANTLR start "entryRuleOpPostfix"
-    // InternalSignalDSL.g:967:1: entryRuleOpPostfix : ruleOpPostfix EOF ;
+    // InternalSignalDSL.g:992:1: entryRuleOpPostfix : ruleOpPostfix EOF ;
     public final void entryRuleOpPostfix() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:968:1: ( ruleOpPostfix EOF )
-            // InternalSignalDSL.g:969:1: ruleOpPostfix EOF
+            // InternalSignalDSL.g:993:1: ( ruleOpPostfix EOF )
+            // InternalSignalDSL.g:994:1: ruleOpPostfix EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpPostfixRule()); 
@@ -3239,23 +3311,23 @@
 
 
     // $ANTLR start "ruleOpPostfix"
-    // InternalSignalDSL.g:976:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ;
+    // InternalSignalDSL.g:1001:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ;
     public final void ruleOpPostfix() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:980:2: ( ( ( rule__OpPostfix__Alternatives ) ) )
-            // InternalSignalDSL.g:981:2: ( ( rule__OpPostfix__Alternatives ) )
+            // InternalSignalDSL.g:1005:2: ( ( ( rule__OpPostfix__Alternatives ) ) )
+            // InternalSignalDSL.g:1006:2: ( ( rule__OpPostfix__Alternatives ) )
             {
-            // InternalSignalDSL.g:981:2: ( ( rule__OpPostfix__Alternatives ) )
-            // InternalSignalDSL.g:982:3: ( rule__OpPostfix__Alternatives )
+            // InternalSignalDSL.g:1006:2: ( ( rule__OpPostfix__Alternatives ) )
+            // InternalSignalDSL.g:1007:3: ( rule__OpPostfix__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpPostfixAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:983:3: ( rule__OpPostfix__Alternatives )
-            // InternalSignalDSL.g:983:4: rule__OpPostfix__Alternatives
+            // InternalSignalDSL.g:1008:3: ( rule__OpPostfix__Alternatives )
+            // InternalSignalDSL.g:1008:4: rule__OpPostfix__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__OpPostfix__Alternatives();
@@ -3290,11 +3362,11 @@
 
 
     // $ANTLR start "entryRuleXMemberFeatureCall"
-    // InternalSignalDSL.g:992:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ;
+    // InternalSignalDSL.g:1017:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ;
     public final void entryRuleXMemberFeatureCall() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:993:1: ( ruleXMemberFeatureCall EOF )
-            // InternalSignalDSL.g:994:1: ruleXMemberFeatureCall EOF
+            // InternalSignalDSL.g:1018:1: ( ruleXMemberFeatureCall EOF )
+            // InternalSignalDSL.g:1019:1: ruleXMemberFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallRule()); 
@@ -3324,23 +3396,23 @@
 
 
     // $ANTLR start "ruleXMemberFeatureCall"
-    // InternalSignalDSL.g:1001:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ;
+    // InternalSignalDSL.g:1026:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ;
     public final void ruleXMemberFeatureCall() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1005:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) )
-            // InternalSignalDSL.g:1006:2: ( ( rule__XMemberFeatureCall__Group__0 ) )
+            // InternalSignalDSL.g:1030:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) )
+            // InternalSignalDSL.g:1031:2: ( ( rule__XMemberFeatureCall__Group__0 ) )
             {
-            // InternalSignalDSL.g:1006:2: ( ( rule__XMemberFeatureCall__Group__0 ) )
-            // InternalSignalDSL.g:1007:3: ( rule__XMemberFeatureCall__Group__0 )
+            // InternalSignalDSL.g:1031:2: ( ( rule__XMemberFeatureCall__Group__0 ) )
+            // InternalSignalDSL.g:1032:3: ( rule__XMemberFeatureCall__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1008:3: ( rule__XMemberFeatureCall__Group__0 )
-            // InternalSignalDSL.g:1008:4: rule__XMemberFeatureCall__Group__0
+            // InternalSignalDSL.g:1033:3: ( rule__XMemberFeatureCall__Group__0 )
+            // InternalSignalDSL.g:1033:4: rule__XMemberFeatureCall__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group__0();
@@ -3375,11 +3447,11 @@
 
 
     // $ANTLR start "entryRuleXPrimaryExpression"
-    // InternalSignalDSL.g:1017:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ;
+    // InternalSignalDSL.g:1042:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ;
     public final void entryRuleXPrimaryExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1018:1: ( ruleXPrimaryExpression EOF )
-            // InternalSignalDSL.g:1019:1: ruleXPrimaryExpression EOF
+            // InternalSignalDSL.g:1043:1: ( ruleXPrimaryExpression EOF )
+            // InternalSignalDSL.g:1044:1: ruleXPrimaryExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPrimaryExpressionRule()); 
@@ -3409,23 +3481,23 @@
 
 
     // $ANTLR start "ruleXPrimaryExpression"
-    // InternalSignalDSL.g:1026:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ;
+    // InternalSignalDSL.g:1051:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ;
     public final void ruleXPrimaryExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1030:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) )
-            // InternalSignalDSL.g:1031:2: ( ( rule__XPrimaryExpression__Alternatives ) )
+            // InternalSignalDSL.g:1055:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) )
+            // InternalSignalDSL.g:1056:2: ( ( rule__XPrimaryExpression__Alternatives ) )
             {
-            // InternalSignalDSL.g:1031:2: ( ( rule__XPrimaryExpression__Alternatives ) )
-            // InternalSignalDSL.g:1032:3: ( rule__XPrimaryExpression__Alternatives )
+            // InternalSignalDSL.g:1056:2: ( ( rule__XPrimaryExpression__Alternatives ) )
+            // InternalSignalDSL.g:1057:3: ( rule__XPrimaryExpression__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1033:3: ( rule__XPrimaryExpression__Alternatives )
-            // InternalSignalDSL.g:1033:4: rule__XPrimaryExpression__Alternatives
+            // InternalSignalDSL.g:1058:3: ( rule__XPrimaryExpression__Alternatives )
+            // InternalSignalDSL.g:1058:4: rule__XPrimaryExpression__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XPrimaryExpression__Alternatives();
@@ -3460,11 +3532,11 @@
 
 
     // $ANTLR start "entryRuleXLiteral"
-    // InternalSignalDSL.g:1042:1: entryRuleXLiteral : ruleXLiteral EOF ;
+    // InternalSignalDSL.g:1067:1: entryRuleXLiteral : ruleXLiteral EOF ;
     public final void entryRuleXLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1043:1: ( ruleXLiteral EOF )
-            // InternalSignalDSL.g:1044:1: ruleXLiteral EOF
+            // InternalSignalDSL.g:1068:1: ( ruleXLiteral EOF )
+            // InternalSignalDSL.g:1069:1: ruleXLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXLiteralRule()); 
@@ -3494,23 +3566,23 @@
 
 
     // $ANTLR start "ruleXLiteral"
-    // InternalSignalDSL.g:1051:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ;
+    // InternalSignalDSL.g:1076:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ;
     public final void ruleXLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1055:2: ( ( ( rule__XLiteral__Alternatives ) ) )
-            // InternalSignalDSL.g:1056:2: ( ( rule__XLiteral__Alternatives ) )
+            // InternalSignalDSL.g:1080:2: ( ( ( rule__XLiteral__Alternatives ) ) )
+            // InternalSignalDSL.g:1081:2: ( ( rule__XLiteral__Alternatives ) )
             {
-            // InternalSignalDSL.g:1056:2: ( ( rule__XLiteral__Alternatives ) )
-            // InternalSignalDSL.g:1057:3: ( rule__XLiteral__Alternatives )
+            // InternalSignalDSL.g:1081:2: ( ( rule__XLiteral__Alternatives ) )
+            // InternalSignalDSL.g:1082:3: ( rule__XLiteral__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXLiteralAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1058:3: ( rule__XLiteral__Alternatives )
-            // InternalSignalDSL.g:1058:4: rule__XLiteral__Alternatives
+            // InternalSignalDSL.g:1083:3: ( rule__XLiteral__Alternatives )
+            // InternalSignalDSL.g:1083:4: rule__XLiteral__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XLiteral__Alternatives();
@@ -3545,11 +3617,11 @@
 
 
     // $ANTLR start "entryRuleXCollectionLiteral"
-    // InternalSignalDSL.g:1067:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ;
+    // InternalSignalDSL.g:1092:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ;
     public final void entryRuleXCollectionLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1068:1: ( ruleXCollectionLiteral EOF )
-            // InternalSignalDSL.g:1069:1: ruleXCollectionLiteral EOF
+            // InternalSignalDSL.g:1093:1: ( ruleXCollectionLiteral EOF )
+            // InternalSignalDSL.g:1094:1: ruleXCollectionLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCollectionLiteralRule()); 
@@ -3579,23 +3651,23 @@
 
 
     // $ANTLR start "ruleXCollectionLiteral"
-    // InternalSignalDSL.g:1076:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ;
+    // InternalSignalDSL.g:1101:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ;
     public final void ruleXCollectionLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1080:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) )
-            // InternalSignalDSL.g:1081:2: ( ( rule__XCollectionLiteral__Alternatives ) )
+            // InternalSignalDSL.g:1105:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) )
+            // InternalSignalDSL.g:1106:2: ( ( rule__XCollectionLiteral__Alternatives ) )
             {
-            // InternalSignalDSL.g:1081:2: ( ( rule__XCollectionLiteral__Alternatives ) )
-            // InternalSignalDSL.g:1082:3: ( rule__XCollectionLiteral__Alternatives )
+            // InternalSignalDSL.g:1106:2: ( ( rule__XCollectionLiteral__Alternatives ) )
+            // InternalSignalDSL.g:1107:3: ( rule__XCollectionLiteral__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1083:3: ( rule__XCollectionLiteral__Alternatives )
-            // InternalSignalDSL.g:1083:4: rule__XCollectionLiteral__Alternatives
+            // InternalSignalDSL.g:1108:3: ( rule__XCollectionLiteral__Alternatives )
+            // InternalSignalDSL.g:1108:4: rule__XCollectionLiteral__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XCollectionLiteral__Alternatives();
@@ -3630,11 +3702,11 @@
 
 
     // $ANTLR start "entryRuleXSetLiteral"
-    // InternalSignalDSL.g:1092:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ;
+    // InternalSignalDSL.g:1117:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ;
     public final void entryRuleXSetLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1093:1: ( ruleXSetLiteral EOF )
-            // InternalSignalDSL.g:1094:1: ruleXSetLiteral EOF
+            // InternalSignalDSL.g:1118:1: ( ruleXSetLiteral EOF )
+            // InternalSignalDSL.g:1119:1: ruleXSetLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralRule()); 
@@ -3664,23 +3736,23 @@
 
 
     // $ANTLR start "ruleXSetLiteral"
-    // InternalSignalDSL.g:1101:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1126:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ;
     public final void ruleXSetLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1105:2: ( ( ( rule__XSetLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1106:2: ( ( rule__XSetLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1130:2: ( ( ( rule__XSetLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1131:2: ( ( rule__XSetLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1106:2: ( ( rule__XSetLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1107:3: ( rule__XSetLiteral__Group__0 )
+            // InternalSignalDSL.g:1131:2: ( ( rule__XSetLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1132:3: ( rule__XSetLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1108:3: ( rule__XSetLiteral__Group__0 )
-            // InternalSignalDSL.g:1108:4: rule__XSetLiteral__Group__0
+            // InternalSignalDSL.g:1133:3: ( rule__XSetLiteral__Group__0 )
+            // InternalSignalDSL.g:1133:4: rule__XSetLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group__0();
@@ -3715,11 +3787,11 @@
 
 
     // $ANTLR start "entryRuleXListLiteral"
-    // InternalSignalDSL.g:1117:1: entryRuleXListLiteral : ruleXListLiteral EOF ;
+    // InternalSignalDSL.g:1142:1: entryRuleXListLiteral : ruleXListLiteral EOF ;
     public final void entryRuleXListLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1118:1: ( ruleXListLiteral EOF )
-            // InternalSignalDSL.g:1119:1: ruleXListLiteral EOF
+            // InternalSignalDSL.g:1143:1: ( ruleXListLiteral EOF )
+            // InternalSignalDSL.g:1144:1: ruleXListLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralRule()); 
@@ -3749,23 +3821,23 @@
 
 
     // $ANTLR start "ruleXListLiteral"
-    // InternalSignalDSL.g:1126:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1151:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ;
     public final void ruleXListLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1130:2: ( ( ( rule__XListLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1131:2: ( ( rule__XListLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1155:2: ( ( ( rule__XListLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1156:2: ( ( rule__XListLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1131:2: ( ( rule__XListLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1132:3: ( rule__XListLiteral__Group__0 )
+            // InternalSignalDSL.g:1156:2: ( ( rule__XListLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1157:3: ( rule__XListLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1133:3: ( rule__XListLiteral__Group__0 )
-            // InternalSignalDSL.g:1133:4: rule__XListLiteral__Group__0
+            // InternalSignalDSL.g:1158:3: ( rule__XListLiteral__Group__0 )
+            // InternalSignalDSL.g:1158:4: rule__XListLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group__0();
@@ -3800,11 +3872,11 @@
 
 
     // $ANTLR start "entryRuleXClosure"
-    // InternalSignalDSL.g:1142:1: entryRuleXClosure : ruleXClosure EOF ;
+    // InternalSignalDSL.g:1167:1: entryRuleXClosure : ruleXClosure EOF ;
     public final void entryRuleXClosure() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1143:1: ( ruleXClosure EOF )
-            // InternalSignalDSL.g:1144:1: ruleXClosure EOF
+            // InternalSignalDSL.g:1168:1: ( ruleXClosure EOF )
+            // InternalSignalDSL.g:1169:1: ruleXClosure EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureRule()); 
@@ -3834,23 +3906,23 @@
 
 
     // $ANTLR start "ruleXClosure"
-    // InternalSignalDSL.g:1151:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ;
+    // InternalSignalDSL.g:1176:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ;
     public final void ruleXClosure() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1155:2: ( ( ( rule__XClosure__Group__0 ) ) )
-            // InternalSignalDSL.g:1156:2: ( ( rule__XClosure__Group__0 ) )
+            // InternalSignalDSL.g:1180:2: ( ( ( rule__XClosure__Group__0 ) ) )
+            // InternalSignalDSL.g:1181:2: ( ( rule__XClosure__Group__0 ) )
             {
-            // InternalSignalDSL.g:1156:2: ( ( rule__XClosure__Group__0 ) )
-            // InternalSignalDSL.g:1157:3: ( rule__XClosure__Group__0 )
+            // InternalSignalDSL.g:1181:2: ( ( rule__XClosure__Group__0 ) )
+            // InternalSignalDSL.g:1182:3: ( rule__XClosure__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1158:3: ( rule__XClosure__Group__0 )
-            // InternalSignalDSL.g:1158:4: rule__XClosure__Group__0
+            // InternalSignalDSL.g:1183:3: ( rule__XClosure__Group__0 )
+            // InternalSignalDSL.g:1183:4: rule__XClosure__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group__0();
@@ -3885,11 +3957,11 @@
 
 
     // $ANTLR start "entryRuleXExpressionInClosure"
-    // InternalSignalDSL.g:1167:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ;
+    // InternalSignalDSL.g:1192:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ;
     public final void entryRuleXExpressionInClosure() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1168:1: ( ruleXExpressionInClosure EOF )
-            // InternalSignalDSL.g:1169:1: ruleXExpressionInClosure EOF
+            // InternalSignalDSL.g:1193:1: ( ruleXExpressionInClosure EOF )
+            // InternalSignalDSL.g:1194:1: ruleXExpressionInClosure EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureRule()); 
@@ -3919,23 +3991,23 @@
 
 
     // $ANTLR start "ruleXExpressionInClosure"
-    // InternalSignalDSL.g:1176:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ;
+    // InternalSignalDSL.g:1201:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ;
     public final void ruleXExpressionInClosure() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1180:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) )
-            // InternalSignalDSL.g:1181:2: ( ( rule__XExpressionInClosure__Group__0 ) )
+            // InternalSignalDSL.g:1205:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) )
+            // InternalSignalDSL.g:1206:2: ( ( rule__XExpressionInClosure__Group__0 ) )
             {
-            // InternalSignalDSL.g:1181:2: ( ( rule__XExpressionInClosure__Group__0 ) )
-            // InternalSignalDSL.g:1182:3: ( rule__XExpressionInClosure__Group__0 )
+            // InternalSignalDSL.g:1206:2: ( ( rule__XExpressionInClosure__Group__0 ) )
+            // InternalSignalDSL.g:1207:3: ( rule__XExpressionInClosure__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1183:3: ( rule__XExpressionInClosure__Group__0 )
-            // InternalSignalDSL.g:1183:4: rule__XExpressionInClosure__Group__0
+            // InternalSignalDSL.g:1208:3: ( rule__XExpressionInClosure__Group__0 )
+            // InternalSignalDSL.g:1208:4: rule__XExpressionInClosure__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__Group__0();
@@ -3970,11 +4042,11 @@
 
 
     // $ANTLR start "entryRuleXShortClosure"
-    // InternalSignalDSL.g:1192:1: entryRuleXShortClosure : ruleXShortClosure EOF ;
+    // InternalSignalDSL.g:1217:1: entryRuleXShortClosure : ruleXShortClosure EOF ;
     public final void entryRuleXShortClosure() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1193:1: ( ruleXShortClosure EOF )
-            // InternalSignalDSL.g:1194:1: ruleXShortClosure EOF
+            // InternalSignalDSL.g:1218:1: ( ruleXShortClosure EOF )
+            // InternalSignalDSL.g:1219:1: ruleXShortClosure EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureRule()); 
@@ -4004,23 +4076,23 @@
 
 
     // $ANTLR start "ruleXShortClosure"
-    // InternalSignalDSL.g:1201:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ;
+    // InternalSignalDSL.g:1226:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ;
     public final void ruleXShortClosure() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1205:2: ( ( ( rule__XShortClosure__Group__0 ) ) )
-            // InternalSignalDSL.g:1206:2: ( ( rule__XShortClosure__Group__0 ) )
+            // InternalSignalDSL.g:1230:2: ( ( ( rule__XShortClosure__Group__0 ) ) )
+            // InternalSignalDSL.g:1231:2: ( ( rule__XShortClosure__Group__0 ) )
             {
-            // InternalSignalDSL.g:1206:2: ( ( rule__XShortClosure__Group__0 ) )
-            // InternalSignalDSL.g:1207:3: ( rule__XShortClosure__Group__0 )
+            // InternalSignalDSL.g:1231:2: ( ( rule__XShortClosure__Group__0 ) )
+            // InternalSignalDSL.g:1232:3: ( rule__XShortClosure__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1208:3: ( rule__XShortClosure__Group__0 )
-            // InternalSignalDSL.g:1208:4: rule__XShortClosure__Group__0
+            // InternalSignalDSL.g:1233:3: ( rule__XShortClosure__Group__0 )
+            // InternalSignalDSL.g:1233:4: rule__XShortClosure__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group__0();
@@ -4055,11 +4127,11 @@
 
 
     // $ANTLR start "entryRuleXParenthesizedExpression"
-    // InternalSignalDSL.g:1217:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ;
+    // InternalSignalDSL.g:1242:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ;
     public final void entryRuleXParenthesizedExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1218:1: ( ruleXParenthesizedExpression EOF )
-            // InternalSignalDSL.g:1219:1: ruleXParenthesizedExpression EOF
+            // InternalSignalDSL.g:1243:1: ( ruleXParenthesizedExpression EOF )
+            // InternalSignalDSL.g:1244:1: ruleXParenthesizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionRule()); 
@@ -4089,23 +4161,23 @@
 
 
     // $ANTLR start "ruleXParenthesizedExpression"
-    // InternalSignalDSL.g:1226:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1251:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ;
     public final void ruleXParenthesizedExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1230:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1231:2: ( ( rule__XParenthesizedExpression__Group__0 ) )
+            // InternalSignalDSL.g:1255:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1256:2: ( ( rule__XParenthesizedExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1231:2: ( ( rule__XParenthesizedExpression__Group__0 ) )
-            // InternalSignalDSL.g:1232:3: ( rule__XParenthesizedExpression__Group__0 )
+            // InternalSignalDSL.g:1256:2: ( ( rule__XParenthesizedExpression__Group__0 ) )
+            // InternalSignalDSL.g:1257:3: ( rule__XParenthesizedExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1233:3: ( rule__XParenthesizedExpression__Group__0 )
-            // InternalSignalDSL.g:1233:4: rule__XParenthesizedExpression__Group__0
+            // InternalSignalDSL.g:1258:3: ( rule__XParenthesizedExpression__Group__0 )
+            // InternalSignalDSL.g:1258:4: rule__XParenthesizedExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XParenthesizedExpression__Group__0();
@@ -4140,11 +4212,11 @@
 
 
     // $ANTLR start "entryRuleXIfExpression"
-    // InternalSignalDSL.g:1242:1: entryRuleXIfExpression : ruleXIfExpression EOF ;
+    // InternalSignalDSL.g:1267:1: entryRuleXIfExpression : ruleXIfExpression EOF ;
     public final void entryRuleXIfExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1243:1: ( ruleXIfExpression EOF )
-            // InternalSignalDSL.g:1244:1: ruleXIfExpression EOF
+            // InternalSignalDSL.g:1268:1: ( ruleXIfExpression EOF )
+            // InternalSignalDSL.g:1269:1: ruleXIfExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionRule()); 
@@ -4174,23 +4246,23 @@
 
 
     // $ANTLR start "ruleXIfExpression"
-    // InternalSignalDSL.g:1251:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1276:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ;
     public final void ruleXIfExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1255:2: ( ( ( rule__XIfExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1256:2: ( ( rule__XIfExpression__Group__0 ) )
+            // InternalSignalDSL.g:1280:2: ( ( ( rule__XIfExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1281:2: ( ( rule__XIfExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1256:2: ( ( rule__XIfExpression__Group__0 ) )
-            // InternalSignalDSL.g:1257:3: ( rule__XIfExpression__Group__0 )
+            // InternalSignalDSL.g:1281:2: ( ( rule__XIfExpression__Group__0 ) )
+            // InternalSignalDSL.g:1282:3: ( rule__XIfExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1258:3: ( rule__XIfExpression__Group__0 )
-            // InternalSignalDSL.g:1258:4: rule__XIfExpression__Group__0
+            // InternalSignalDSL.g:1283:3: ( rule__XIfExpression__Group__0 )
+            // InternalSignalDSL.g:1283:4: rule__XIfExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__Group__0();
@@ -4225,11 +4297,11 @@
 
 
     // $ANTLR start "entryRuleXSwitchExpression"
-    // InternalSignalDSL.g:1267:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ;
+    // InternalSignalDSL.g:1292:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ;
     public final void entryRuleXSwitchExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1268:1: ( ruleXSwitchExpression EOF )
-            // InternalSignalDSL.g:1269:1: ruleXSwitchExpression EOF
+            // InternalSignalDSL.g:1293:1: ( ruleXSwitchExpression EOF )
+            // InternalSignalDSL.g:1294:1: ruleXSwitchExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionRule()); 
@@ -4259,23 +4331,23 @@
 
 
     // $ANTLR start "ruleXSwitchExpression"
-    // InternalSignalDSL.g:1276:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1301:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ;
     public final void ruleXSwitchExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1280:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1281:2: ( ( rule__XSwitchExpression__Group__0 ) )
+            // InternalSignalDSL.g:1305:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1306:2: ( ( rule__XSwitchExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1281:2: ( ( rule__XSwitchExpression__Group__0 ) )
-            // InternalSignalDSL.g:1282:3: ( rule__XSwitchExpression__Group__0 )
+            // InternalSignalDSL.g:1306:2: ( ( rule__XSwitchExpression__Group__0 ) )
+            // InternalSignalDSL.g:1307:3: ( rule__XSwitchExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1283:3: ( rule__XSwitchExpression__Group__0 )
-            // InternalSignalDSL.g:1283:4: rule__XSwitchExpression__Group__0
+            // InternalSignalDSL.g:1308:3: ( rule__XSwitchExpression__Group__0 )
+            // InternalSignalDSL.g:1308:4: rule__XSwitchExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group__0();
@@ -4310,11 +4382,11 @@
 
 
     // $ANTLR start "entryRuleXCasePart"
-    // InternalSignalDSL.g:1292:1: entryRuleXCasePart : ruleXCasePart EOF ;
+    // InternalSignalDSL.g:1317:1: entryRuleXCasePart : ruleXCasePart EOF ;
     public final void entryRuleXCasePart() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1293:1: ( ruleXCasePart EOF )
-            // InternalSignalDSL.g:1294:1: ruleXCasePart EOF
+            // InternalSignalDSL.g:1318:1: ( ruleXCasePart EOF )
+            // InternalSignalDSL.g:1319:1: ruleXCasePart EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartRule()); 
@@ -4344,23 +4416,23 @@
 
 
     // $ANTLR start "ruleXCasePart"
-    // InternalSignalDSL.g:1301:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ;
+    // InternalSignalDSL.g:1326:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ;
     public final void ruleXCasePart() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1305:2: ( ( ( rule__XCasePart__Group__0 ) ) )
-            // InternalSignalDSL.g:1306:2: ( ( rule__XCasePart__Group__0 ) )
+            // InternalSignalDSL.g:1330:2: ( ( ( rule__XCasePart__Group__0 ) ) )
+            // InternalSignalDSL.g:1331:2: ( ( rule__XCasePart__Group__0 ) )
             {
-            // InternalSignalDSL.g:1306:2: ( ( rule__XCasePart__Group__0 ) )
-            // InternalSignalDSL.g:1307:3: ( rule__XCasePart__Group__0 )
+            // InternalSignalDSL.g:1331:2: ( ( rule__XCasePart__Group__0 ) )
+            // InternalSignalDSL.g:1332:3: ( rule__XCasePart__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1308:3: ( rule__XCasePart__Group__0 )
-            // InternalSignalDSL.g:1308:4: rule__XCasePart__Group__0
+            // InternalSignalDSL.g:1333:3: ( rule__XCasePart__Group__0 )
+            // InternalSignalDSL.g:1333:4: rule__XCasePart__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group__0();
@@ -4395,11 +4467,11 @@
 
 
     // $ANTLR start "entryRuleXForLoopExpression"
-    // InternalSignalDSL.g:1317:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ;
+    // InternalSignalDSL.g:1342:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ;
     public final void entryRuleXForLoopExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1318:1: ( ruleXForLoopExpression EOF )
-            // InternalSignalDSL.g:1319:1: ruleXForLoopExpression EOF
+            // InternalSignalDSL.g:1343:1: ( ruleXForLoopExpression EOF )
+            // InternalSignalDSL.g:1344:1: ruleXForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionRule()); 
@@ -4429,23 +4501,23 @@
 
 
     // $ANTLR start "ruleXForLoopExpression"
-    // InternalSignalDSL.g:1326:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1351:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ;
     public final void ruleXForLoopExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1330:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1331:2: ( ( rule__XForLoopExpression__Group__0 ) )
+            // InternalSignalDSL.g:1355:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1356:2: ( ( rule__XForLoopExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1331:2: ( ( rule__XForLoopExpression__Group__0 ) )
-            // InternalSignalDSL.g:1332:3: ( rule__XForLoopExpression__Group__0 )
+            // InternalSignalDSL.g:1356:2: ( ( rule__XForLoopExpression__Group__0 ) )
+            // InternalSignalDSL.g:1357:3: ( rule__XForLoopExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1333:3: ( rule__XForLoopExpression__Group__0 )
-            // InternalSignalDSL.g:1333:4: rule__XForLoopExpression__Group__0
+            // InternalSignalDSL.g:1358:3: ( rule__XForLoopExpression__Group__0 )
+            // InternalSignalDSL.g:1358:4: rule__XForLoopExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group__0();
@@ -4480,11 +4552,11 @@
 
 
     // $ANTLR start "entryRuleXBasicForLoopExpression"
-    // InternalSignalDSL.g:1342:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ;
+    // InternalSignalDSL.g:1367:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ;
     public final void entryRuleXBasicForLoopExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1343:1: ( ruleXBasicForLoopExpression EOF )
-            // InternalSignalDSL.g:1344:1: ruleXBasicForLoopExpression EOF
+            // InternalSignalDSL.g:1368:1: ( ruleXBasicForLoopExpression EOF )
+            // InternalSignalDSL.g:1369:1: ruleXBasicForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionRule()); 
@@ -4514,23 +4586,23 @@
 
 
     // $ANTLR start "ruleXBasicForLoopExpression"
-    // InternalSignalDSL.g:1351:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1376:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ;
     public final void ruleXBasicForLoopExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1355:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1356:2: ( ( rule__XBasicForLoopExpression__Group__0 ) )
+            // InternalSignalDSL.g:1380:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1381:2: ( ( rule__XBasicForLoopExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1356:2: ( ( rule__XBasicForLoopExpression__Group__0 ) )
-            // InternalSignalDSL.g:1357:3: ( rule__XBasicForLoopExpression__Group__0 )
+            // InternalSignalDSL.g:1381:2: ( ( rule__XBasicForLoopExpression__Group__0 ) )
+            // InternalSignalDSL.g:1382:3: ( rule__XBasicForLoopExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1358:3: ( rule__XBasicForLoopExpression__Group__0 )
-            // InternalSignalDSL.g:1358:4: rule__XBasicForLoopExpression__Group__0
+            // InternalSignalDSL.g:1383:3: ( rule__XBasicForLoopExpression__Group__0 )
+            // InternalSignalDSL.g:1383:4: rule__XBasicForLoopExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group__0();
@@ -4565,11 +4637,11 @@
 
 
     // $ANTLR start "entryRuleXWhileExpression"
-    // InternalSignalDSL.g:1367:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ;
+    // InternalSignalDSL.g:1392:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ;
     public final void entryRuleXWhileExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1368:1: ( ruleXWhileExpression EOF )
-            // InternalSignalDSL.g:1369:1: ruleXWhileExpression EOF
+            // InternalSignalDSL.g:1393:1: ( ruleXWhileExpression EOF )
+            // InternalSignalDSL.g:1394:1: ruleXWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionRule()); 
@@ -4599,23 +4671,23 @@
 
 
     // $ANTLR start "ruleXWhileExpression"
-    // InternalSignalDSL.g:1376:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1401:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ;
     public final void ruleXWhileExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1380:2: ( ( ( rule__XWhileExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1381:2: ( ( rule__XWhileExpression__Group__0 ) )
+            // InternalSignalDSL.g:1405:2: ( ( ( rule__XWhileExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1406:2: ( ( rule__XWhileExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1381:2: ( ( rule__XWhileExpression__Group__0 ) )
-            // InternalSignalDSL.g:1382:3: ( rule__XWhileExpression__Group__0 )
+            // InternalSignalDSL.g:1406:2: ( ( rule__XWhileExpression__Group__0 ) )
+            // InternalSignalDSL.g:1407:3: ( rule__XWhileExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1383:3: ( rule__XWhileExpression__Group__0 )
-            // InternalSignalDSL.g:1383:4: rule__XWhileExpression__Group__0
+            // InternalSignalDSL.g:1408:3: ( rule__XWhileExpression__Group__0 )
+            // InternalSignalDSL.g:1408:4: rule__XWhileExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__Group__0();
@@ -4650,11 +4722,11 @@
 
 
     // $ANTLR start "entryRuleXDoWhileExpression"
-    // InternalSignalDSL.g:1392:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ;
+    // InternalSignalDSL.g:1417:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ;
     public final void entryRuleXDoWhileExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1393:1: ( ruleXDoWhileExpression EOF )
-            // InternalSignalDSL.g:1394:1: ruleXDoWhileExpression EOF
+            // InternalSignalDSL.g:1418:1: ( ruleXDoWhileExpression EOF )
+            // InternalSignalDSL.g:1419:1: ruleXDoWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionRule()); 
@@ -4684,23 +4756,23 @@
 
 
     // $ANTLR start "ruleXDoWhileExpression"
-    // InternalSignalDSL.g:1401:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1426:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ;
     public final void ruleXDoWhileExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1405:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1406:2: ( ( rule__XDoWhileExpression__Group__0 ) )
+            // InternalSignalDSL.g:1430:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1431:2: ( ( rule__XDoWhileExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1406:2: ( ( rule__XDoWhileExpression__Group__0 ) )
-            // InternalSignalDSL.g:1407:3: ( rule__XDoWhileExpression__Group__0 )
+            // InternalSignalDSL.g:1431:2: ( ( rule__XDoWhileExpression__Group__0 ) )
+            // InternalSignalDSL.g:1432:3: ( rule__XDoWhileExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1408:3: ( rule__XDoWhileExpression__Group__0 )
-            // InternalSignalDSL.g:1408:4: rule__XDoWhileExpression__Group__0
+            // InternalSignalDSL.g:1433:3: ( rule__XDoWhileExpression__Group__0 )
+            // InternalSignalDSL.g:1433:4: rule__XDoWhileExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__Group__0();
@@ -4735,11 +4807,11 @@
 
 
     // $ANTLR start "entryRuleXBlockExpression"
-    // InternalSignalDSL.g:1417:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ;
+    // InternalSignalDSL.g:1442:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ;
     public final void entryRuleXBlockExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1418:1: ( ruleXBlockExpression EOF )
-            // InternalSignalDSL.g:1419:1: ruleXBlockExpression EOF
+            // InternalSignalDSL.g:1443:1: ( ruleXBlockExpression EOF )
+            // InternalSignalDSL.g:1444:1: ruleXBlockExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionRule()); 
@@ -4769,23 +4841,23 @@
 
 
     // $ANTLR start "ruleXBlockExpression"
-    // InternalSignalDSL.g:1426:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1451:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ;
     public final void ruleXBlockExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1430:2: ( ( ( rule__XBlockExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1431:2: ( ( rule__XBlockExpression__Group__0 ) )
+            // InternalSignalDSL.g:1455:2: ( ( ( rule__XBlockExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1456:2: ( ( rule__XBlockExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1431:2: ( ( rule__XBlockExpression__Group__0 ) )
-            // InternalSignalDSL.g:1432:3: ( rule__XBlockExpression__Group__0 )
+            // InternalSignalDSL.g:1456:2: ( ( rule__XBlockExpression__Group__0 ) )
+            // InternalSignalDSL.g:1457:3: ( rule__XBlockExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1433:3: ( rule__XBlockExpression__Group__0 )
-            // InternalSignalDSL.g:1433:4: rule__XBlockExpression__Group__0
+            // InternalSignalDSL.g:1458:3: ( rule__XBlockExpression__Group__0 )
+            // InternalSignalDSL.g:1458:4: rule__XBlockExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__Group__0();
@@ -4820,11 +4892,11 @@
 
 
     // $ANTLR start "entryRuleXExpressionOrVarDeclaration"
-    // InternalSignalDSL.g:1442:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ;
+    // InternalSignalDSL.g:1467:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ;
     public final void entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1443:1: ( ruleXExpressionOrVarDeclaration EOF )
-            // InternalSignalDSL.g:1444:1: ruleXExpressionOrVarDeclaration EOF
+            // InternalSignalDSL.g:1468:1: ( ruleXExpressionOrVarDeclaration EOF )
+            // InternalSignalDSL.g:1469:1: ruleXExpressionOrVarDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionOrVarDeclarationRule()); 
@@ -4854,23 +4926,23 @@
 
 
     // $ANTLR start "ruleXExpressionOrVarDeclaration"
-    // InternalSignalDSL.g:1451:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ;
+    // InternalSignalDSL.g:1476:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ;
     public final void ruleXExpressionOrVarDeclaration() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1455:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) )
-            // InternalSignalDSL.g:1456:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
+            // InternalSignalDSL.g:1480:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) )
+            // InternalSignalDSL.g:1481:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
             {
-            // InternalSignalDSL.g:1456:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
-            // InternalSignalDSL.g:1457:3: ( rule__XExpressionOrVarDeclaration__Alternatives )
+            // InternalSignalDSL.g:1481:2: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
+            // InternalSignalDSL.g:1482:3: ( rule__XExpressionOrVarDeclaration__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1458:3: ( rule__XExpressionOrVarDeclaration__Alternatives )
-            // InternalSignalDSL.g:1458:4: rule__XExpressionOrVarDeclaration__Alternatives
+            // InternalSignalDSL.g:1483:3: ( rule__XExpressionOrVarDeclaration__Alternatives )
+            // InternalSignalDSL.g:1483:4: rule__XExpressionOrVarDeclaration__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionOrVarDeclaration__Alternatives();
@@ -4905,11 +4977,11 @@
 
 
     // $ANTLR start "entryRuleXVariableDeclaration"
-    // InternalSignalDSL.g:1467:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ;
+    // InternalSignalDSL.g:1492:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ;
     public final void entryRuleXVariableDeclaration() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1468:1: ( ruleXVariableDeclaration EOF )
-            // InternalSignalDSL.g:1469:1: ruleXVariableDeclaration EOF
+            // InternalSignalDSL.g:1493:1: ( ruleXVariableDeclaration EOF )
+            // InternalSignalDSL.g:1494:1: ruleXVariableDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationRule()); 
@@ -4939,23 +5011,23 @@
 
 
     // $ANTLR start "ruleXVariableDeclaration"
-    // InternalSignalDSL.g:1476:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ;
+    // InternalSignalDSL.g:1501:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ;
     public final void ruleXVariableDeclaration() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1480:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) )
-            // InternalSignalDSL.g:1481:2: ( ( rule__XVariableDeclaration__Group__0 ) )
+            // InternalSignalDSL.g:1505:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) )
+            // InternalSignalDSL.g:1506:2: ( ( rule__XVariableDeclaration__Group__0 ) )
             {
-            // InternalSignalDSL.g:1481:2: ( ( rule__XVariableDeclaration__Group__0 ) )
-            // InternalSignalDSL.g:1482:3: ( rule__XVariableDeclaration__Group__0 )
+            // InternalSignalDSL.g:1506:2: ( ( rule__XVariableDeclaration__Group__0 ) )
+            // InternalSignalDSL.g:1507:3: ( rule__XVariableDeclaration__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1483:3: ( rule__XVariableDeclaration__Group__0 )
-            // InternalSignalDSL.g:1483:4: rule__XVariableDeclaration__Group__0
+            // InternalSignalDSL.g:1508:3: ( rule__XVariableDeclaration__Group__0 )
+            // InternalSignalDSL.g:1508:4: rule__XVariableDeclaration__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group__0();
@@ -4990,11 +5062,11 @@
 
 
     // $ANTLR start "entryRuleJvmFormalParameter"
-    // InternalSignalDSL.g:1492:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ;
+    // InternalSignalDSL.g:1517:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ;
     public final void entryRuleJvmFormalParameter() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1493:1: ( ruleJvmFormalParameter EOF )
-            // InternalSignalDSL.g:1494:1: ruleJvmFormalParameter EOF
+            // InternalSignalDSL.g:1518:1: ( ruleJvmFormalParameter EOF )
+            // InternalSignalDSL.g:1519:1: ruleJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterRule()); 
@@ -5024,23 +5096,23 @@
 
 
     // $ANTLR start "ruleJvmFormalParameter"
-    // InternalSignalDSL.g:1501:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ;
+    // InternalSignalDSL.g:1526:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ;
     public final void ruleJvmFormalParameter() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1505:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) )
-            // InternalSignalDSL.g:1506:2: ( ( rule__JvmFormalParameter__Group__0 ) )
+            // InternalSignalDSL.g:1530:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) )
+            // InternalSignalDSL.g:1531:2: ( ( rule__JvmFormalParameter__Group__0 ) )
             {
-            // InternalSignalDSL.g:1506:2: ( ( rule__JvmFormalParameter__Group__0 ) )
-            // InternalSignalDSL.g:1507:3: ( rule__JvmFormalParameter__Group__0 )
+            // InternalSignalDSL.g:1531:2: ( ( rule__JvmFormalParameter__Group__0 ) )
+            // InternalSignalDSL.g:1532:3: ( rule__JvmFormalParameter__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1508:3: ( rule__JvmFormalParameter__Group__0 )
-            // InternalSignalDSL.g:1508:4: rule__JvmFormalParameter__Group__0
+            // InternalSignalDSL.g:1533:3: ( rule__JvmFormalParameter__Group__0 )
+            // InternalSignalDSL.g:1533:4: rule__JvmFormalParameter__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmFormalParameter__Group__0();
@@ -5075,11 +5147,11 @@
 
 
     // $ANTLR start "entryRuleFullJvmFormalParameter"
-    // InternalSignalDSL.g:1517:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ;
+    // InternalSignalDSL.g:1542:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ;
     public final void entryRuleFullJvmFormalParameter() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1518:1: ( ruleFullJvmFormalParameter EOF )
-            // InternalSignalDSL.g:1519:1: ruleFullJvmFormalParameter EOF
+            // InternalSignalDSL.g:1543:1: ( ruleFullJvmFormalParameter EOF )
+            // InternalSignalDSL.g:1544:1: ruleFullJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterRule()); 
@@ -5109,23 +5181,23 @@
 
 
     // $ANTLR start "ruleFullJvmFormalParameter"
-    // InternalSignalDSL.g:1526:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ;
+    // InternalSignalDSL.g:1551:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ;
     public final void ruleFullJvmFormalParameter() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1530:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) )
-            // InternalSignalDSL.g:1531:2: ( ( rule__FullJvmFormalParameter__Group__0 ) )
+            // InternalSignalDSL.g:1555:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) )
+            // InternalSignalDSL.g:1556:2: ( ( rule__FullJvmFormalParameter__Group__0 ) )
             {
-            // InternalSignalDSL.g:1531:2: ( ( rule__FullJvmFormalParameter__Group__0 ) )
-            // InternalSignalDSL.g:1532:3: ( rule__FullJvmFormalParameter__Group__0 )
+            // InternalSignalDSL.g:1556:2: ( ( rule__FullJvmFormalParameter__Group__0 ) )
+            // InternalSignalDSL.g:1557:3: ( rule__FullJvmFormalParameter__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1533:3: ( rule__FullJvmFormalParameter__Group__0 )
-            // InternalSignalDSL.g:1533:4: rule__FullJvmFormalParameter__Group__0
+            // InternalSignalDSL.g:1558:3: ( rule__FullJvmFormalParameter__Group__0 )
+            // InternalSignalDSL.g:1558:4: rule__FullJvmFormalParameter__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__Group__0();
@@ -5160,11 +5232,11 @@
 
 
     // $ANTLR start "entryRuleXFeatureCall"
-    // InternalSignalDSL.g:1542:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ;
+    // InternalSignalDSL.g:1567:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ;
     public final void entryRuleXFeatureCall() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1543:1: ( ruleXFeatureCall EOF )
-            // InternalSignalDSL.g:1544:1: ruleXFeatureCall EOF
+            // InternalSignalDSL.g:1568:1: ( ruleXFeatureCall EOF )
+            // InternalSignalDSL.g:1569:1: ruleXFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallRule()); 
@@ -5194,23 +5266,23 @@
 
 
     // $ANTLR start "ruleXFeatureCall"
-    // InternalSignalDSL.g:1551:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ;
+    // InternalSignalDSL.g:1576:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ;
     public final void ruleXFeatureCall() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1555:2: ( ( ( rule__XFeatureCall__Group__0 ) ) )
-            // InternalSignalDSL.g:1556:2: ( ( rule__XFeatureCall__Group__0 ) )
+            // InternalSignalDSL.g:1580:2: ( ( ( rule__XFeatureCall__Group__0 ) ) )
+            // InternalSignalDSL.g:1581:2: ( ( rule__XFeatureCall__Group__0 ) )
             {
-            // InternalSignalDSL.g:1556:2: ( ( rule__XFeatureCall__Group__0 ) )
-            // InternalSignalDSL.g:1557:3: ( rule__XFeatureCall__Group__0 )
+            // InternalSignalDSL.g:1581:2: ( ( rule__XFeatureCall__Group__0 ) )
+            // InternalSignalDSL.g:1582:3: ( rule__XFeatureCall__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1558:3: ( rule__XFeatureCall__Group__0 )
-            // InternalSignalDSL.g:1558:4: rule__XFeatureCall__Group__0
+            // InternalSignalDSL.g:1583:3: ( rule__XFeatureCall__Group__0 )
+            // InternalSignalDSL.g:1583:4: rule__XFeatureCall__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group__0();
@@ -5245,11 +5317,11 @@
 
 
     // $ANTLR start "entryRuleFeatureCallID"
-    // InternalSignalDSL.g:1567:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ;
+    // InternalSignalDSL.g:1592:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ;
     public final void entryRuleFeatureCallID() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1568:1: ( ruleFeatureCallID EOF )
-            // InternalSignalDSL.g:1569:1: ruleFeatureCallID EOF
+            // InternalSignalDSL.g:1593:1: ( ruleFeatureCallID EOF )
+            // InternalSignalDSL.g:1594:1: ruleFeatureCallID EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFeatureCallIDRule()); 
@@ -5279,23 +5351,23 @@
 
 
     // $ANTLR start "ruleFeatureCallID"
-    // InternalSignalDSL.g:1576:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ;
+    // InternalSignalDSL.g:1601:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ;
     public final void ruleFeatureCallID() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1580:2: ( ( ( rule__FeatureCallID__Alternatives ) ) )
-            // InternalSignalDSL.g:1581:2: ( ( rule__FeatureCallID__Alternatives ) )
+            // InternalSignalDSL.g:1605:2: ( ( ( rule__FeatureCallID__Alternatives ) ) )
+            // InternalSignalDSL.g:1606:2: ( ( rule__FeatureCallID__Alternatives ) )
             {
-            // InternalSignalDSL.g:1581:2: ( ( rule__FeatureCallID__Alternatives ) )
-            // InternalSignalDSL.g:1582:3: ( rule__FeatureCallID__Alternatives )
+            // InternalSignalDSL.g:1606:2: ( ( rule__FeatureCallID__Alternatives ) )
+            // InternalSignalDSL.g:1607:3: ( rule__FeatureCallID__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1583:3: ( rule__FeatureCallID__Alternatives )
-            // InternalSignalDSL.g:1583:4: rule__FeatureCallID__Alternatives
+            // InternalSignalDSL.g:1608:3: ( rule__FeatureCallID__Alternatives )
+            // InternalSignalDSL.g:1608:4: rule__FeatureCallID__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__FeatureCallID__Alternatives();
@@ -5330,11 +5402,11 @@
 
 
     // $ANTLR start "entryRuleIdOrSuper"
-    // InternalSignalDSL.g:1592:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ;
+    // InternalSignalDSL.g:1617:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ;
     public final void entryRuleIdOrSuper() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1593:1: ( ruleIdOrSuper EOF )
-            // InternalSignalDSL.g:1594:1: ruleIdOrSuper EOF
+            // InternalSignalDSL.g:1618:1: ( ruleIdOrSuper EOF )
+            // InternalSignalDSL.g:1619:1: ruleIdOrSuper EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIdOrSuperRule()); 
@@ -5364,23 +5436,23 @@
 
 
     // $ANTLR start "ruleIdOrSuper"
-    // InternalSignalDSL.g:1601:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ;
+    // InternalSignalDSL.g:1626:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ;
     public final void ruleIdOrSuper() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1605:2: ( ( ( rule__IdOrSuper__Alternatives ) ) )
-            // InternalSignalDSL.g:1606:2: ( ( rule__IdOrSuper__Alternatives ) )
+            // InternalSignalDSL.g:1630:2: ( ( ( rule__IdOrSuper__Alternatives ) ) )
+            // InternalSignalDSL.g:1631:2: ( ( rule__IdOrSuper__Alternatives ) )
             {
-            // InternalSignalDSL.g:1606:2: ( ( rule__IdOrSuper__Alternatives ) )
-            // InternalSignalDSL.g:1607:3: ( rule__IdOrSuper__Alternatives )
+            // InternalSignalDSL.g:1631:2: ( ( rule__IdOrSuper__Alternatives ) )
+            // InternalSignalDSL.g:1632:3: ( rule__IdOrSuper__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIdOrSuperAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1608:3: ( rule__IdOrSuper__Alternatives )
-            // InternalSignalDSL.g:1608:4: rule__IdOrSuper__Alternatives
+            // InternalSignalDSL.g:1633:3: ( rule__IdOrSuper__Alternatives )
+            // InternalSignalDSL.g:1633:4: rule__IdOrSuper__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__IdOrSuper__Alternatives();
@@ -5415,11 +5487,11 @@
 
 
     // $ANTLR start "entryRuleXConstructorCall"
-    // InternalSignalDSL.g:1617:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ;
+    // InternalSignalDSL.g:1642:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ;
     public final void entryRuleXConstructorCall() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1618:1: ( ruleXConstructorCall EOF )
-            // InternalSignalDSL.g:1619:1: ruleXConstructorCall EOF
+            // InternalSignalDSL.g:1643:1: ( ruleXConstructorCall EOF )
+            // InternalSignalDSL.g:1644:1: ruleXConstructorCall EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallRule()); 
@@ -5449,23 +5521,23 @@
 
 
     // $ANTLR start "ruleXConstructorCall"
-    // InternalSignalDSL.g:1626:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ;
+    // InternalSignalDSL.g:1651:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ;
     public final void ruleXConstructorCall() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1630:2: ( ( ( rule__XConstructorCall__Group__0 ) ) )
-            // InternalSignalDSL.g:1631:2: ( ( rule__XConstructorCall__Group__0 ) )
+            // InternalSignalDSL.g:1655:2: ( ( ( rule__XConstructorCall__Group__0 ) ) )
+            // InternalSignalDSL.g:1656:2: ( ( rule__XConstructorCall__Group__0 ) )
             {
-            // InternalSignalDSL.g:1631:2: ( ( rule__XConstructorCall__Group__0 ) )
-            // InternalSignalDSL.g:1632:3: ( rule__XConstructorCall__Group__0 )
+            // InternalSignalDSL.g:1656:2: ( ( rule__XConstructorCall__Group__0 ) )
+            // InternalSignalDSL.g:1657:3: ( rule__XConstructorCall__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1633:3: ( rule__XConstructorCall__Group__0 )
-            // InternalSignalDSL.g:1633:4: rule__XConstructorCall__Group__0
+            // InternalSignalDSL.g:1658:3: ( rule__XConstructorCall__Group__0 )
+            // InternalSignalDSL.g:1658:4: rule__XConstructorCall__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group__0();
@@ -5500,11 +5572,11 @@
 
 
     // $ANTLR start "entryRuleXBooleanLiteral"
-    // InternalSignalDSL.g:1642:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ;
+    // InternalSignalDSL.g:1667:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ;
     public final void entryRuleXBooleanLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1643:1: ( ruleXBooleanLiteral EOF )
-            // InternalSignalDSL.g:1644:1: ruleXBooleanLiteral EOF
+            // InternalSignalDSL.g:1668:1: ( ruleXBooleanLiteral EOF )
+            // InternalSignalDSL.g:1669:1: ruleXBooleanLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralRule()); 
@@ -5534,23 +5606,23 @@
 
 
     // $ANTLR start "ruleXBooleanLiteral"
-    // InternalSignalDSL.g:1651:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1676:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ;
     public final void ruleXBooleanLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1655:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1656:2: ( ( rule__XBooleanLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1680:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1681:2: ( ( rule__XBooleanLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1656:2: ( ( rule__XBooleanLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1657:3: ( rule__XBooleanLiteral__Group__0 )
+            // InternalSignalDSL.g:1681:2: ( ( rule__XBooleanLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1682:3: ( rule__XBooleanLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1658:3: ( rule__XBooleanLiteral__Group__0 )
-            // InternalSignalDSL.g:1658:4: rule__XBooleanLiteral__Group__0
+            // InternalSignalDSL.g:1683:3: ( rule__XBooleanLiteral__Group__0 )
+            // InternalSignalDSL.g:1683:4: rule__XBooleanLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XBooleanLiteral__Group__0();
@@ -5585,11 +5657,11 @@
 
 
     // $ANTLR start "entryRuleXNullLiteral"
-    // InternalSignalDSL.g:1667:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ;
+    // InternalSignalDSL.g:1692:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ;
     public final void entryRuleXNullLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1668:1: ( ruleXNullLiteral EOF )
-            // InternalSignalDSL.g:1669:1: ruleXNullLiteral EOF
+            // InternalSignalDSL.g:1693:1: ( ruleXNullLiteral EOF )
+            // InternalSignalDSL.g:1694:1: ruleXNullLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralRule()); 
@@ -5619,23 +5691,23 @@
 
 
     // $ANTLR start "ruleXNullLiteral"
-    // InternalSignalDSL.g:1676:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1701:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ;
     public final void ruleXNullLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1680:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1681:2: ( ( rule__XNullLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1705:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1706:2: ( ( rule__XNullLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1681:2: ( ( rule__XNullLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1682:3: ( rule__XNullLiteral__Group__0 )
+            // InternalSignalDSL.g:1706:2: ( ( rule__XNullLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1707:3: ( rule__XNullLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1683:3: ( rule__XNullLiteral__Group__0 )
-            // InternalSignalDSL.g:1683:4: rule__XNullLiteral__Group__0
+            // InternalSignalDSL.g:1708:3: ( rule__XNullLiteral__Group__0 )
+            // InternalSignalDSL.g:1708:4: rule__XNullLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XNullLiteral__Group__0();
@@ -5670,11 +5742,11 @@
 
 
     // $ANTLR start "entryRuleXNumberLiteral"
-    // InternalSignalDSL.g:1692:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ;
+    // InternalSignalDSL.g:1717:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ;
     public final void entryRuleXNumberLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1693:1: ( ruleXNumberLiteral EOF )
-            // InternalSignalDSL.g:1694:1: ruleXNumberLiteral EOF
+            // InternalSignalDSL.g:1718:1: ( ruleXNumberLiteral EOF )
+            // InternalSignalDSL.g:1719:1: ruleXNumberLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralRule()); 
@@ -5704,23 +5776,23 @@
 
 
     // $ANTLR start "ruleXNumberLiteral"
-    // InternalSignalDSL.g:1701:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1726:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ;
     public final void ruleXNumberLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1705:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1706:2: ( ( rule__XNumberLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1730:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1731:2: ( ( rule__XNumberLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1706:2: ( ( rule__XNumberLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1707:3: ( rule__XNumberLiteral__Group__0 )
+            // InternalSignalDSL.g:1731:2: ( ( rule__XNumberLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1732:3: ( rule__XNumberLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1708:3: ( rule__XNumberLiteral__Group__0 )
-            // InternalSignalDSL.g:1708:4: rule__XNumberLiteral__Group__0
+            // InternalSignalDSL.g:1733:3: ( rule__XNumberLiteral__Group__0 )
+            // InternalSignalDSL.g:1733:4: rule__XNumberLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XNumberLiteral__Group__0();
@@ -5755,11 +5827,11 @@
 
 
     // $ANTLR start "entryRuleXStringLiteral"
-    // InternalSignalDSL.g:1717:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ;
+    // InternalSignalDSL.g:1742:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ;
     public final void entryRuleXStringLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1718:1: ( ruleXStringLiteral EOF )
-            // InternalSignalDSL.g:1719:1: ruleXStringLiteral EOF
+            // InternalSignalDSL.g:1743:1: ( ruleXStringLiteral EOF )
+            // InternalSignalDSL.g:1744:1: ruleXStringLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralRule()); 
@@ -5789,23 +5861,23 @@
 
 
     // $ANTLR start "ruleXStringLiteral"
-    // InternalSignalDSL.g:1726:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1751:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ;
     public final void ruleXStringLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1730:2: ( ( ( rule__XStringLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1731:2: ( ( rule__XStringLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1755:2: ( ( ( rule__XStringLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1756:2: ( ( rule__XStringLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1731:2: ( ( rule__XStringLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1732:3: ( rule__XStringLiteral__Group__0 )
+            // InternalSignalDSL.g:1756:2: ( ( rule__XStringLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1757:3: ( rule__XStringLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1733:3: ( rule__XStringLiteral__Group__0 )
-            // InternalSignalDSL.g:1733:4: rule__XStringLiteral__Group__0
+            // InternalSignalDSL.g:1758:3: ( rule__XStringLiteral__Group__0 )
+            // InternalSignalDSL.g:1758:4: rule__XStringLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XStringLiteral__Group__0();
@@ -5840,11 +5912,11 @@
 
 
     // $ANTLR start "entryRuleXTypeLiteral"
-    // InternalSignalDSL.g:1742:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ;
+    // InternalSignalDSL.g:1767:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ;
     public final void entryRuleXTypeLiteral() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1743:1: ( ruleXTypeLiteral EOF )
-            // InternalSignalDSL.g:1744:1: ruleXTypeLiteral EOF
+            // InternalSignalDSL.g:1768:1: ( ruleXTypeLiteral EOF )
+            // InternalSignalDSL.g:1769:1: ruleXTypeLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralRule()); 
@@ -5874,23 +5946,23 @@
 
 
     // $ANTLR start "ruleXTypeLiteral"
-    // InternalSignalDSL.g:1751:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ;
+    // InternalSignalDSL.g:1776:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ;
     public final void ruleXTypeLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1755:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) )
-            // InternalSignalDSL.g:1756:2: ( ( rule__XTypeLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1780:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) )
+            // InternalSignalDSL.g:1781:2: ( ( rule__XTypeLiteral__Group__0 ) )
             {
-            // InternalSignalDSL.g:1756:2: ( ( rule__XTypeLiteral__Group__0 ) )
-            // InternalSignalDSL.g:1757:3: ( rule__XTypeLiteral__Group__0 )
+            // InternalSignalDSL.g:1781:2: ( ( rule__XTypeLiteral__Group__0 ) )
+            // InternalSignalDSL.g:1782:3: ( rule__XTypeLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1758:3: ( rule__XTypeLiteral__Group__0 )
-            // InternalSignalDSL.g:1758:4: rule__XTypeLiteral__Group__0
+            // InternalSignalDSL.g:1783:3: ( rule__XTypeLiteral__Group__0 )
+            // InternalSignalDSL.g:1783:4: rule__XTypeLiteral__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XTypeLiteral__Group__0();
@@ -5925,11 +5997,11 @@
 
 
     // $ANTLR start "entryRuleXThrowExpression"
-    // InternalSignalDSL.g:1767:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ;
+    // InternalSignalDSL.g:1792:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ;
     public final void entryRuleXThrowExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1768:1: ( ruleXThrowExpression EOF )
-            // InternalSignalDSL.g:1769:1: ruleXThrowExpression EOF
+            // InternalSignalDSL.g:1793:1: ( ruleXThrowExpression EOF )
+            // InternalSignalDSL.g:1794:1: ruleXThrowExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionRule()); 
@@ -5959,23 +6031,23 @@
 
 
     // $ANTLR start "ruleXThrowExpression"
-    // InternalSignalDSL.g:1776:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1801:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ;
     public final void ruleXThrowExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1780:2: ( ( ( rule__XThrowExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1781:2: ( ( rule__XThrowExpression__Group__0 ) )
+            // InternalSignalDSL.g:1805:2: ( ( ( rule__XThrowExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1806:2: ( ( rule__XThrowExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1781:2: ( ( rule__XThrowExpression__Group__0 ) )
-            // InternalSignalDSL.g:1782:3: ( rule__XThrowExpression__Group__0 )
+            // InternalSignalDSL.g:1806:2: ( ( rule__XThrowExpression__Group__0 ) )
+            // InternalSignalDSL.g:1807:3: ( rule__XThrowExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1783:3: ( rule__XThrowExpression__Group__0 )
-            // InternalSignalDSL.g:1783:4: rule__XThrowExpression__Group__0
+            // InternalSignalDSL.g:1808:3: ( rule__XThrowExpression__Group__0 )
+            // InternalSignalDSL.g:1808:4: rule__XThrowExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XThrowExpression__Group__0();
@@ -6010,11 +6082,11 @@
 
 
     // $ANTLR start "entryRuleXReturnExpression"
-    // InternalSignalDSL.g:1792:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ;
+    // InternalSignalDSL.g:1817:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ;
     public final void entryRuleXReturnExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1793:1: ( ruleXReturnExpression EOF )
-            // InternalSignalDSL.g:1794:1: ruleXReturnExpression EOF
+            // InternalSignalDSL.g:1818:1: ( ruleXReturnExpression EOF )
+            // InternalSignalDSL.g:1819:1: ruleXReturnExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionRule()); 
@@ -6044,23 +6116,23 @@
 
 
     // $ANTLR start "ruleXReturnExpression"
-    // InternalSignalDSL.g:1801:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1826:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ;
     public final void ruleXReturnExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1805:2: ( ( ( rule__XReturnExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1806:2: ( ( rule__XReturnExpression__Group__0 ) )
+            // InternalSignalDSL.g:1830:2: ( ( ( rule__XReturnExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1831:2: ( ( rule__XReturnExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1806:2: ( ( rule__XReturnExpression__Group__0 ) )
-            // InternalSignalDSL.g:1807:3: ( rule__XReturnExpression__Group__0 )
+            // InternalSignalDSL.g:1831:2: ( ( rule__XReturnExpression__Group__0 ) )
+            // InternalSignalDSL.g:1832:3: ( rule__XReturnExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1808:3: ( rule__XReturnExpression__Group__0 )
-            // InternalSignalDSL.g:1808:4: rule__XReturnExpression__Group__0
+            // InternalSignalDSL.g:1833:3: ( rule__XReturnExpression__Group__0 )
+            // InternalSignalDSL.g:1833:4: rule__XReturnExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XReturnExpression__Group__0();
@@ -6095,11 +6167,11 @@
 
 
     // $ANTLR start "entryRuleXTryCatchFinallyExpression"
-    // InternalSignalDSL.g:1817:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ;
+    // InternalSignalDSL.g:1842:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ;
     public final void entryRuleXTryCatchFinallyExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1818:1: ( ruleXTryCatchFinallyExpression EOF )
-            // InternalSignalDSL.g:1819:1: ruleXTryCatchFinallyExpression EOF
+            // InternalSignalDSL.g:1843:1: ( ruleXTryCatchFinallyExpression EOF )
+            // InternalSignalDSL.g:1844:1: ruleXTryCatchFinallyExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionRule()); 
@@ -6129,23 +6201,23 @@
 
 
     // $ANTLR start "ruleXTryCatchFinallyExpression"
-    // InternalSignalDSL.g:1826:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1851:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ;
     public final void ruleXTryCatchFinallyExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1830:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1831:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
+            // InternalSignalDSL.g:1855:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1856:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1831:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
-            // InternalSignalDSL.g:1832:3: ( rule__XTryCatchFinallyExpression__Group__0 )
+            // InternalSignalDSL.g:1856:2: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
+            // InternalSignalDSL.g:1857:3: ( rule__XTryCatchFinallyExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1833:3: ( rule__XTryCatchFinallyExpression__Group__0 )
-            // InternalSignalDSL.g:1833:4: rule__XTryCatchFinallyExpression__Group__0
+            // InternalSignalDSL.g:1858:3: ( rule__XTryCatchFinallyExpression__Group__0 )
+            // InternalSignalDSL.g:1858:4: rule__XTryCatchFinallyExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group__0();
@@ -6180,11 +6252,11 @@
 
 
     // $ANTLR start "entryRuleXSynchronizedExpression"
-    // InternalSignalDSL.g:1842:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ;
+    // InternalSignalDSL.g:1867:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ;
     public final void entryRuleXSynchronizedExpression() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1843:1: ( ruleXSynchronizedExpression EOF )
-            // InternalSignalDSL.g:1844:1: ruleXSynchronizedExpression EOF
+            // InternalSignalDSL.g:1868:1: ( ruleXSynchronizedExpression EOF )
+            // InternalSignalDSL.g:1869:1: ruleXSynchronizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionRule()); 
@@ -6214,23 +6286,23 @@
 
 
     // $ANTLR start "ruleXSynchronizedExpression"
-    // InternalSignalDSL.g:1851:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ;
+    // InternalSignalDSL.g:1876:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ;
     public final void ruleXSynchronizedExpression() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1855:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) )
-            // InternalSignalDSL.g:1856:2: ( ( rule__XSynchronizedExpression__Group__0 ) )
+            // InternalSignalDSL.g:1880:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) )
+            // InternalSignalDSL.g:1881:2: ( ( rule__XSynchronizedExpression__Group__0 ) )
             {
-            // InternalSignalDSL.g:1856:2: ( ( rule__XSynchronizedExpression__Group__0 ) )
-            // InternalSignalDSL.g:1857:3: ( rule__XSynchronizedExpression__Group__0 )
+            // InternalSignalDSL.g:1881:2: ( ( rule__XSynchronizedExpression__Group__0 ) )
+            // InternalSignalDSL.g:1882:3: ( rule__XSynchronizedExpression__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1858:3: ( rule__XSynchronizedExpression__Group__0 )
-            // InternalSignalDSL.g:1858:4: rule__XSynchronizedExpression__Group__0
+            // InternalSignalDSL.g:1883:3: ( rule__XSynchronizedExpression__Group__0 )
+            // InternalSignalDSL.g:1883:4: rule__XSynchronizedExpression__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group__0();
@@ -6265,11 +6337,11 @@
 
 
     // $ANTLR start "entryRuleXCatchClause"
-    // InternalSignalDSL.g:1867:1: entryRuleXCatchClause : ruleXCatchClause EOF ;
+    // InternalSignalDSL.g:1892:1: entryRuleXCatchClause : ruleXCatchClause EOF ;
     public final void entryRuleXCatchClause() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1868:1: ( ruleXCatchClause EOF )
-            // InternalSignalDSL.g:1869:1: ruleXCatchClause EOF
+            // InternalSignalDSL.g:1893:1: ( ruleXCatchClause EOF )
+            // InternalSignalDSL.g:1894:1: ruleXCatchClause EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseRule()); 
@@ -6299,23 +6371,23 @@
 
 
     // $ANTLR start "ruleXCatchClause"
-    // InternalSignalDSL.g:1876:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ;
+    // InternalSignalDSL.g:1901:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ;
     public final void ruleXCatchClause() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1880:2: ( ( ( rule__XCatchClause__Group__0 ) ) )
-            // InternalSignalDSL.g:1881:2: ( ( rule__XCatchClause__Group__0 ) )
+            // InternalSignalDSL.g:1905:2: ( ( ( rule__XCatchClause__Group__0 ) ) )
+            // InternalSignalDSL.g:1906:2: ( ( rule__XCatchClause__Group__0 ) )
             {
-            // InternalSignalDSL.g:1881:2: ( ( rule__XCatchClause__Group__0 ) )
-            // InternalSignalDSL.g:1882:3: ( rule__XCatchClause__Group__0 )
+            // InternalSignalDSL.g:1906:2: ( ( rule__XCatchClause__Group__0 ) )
+            // InternalSignalDSL.g:1907:3: ( rule__XCatchClause__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1883:3: ( rule__XCatchClause__Group__0 )
-            // InternalSignalDSL.g:1883:4: rule__XCatchClause__Group__0
+            // InternalSignalDSL.g:1908:3: ( rule__XCatchClause__Group__0 )
+            // InternalSignalDSL.g:1908:4: rule__XCatchClause__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__Group__0();
@@ -6350,11 +6422,11 @@
 
 
     // $ANTLR start "entryRuleQualifiedName"
-    // InternalSignalDSL.g:1892:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
+    // InternalSignalDSL.g:1917:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
     public final void entryRuleQualifiedName() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1893:1: ( ruleQualifiedName EOF )
-            // InternalSignalDSL.g:1894:1: ruleQualifiedName EOF
+            // InternalSignalDSL.g:1918:1: ( ruleQualifiedName EOF )
+            // InternalSignalDSL.g:1919:1: ruleQualifiedName EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameRule()); 
@@ -6384,23 +6456,23 @@
 
 
     // $ANTLR start "ruleQualifiedName"
-    // InternalSignalDSL.g:1901:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
+    // InternalSignalDSL.g:1926:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
     public final void ruleQualifiedName() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1905:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
-            // InternalSignalDSL.g:1906:2: ( ( rule__QualifiedName__Group__0 ) )
+            // InternalSignalDSL.g:1930:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
+            // InternalSignalDSL.g:1931:2: ( ( rule__QualifiedName__Group__0 ) )
             {
-            // InternalSignalDSL.g:1906:2: ( ( rule__QualifiedName__Group__0 ) )
-            // InternalSignalDSL.g:1907:3: ( rule__QualifiedName__Group__0 )
+            // InternalSignalDSL.g:1931:2: ( ( rule__QualifiedName__Group__0 ) )
+            // InternalSignalDSL.g:1932:3: ( rule__QualifiedName__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1908:3: ( rule__QualifiedName__Group__0 )
-            // InternalSignalDSL.g:1908:4: rule__QualifiedName__Group__0
+            // InternalSignalDSL.g:1933:3: ( rule__QualifiedName__Group__0 )
+            // InternalSignalDSL.g:1933:4: rule__QualifiedName__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedName__Group__0();
@@ -6435,14 +6507,14 @@
 
 
     // $ANTLR start "entryRuleNumber"
-    // InternalSignalDSL.g:1917:1: entryRuleNumber : ruleNumber EOF ;
+    // InternalSignalDSL.g:1942:1: entryRuleNumber : ruleNumber EOF ;
     public final void entryRuleNumber() throws RecognitionException {
          
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // InternalSignalDSL.g:1921:1: ( ruleNumber EOF )
-            // InternalSignalDSL.g:1922:1: ruleNumber EOF
+            // InternalSignalDSL.g:1946:1: ( ruleNumber EOF )
+            // InternalSignalDSL.g:1947:1: ruleNumber EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberRule()); 
@@ -6475,24 +6547,24 @@
 
 
     // $ANTLR start "ruleNumber"
-    // InternalSignalDSL.g:1932:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ;
+    // InternalSignalDSL.g:1957:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ;
     public final void ruleNumber() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1937:2: ( ( ( rule__Number__Alternatives ) ) )
-            // InternalSignalDSL.g:1938:2: ( ( rule__Number__Alternatives ) )
+            // InternalSignalDSL.g:1962:2: ( ( ( rule__Number__Alternatives ) ) )
+            // InternalSignalDSL.g:1963:2: ( ( rule__Number__Alternatives ) )
             {
-            // InternalSignalDSL.g:1938:2: ( ( rule__Number__Alternatives ) )
-            // InternalSignalDSL.g:1939:3: ( rule__Number__Alternatives )
+            // InternalSignalDSL.g:1963:2: ( ( rule__Number__Alternatives ) )
+            // InternalSignalDSL.g:1964:3: ( rule__Number__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1940:3: ( rule__Number__Alternatives )
-            // InternalSignalDSL.g:1940:4: rule__Number__Alternatives
+            // InternalSignalDSL.g:1965:3: ( rule__Number__Alternatives )
+            // InternalSignalDSL.g:1965:4: rule__Number__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__Number__Alternatives();
@@ -6528,11 +6600,11 @@
 
 
     // $ANTLR start "entryRuleJvmTypeReference"
-    // InternalSignalDSL.g:1950:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ;
+    // InternalSignalDSL.g:1975:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ;
     public final void entryRuleJvmTypeReference() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1951:1: ( ruleJvmTypeReference EOF )
-            // InternalSignalDSL.g:1952:1: ruleJvmTypeReference EOF
+            // InternalSignalDSL.g:1976:1: ( ruleJvmTypeReference EOF )
+            // InternalSignalDSL.g:1977:1: ruleJvmTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceRule()); 
@@ -6562,23 +6634,23 @@
 
 
     // $ANTLR start "ruleJvmTypeReference"
-    // InternalSignalDSL.g:1959:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ;
+    // InternalSignalDSL.g:1984:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ;
     public final void ruleJvmTypeReference() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1963:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) )
-            // InternalSignalDSL.g:1964:2: ( ( rule__JvmTypeReference__Alternatives ) )
+            // InternalSignalDSL.g:1988:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) )
+            // InternalSignalDSL.g:1989:2: ( ( rule__JvmTypeReference__Alternatives ) )
             {
-            // InternalSignalDSL.g:1964:2: ( ( rule__JvmTypeReference__Alternatives ) )
-            // InternalSignalDSL.g:1965:3: ( rule__JvmTypeReference__Alternatives )
+            // InternalSignalDSL.g:1989:2: ( ( rule__JvmTypeReference__Alternatives ) )
+            // InternalSignalDSL.g:1990:3: ( rule__JvmTypeReference__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:1966:3: ( rule__JvmTypeReference__Alternatives )
-            // InternalSignalDSL.g:1966:4: rule__JvmTypeReference__Alternatives
+            // InternalSignalDSL.g:1991:3: ( rule__JvmTypeReference__Alternatives )
+            // InternalSignalDSL.g:1991:4: rule__JvmTypeReference__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Alternatives();
@@ -6613,11 +6685,11 @@
 
 
     // $ANTLR start "entryRuleArrayBrackets"
-    // InternalSignalDSL.g:1975:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ;
+    // InternalSignalDSL.g:2000:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ;
     public final void entryRuleArrayBrackets() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:1976:1: ( ruleArrayBrackets EOF )
-            // InternalSignalDSL.g:1977:1: ruleArrayBrackets EOF
+            // InternalSignalDSL.g:2001:1: ( ruleArrayBrackets EOF )
+            // InternalSignalDSL.g:2002:1: ruleArrayBrackets EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsRule()); 
@@ -6647,23 +6719,23 @@
 
 
     // $ANTLR start "ruleArrayBrackets"
-    // InternalSignalDSL.g:1984:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ;
+    // InternalSignalDSL.g:2009:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ;
     public final void ruleArrayBrackets() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:1988:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) )
-            // InternalSignalDSL.g:1989:2: ( ( rule__ArrayBrackets__Group__0 ) )
+            // InternalSignalDSL.g:2013:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) )
+            // InternalSignalDSL.g:2014:2: ( ( rule__ArrayBrackets__Group__0 ) )
             {
-            // InternalSignalDSL.g:1989:2: ( ( rule__ArrayBrackets__Group__0 ) )
-            // InternalSignalDSL.g:1990:3: ( rule__ArrayBrackets__Group__0 )
+            // InternalSignalDSL.g:2014:2: ( ( rule__ArrayBrackets__Group__0 ) )
+            // InternalSignalDSL.g:2015:3: ( rule__ArrayBrackets__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:1991:3: ( rule__ArrayBrackets__Group__0 )
-            // InternalSignalDSL.g:1991:4: rule__ArrayBrackets__Group__0
+            // InternalSignalDSL.g:2016:3: ( rule__ArrayBrackets__Group__0 )
+            // InternalSignalDSL.g:2016:4: rule__ArrayBrackets__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ArrayBrackets__Group__0();
@@ -6698,11 +6770,11 @@
 
 
     // $ANTLR start "entryRuleXFunctionTypeRef"
-    // InternalSignalDSL.g:2000:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ;
+    // InternalSignalDSL.g:2025:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ;
     public final void entryRuleXFunctionTypeRef() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2001:1: ( ruleXFunctionTypeRef EOF )
-            // InternalSignalDSL.g:2002:1: ruleXFunctionTypeRef EOF
+            // InternalSignalDSL.g:2026:1: ( ruleXFunctionTypeRef EOF )
+            // InternalSignalDSL.g:2027:1: ruleXFunctionTypeRef EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefRule()); 
@@ -6732,23 +6804,23 @@
 
 
     // $ANTLR start "ruleXFunctionTypeRef"
-    // InternalSignalDSL.g:2009:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ;
+    // InternalSignalDSL.g:2034:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ;
     public final void ruleXFunctionTypeRef() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2013:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) )
-            // InternalSignalDSL.g:2014:2: ( ( rule__XFunctionTypeRef__Group__0 ) )
+            // InternalSignalDSL.g:2038:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) )
+            // InternalSignalDSL.g:2039:2: ( ( rule__XFunctionTypeRef__Group__0 ) )
             {
-            // InternalSignalDSL.g:2014:2: ( ( rule__XFunctionTypeRef__Group__0 ) )
-            // InternalSignalDSL.g:2015:3: ( rule__XFunctionTypeRef__Group__0 )
+            // InternalSignalDSL.g:2039:2: ( ( rule__XFunctionTypeRef__Group__0 ) )
+            // InternalSignalDSL.g:2040:3: ( rule__XFunctionTypeRef__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2016:3: ( rule__XFunctionTypeRef__Group__0 )
-            // InternalSignalDSL.g:2016:4: rule__XFunctionTypeRef__Group__0
+            // InternalSignalDSL.g:2041:3: ( rule__XFunctionTypeRef__Group__0 )
+            // InternalSignalDSL.g:2041:4: rule__XFunctionTypeRef__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group__0();
@@ -6783,11 +6855,11 @@
 
 
     // $ANTLR start "entryRuleJvmParameterizedTypeReference"
-    // InternalSignalDSL.g:2025:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ;
+    // InternalSignalDSL.g:2050:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ;
     public final void entryRuleJvmParameterizedTypeReference() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2026:1: ( ruleJvmParameterizedTypeReference EOF )
-            // InternalSignalDSL.g:2027:1: ruleJvmParameterizedTypeReference EOF
+            // InternalSignalDSL.g:2051:1: ( ruleJvmParameterizedTypeReference EOF )
+            // InternalSignalDSL.g:2052:1: ruleJvmParameterizedTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceRule()); 
@@ -6817,23 +6889,23 @@
 
 
     // $ANTLR start "ruleJvmParameterizedTypeReference"
-    // InternalSignalDSL.g:2034:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ;
+    // InternalSignalDSL.g:2059:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ;
     public final void ruleJvmParameterizedTypeReference() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2038:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) )
-            // InternalSignalDSL.g:2039:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
+            // InternalSignalDSL.g:2063:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) )
+            // InternalSignalDSL.g:2064:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
             {
-            // InternalSignalDSL.g:2039:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
-            // InternalSignalDSL.g:2040:3: ( rule__JvmParameterizedTypeReference__Group__0 )
+            // InternalSignalDSL.g:2064:2: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
+            // InternalSignalDSL.g:2065:3: ( rule__JvmParameterizedTypeReference__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2041:3: ( rule__JvmParameterizedTypeReference__Group__0 )
-            // InternalSignalDSL.g:2041:4: rule__JvmParameterizedTypeReference__Group__0
+            // InternalSignalDSL.g:2066:3: ( rule__JvmParameterizedTypeReference__Group__0 )
+            // InternalSignalDSL.g:2066:4: rule__JvmParameterizedTypeReference__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group__0();
@@ -6868,11 +6940,11 @@
 
 
     // $ANTLR start "entryRuleJvmArgumentTypeReference"
-    // InternalSignalDSL.g:2050:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ;
+    // InternalSignalDSL.g:2075:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ;
     public final void entryRuleJvmArgumentTypeReference() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2051:1: ( ruleJvmArgumentTypeReference EOF )
-            // InternalSignalDSL.g:2052:1: ruleJvmArgumentTypeReference EOF
+            // InternalSignalDSL.g:2076:1: ( ruleJvmArgumentTypeReference EOF )
+            // InternalSignalDSL.g:2077:1: ruleJvmArgumentTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmArgumentTypeReferenceRule()); 
@@ -6902,23 +6974,23 @@
 
 
     // $ANTLR start "ruleJvmArgumentTypeReference"
-    // InternalSignalDSL.g:2059:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ;
+    // InternalSignalDSL.g:2084:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ;
     public final void ruleJvmArgumentTypeReference() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2063:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) )
-            // InternalSignalDSL.g:2064:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
+            // InternalSignalDSL.g:2088:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) )
+            // InternalSignalDSL.g:2089:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
             {
-            // InternalSignalDSL.g:2064:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
-            // InternalSignalDSL.g:2065:3: ( rule__JvmArgumentTypeReference__Alternatives )
+            // InternalSignalDSL.g:2089:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
+            // InternalSignalDSL.g:2090:3: ( rule__JvmArgumentTypeReference__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:2066:3: ( rule__JvmArgumentTypeReference__Alternatives )
-            // InternalSignalDSL.g:2066:4: rule__JvmArgumentTypeReference__Alternatives
+            // InternalSignalDSL.g:2091:3: ( rule__JvmArgumentTypeReference__Alternatives )
+            // InternalSignalDSL.g:2091:4: rule__JvmArgumentTypeReference__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__JvmArgumentTypeReference__Alternatives();
@@ -6953,11 +7025,11 @@
 
 
     // $ANTLR start "entryRuleJvmWildcardTypeReference"
-    // InternalSignalDSL.g:2075:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ;
+    // InternalSignalDSL.g:2100:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ;
     public final void entryRuleJvmWildcardTypeReference() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2076:1: ( ruleJvmWildcardTypeReference EOF )
-            // InternalSignalDSL.g:2077:1: ruleJvmWildcardTypeReference EOF
+            // InternalSignalDSL.g:2101:1: ( ruleJvmWildcardTypeReference EOF )
+            // InternalSignalDSL.g:2102:1: ruleJvmWildcardTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceRule()); 
@@ -6987,23 +7059,23 @@
 
 
     // $ANTLR start "ruleJvmWildcardTypeReference"
-    // InternalSignalDSL.g:2084:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ;
+    // InternalSignalDSL.g:2109:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ;
     public final void ruleJvmWildcardTypeReference() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2088:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) )
-            // InternalSignalDSL.g:2089:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
+            // InternalSignalDSL.g:2113:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) )
+            // InternalSignalDSL.g:2114:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
             {
-            // InternalSignalDSL.g:2089:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
-            // InternalSignalDSL.g:2090:3: ( rule__JvmWildcardTypeReference__Group__0 )
+            // InternalSignalDSL.g:2114:2: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
+            // InternalSignalDSL.g:2115:3: ( rule__JvmWildcardTypeReference__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2091:3: ( rule__JvmWildcardTypeReference__Group__0 )
-            // InternalSignalDSL.g:2091:4: rule__JvmWildcardTypeReference__Group__0
+            // InternalSignalDSL.g:2116:3: ( rule__JvmWildcardTypeReference__Group__0 )
+            // InternalSignalDSL.g:2116:4: rule__JvmWildcardTypeReference__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group__0();
@@ -7038,11 +7110,11 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBound"
-    // InternalSignalDSL.g:2100:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ;
+    // InternalSignalDSL.g:2125:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ;
     public final void entryRuleJvmUpperBound() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2101:1: ( ruleJvmUpperBound EOF )
-            // InternalSignalDSL.g:2102:1: ruleJvmUpperBound EOF
+            // InternalSignalDSL.g:2126:1: ( ruleJvmUpperBound EOF )
+            // InternalSignalDSL.g:2127:1: ruleJvmUpperBound EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundRule()); 
@@ -7072,23 +7144,23 @@
 
 
     // $ANTLR start "ruleJvmUpperBound"
-    // InternalSignalDSL.g:2109:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ;
+    // InternalSignalDSL.g:2134:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ;
     public final void ruleJvmUpperBound() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2113:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) )
-            // InternalSignalDSL.g:2114:2: ( ( rule__JvmUpperBound__Group__0 ) )
+            // InternalSignalDSL.g:2138:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) )
+            // InternalSignalDSL.g:2139:2: ( ( rule__JvmUpperBound__Group__0 ) )
             {
-            // InternalSignalDSL.g:2114:2: ( ( rule__JvmUpperBound__Group__0 ) )
-            // InternalSignalDSL.g:2115:3: ( rule__JvmUpperBound__Group__0 )
+            // InternalSignalDSL.g:2139:2: ( ( rule__JvmUpperBound__Group__0 ) )
+            // InternalSignalDSL.g:2140:3: ( rule__JvmUpperBound__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2116:3: ( rule__JvmUpperBound__Group__0 )
-            // InternalSignalDSL.g:2116:4: rule__JvmUpperBound__Group__0
+            // InternalSignalDSL.g:2141:3: ( rule__JvmUpperBound__Group__0 )
+            // InternalSignalDSL.g:2141:4: rule__JvmUpperBound__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBound__Group__0();
@@ -7123,11 +7195,11 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBoundAnded"
-    // InternalSignalDSL.g:2125:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ;
+    // InternalSignalDSL.g:2150:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ;
     public final void entryRuleJvmUpperBoundAnded() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2126:1: ( ruleJvmUpperBoundAnded EOF )
-            // InternalSignalDSL.g:2127:1: ruleJvmUpperBoundAnded EOF
+            // InternalSignalDSL.g:2151:1: ( ruleJvmUpperBoundAnded EOF )
+            // InternalSignalDSL.g:2152:1: ruleJvmUpperBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedRule()); 
@@ -7157,23 +7229,23 @@
 
 
     // $ANTLR start "ruleJvmUpperBoundAnded"
-    // InternalSignalDSL.g:2134:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ;
+    // InternalSignalDSL.g:2159:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ;
     public final void ruleJvmUpperBoundAnded() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2138:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) )
-            // InternalSignalDSL.g:2139:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
+            // InternalSignalDSL.g:2163:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) )
+            // InternalSignalDSL.g:2164:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
             {
-            // InternalSignalDSL.g:2139:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
-            // InternalSignalDSL.g:2140:3: ( rule__JvmUpperBoundAnded__Group__0 )
+            // InternalSignalDSL.g:2164:2: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
+            // InternalSignalDSL.g:2165:3: ( rule__JvmUpperBoundAnded__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2141:3: ( rule__JvmUpperBoundAnded__Group__0 )
-            // InternalSignalDSL.g:2141:4: rule__JvmUpperBoundAnded__Group__0
+            // InternalSignalDSL.g:2166:3: ( rule__JvmUpperBoundAnded__Group__0 )
+            // InternalSignalDSL.g:2166:4: rule__JvmUpperBoundAnded__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBoundAnded__Group__0();
@@ -7208,11 +7280,11 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBound"
-    // InternalSignalDSL.g:2150:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ;
+    // InternalSignalDSL.g:2175:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ;
     public final void entryRuleJvmLowerBound() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2151:1: ( ruleJvmLowerBound EOF )
-            // InternalSignalDSL.g:2152:1: ruleJvmLowerBound EOF
+            // InternalSignalDSL.g:2176:1: ( ruleJvmLowerBound EOF )
+            // InternalSignalDSL.g:2177:1: ruleJvmLowerBound EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundRule()); 
@@ -7242,23 +7314,23 @@
 
 
     // $ANTLR start "ruleJvmLowerBound"
-    // InternalSignalDSL.g:2159:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ;
+    // InternalSignalDSL.g:2184:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ;
     public final void ruleJvmLowerBound() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2163:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) )
-            // InternalSignalDSL.g:2164:2: ( ( rule__JvmLowerBound__Group__0 ) )
+            // InternalSignalDSL.g:2188:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) )
+            // InternalSignalDSL.g:2189:2: ( ( rule__JvmLowerBound__Group__0 ) )
             {
-            // InternalSignalDSL.g:2164:2: ( ( rule__JvmLowerBound__Group__0 ) )
-            // InternalSignalDSL.g:2165:3: ( rule__JvmLowerBound__Group__0 )
+            // InternalSignalDSL.g:2189:2: ( ( rule__JvmLowerBound__Group__0 ) )
+            // InternalSignalDSL.g:2190:3: ( rule__JvmLowerBound__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2166:3: ( rule__JvmLowerBound__Group__0 )
-            // InternalSignalDSL.g:2166:4: rule__JvmLowerBound__Group__0
+            // InternalSignalDSL.g:2191:3: ( rule__JvmLowerBound__Group__0 )
+            // InternalSignalDSL.g:2191:4: rule__JvmLowerBound__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBound__Group__0();
@@ -7293,11 +7365,11 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBoundAnded"
-    // InternalSignalDSL.g:2175:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ;
+    // InternalSignalDSL.g:2200:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ;
     public final void entryRuleJvmLowerBoundAnded() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2176:1: ( ruleJvmLowerBoundAnded EOF )
-            // InternalSignalDSL.g:2177:1: ruleJvmLowerBoundAnded EOF
+            // InternalSignalDSL.g:2201:1: ( ruleJvmLowerBoundAnded EOF )
+            // InternalSignalDSL.g:2202:1: ruleJvmLowerBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedRule()); 
@@ -7327,23 +7399,23 @@
 
 
     // $ANTLR start "ruleJvmLowerBoundAnded"
-    // InternalSignalDSL.g:2184:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ;
+    // InternalSignalDSL.g:2209:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ;
     public final void ruleJvmLowerBoundAnded() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2188:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) )
-            // InternalSignalDSL.g:2189:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
+            // InternalSignalDSL.g:2213:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) )
+            // InternalSignalDSL.g:2214:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
             {
-            // InternalSignalDSL.g:2189:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
-            // InternalSignalDSL.g:2190:3: ( rule__JvmLowerBoundAnded__Group__0 )
+            // InternalSignalDSL.g:2214:2: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
+            // InternalSignalDSL.g:2215:3: ( rule__JvmLowerBoundAnded__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2191:3: ( rule__JvmLowerBoundAnded__Group__0 )
-            // InternalSignalDSL.g:2191:4: rule__JvmLowerBoundAnded__Group__0
+            // InternalSignalDSL.g:2216:3: ( rule__JvmLowerBoundAnded__Group__0 )
+            // InternalSignalDSL.g:2216:4: rule__JvmLowerBoundAnded__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBoundAnded__Group__0();
@@ -7378,11 +7450,11 @@
 
 
     // $ANTLR start "entryRuleQualifiedNameWithWildcard"
-    // InternalSignalDSL.g:2200:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
+    // InternalSignalDSL.g:2225:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
     public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2201:1: ( ruleQualifiedNameWithWildcard EOF )
-            // InternalSignalDSL.g:2202:1: ruleQualifiedNameWithWildcard EOF
+            // InternalSignalDSL.g:2226:1: ( ruleQualifiedNameWithWildcard EOF )
+            // InternalSignalDSL.g:2227:1: ruleQualifiedNameWithWildcard EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardRule()); 
@@ -7412,23 +7484,23 @@
 
 
     // $ANTLR start "ruleQualifiedNameWithWildcard"
-    // InternalSignalDSL.g:2209:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
+    // InternalSignalDSL.g:2234:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
     public final void ruleQualifiedNameWithWildcard() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2213:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
-            // InternalSignalDSL.g:2214:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
+            // InternalSignalDSL.g:2238:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
+            // InternalSignalDSL.g:2239:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
             {
-            // InternalSignalDSL.g:2214:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
-            // InternalSignalDSL.g:2215:3: ( rule__QualifiedNameWithWildcard__Group__0 )
+            // InternalSignalDSL.g:2239:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
+            // InternalSignalDSL.g:2240:3: ( rule__QualifiedNameWithWildcard__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2216:3: ( rule__QualifiedNameWithWildcard__Group__0 )
-            // InternalSignalDSL.g:2216:4: rule__QualifiedNameWithWildcard__Group__0
+            // InternalSignalDSL.g:2241:3: ( rule__QualifiedNameWithWildcard__Group__0 )
+            // InternalSignalDSL.g:2241:4: rule__QualifiedNameWithWildcard__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedNameWithWildcard__Group__0();
@@ -7463,11 +7535,11 @@
 
 
     // $ANTLR start "entryRuleValidID"
-    // InternalSignalDSL.g:2225:1: entryRuleValidID : ruleValidID EOF ;
+    // InternalSignalDSL.g:2250:1: entryRuleValidID : ruleValidID EOF ;
     public final void entryRuleValidID() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2226:1: ( ruleValidID EOF )
-            // InternalSignalDSL.g:2227:1: ruleValidID EOF
+            // InternalSignalDSL.g:2251:1: ( ruleValidID EOF )
+            // InternalSignalDSL.g:2252:1: ruleValidID EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getValidIDRule()); 
@@ -7497,17 +7569,17 @@
 
 
     // $ANTLR start "ruleValidID"
-    // InternalSignalDSL.g:2234:1: ruleValidID : ( RULE_ID ) ;
+    // InternalSignalDSL.g:2259:1: ruleValidID : ( RULE_ID ) ;
     public final void ruleValidID() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2238:2: ( ( RULE_ID ) )
-            // InternalSignalDSL.g:2239:2: ( RULE_ID )
+            // InternalSignalDSL.g:2263:2: ( ( RULE_ID ) )
+            // InternalSignalDSL.g:2264:2: ( RULE_ID )
             {
-            // InternalSignalDSL.g:2239:2: ( RULE_ID )
-            // InternalSignalDSL.g:2240:3: RULE_ID
+            // InternalSignalDSL.g:2264:2: ( RULE_ID )
+            // InternalSignalDSL.g:2265:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); 
@@ -7538,11 +7610,11 @@
 
 
     // $ANTLR start "entryRuleXImportSection"
-    // InternalSignalDSL.g:2250:1: entryRuleXImportSection : ruleXImportSection EOF ;
+    // InternalSignalDSL.g:2275:1: entryRuleXImportSection : ruleXImportSection EOF ;
     public final void entryRuleXImportSection() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2251:1: ( ruleXImportSection EOF )
-            // InternalSignalDSL.g:2252:1: ruleXImportSection EOF
+            // InternalSignalDSL.g:2276:1: ( ruleXImportSection EOF )
+            // InternalSignalDSL.g:2277:1: ruleXImportSection EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportSectionRule()); 
@@ -7572,26 +7644,26 @@
 
 
     // $ANTLR start "ruleXImportSection"
-    // InternalSignalDSL.g:2259:1: ruleXImportSection : ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) ) ;
+    // InternalSignalDSL.g:2284:1: ruleXImportSection : ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) ) ;
     public final void ruleXImportSection() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2263:2: ( ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) ) )
-            // InternalSignalDSL.g:2264:2: ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) )
+            // InternalSignalDSL.g:2288:2: ( ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) ) )
+            // InternalSignalDSL.g:2289:2: ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) )
             {
-            // InternalSignalDSL.g:2264:2: ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) )
-            // InternalSignalDSL.g:2265:3: ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* )
+            // InternalSignalDSL.g:2289:2: ( ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* ) )
+            // InternalSignalDSL.g:2290:3: ( ( rule__XImportSection__ImportDeclarationsAssignment ) ) ( ( rule__XImportSection__ImportDeclarationsAssignment )* )
             {
-            // InternalSignalDSL.g:2265:3: ( ( rule__XImportSection__ImportDeclarationsAssignment ) )
-            // InternalSignalDSL.g:2266:4: ( rule__XImportSection__ImportDeclarationsAssignment )
+            // InternalSignalDSL.g:2290:3: ( ( rule__XImportSection__ImportDeclarationsAssignment ) )
+            // InternalSignalDSL.g:2291:4: ( rule__XImportSection__ImportDeclarationsAssignment )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment()); 
             }
-            // InternalSignalDSL.g:2267:4: ( rule__XImportSection__ImportDeclarationsAssignment )
-            // InternalSignalDSL.g:2267:5: rule__XImportSection__ImportDeclarationsAssignment
+            // InternalSignalDSL.g:2292:4: ( rule__XImportSection__ImportDeclarationsAssignment )
+            // InternalSignalDSL.g:2292:5: rule__XImportSection__ImportDeclarationsAssignment
             {
             pushFollow(FOLLOW_3);
             rule__XImportSection__ImportDeclarationsAssignment();
@@ -7607,13 +7679,13 @@
 
             }
 
-            // InternalSignalDSL.g:2270:3: ( ( rule__XImportSection__ImportDeclarationsAssignment )* )
-            // InternalSignalDSL.g:2271:4: ( rule__XImportSection__ImportDeclarationsAssignment )*
+            // InternalSignalDSL.g:2295:3: ( ( rule__XImportSection__ImportDeclarationsAssignment )* )
+            // InternalSignalDSL.g:2296:4: ( rule__XImportSection__ImportDeclarationsAssignment )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment()); 
             }
-            // InternalSignalDSL.g:2272:4: ( rule__XImportSection__ImportDeclarationsAssignment )*
+            // InternalSignalDSL.g:2297:4: ( rule__XImportSection__ImportDeclarationsAssignment )*
             loop1:
             do {
                 int alt1=2;
@@ -7626,7 +7698,7 @@
 
                 switch (alt1) {
             	case 1 :
-            	    // InternalSignalDSL.g:2272:5: rule__XImportSection__ImportDeclarationsAssignment
+            	    // InternalSignalDSL.g:2297:5: rule__XImportSection__ImportDeclarationsAssignment
             	    {
             	    pushFollow(FOLLOW_3);
             	    rule__XImportSection__ImportDeclarationsAssignment();
@@ -7670,11 +7742,11 @@
 
 
     // $ANTLR start "entryRuleQualifiedNameInStaticImport"
-    // InternalSignalDSL.g:2282:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ;
+    // InternalSignalDSL.g:2307:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ;
     public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException {
         try {
-            // InternalSignalDSL.g:2283:1: ( ruleQualifiedNameInStaticImport EOF )
-            // InternalSignalDSL.g:2284:1: ruleQualifiedNameInStaticImport EOF
+            // InternalSignalDSL.g:2308:1: ( ruleQualifiedNameInStaticImport EOF )
+            // InternalSignalDSL.g:2309:1: ruleQualifiedNameInStaticImport EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportRule()); 
@@ -7704,26 +7776,26 @@
 
 
     // $ANTLR start "ruleQualifiedNameInStaticImport"
-    // InternalSignalDSL.g:2291:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ;
+    // InternalSignalDSL.g:2316:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ;
     public final void ruleQualifiedNameInStaticImport() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2295:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) )
-            // InternalSignalDSL.g:2296:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
+            // InternalSignalDSL.g:2320:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) )
+            // InternalSignalDSL.g:2321:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
             {
-            // InternalSignalDSL.g:2296:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
-            // InternalSignalDSL.g:2297:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
+            // InternalSignalDSL.g:2321:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
+            // InternalSignalDSL.g:2322:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
             {
-            // InternalSignalDSL.g:2297:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) )
-            // InternalSignalDSL.g:2298:4: ( rule__QualifiedNameInStaticImport__Group__0 )
+            // InternalSignalDSL.g:2322:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) )
+            // InternalSignalDSL.g:2323:4: ( rule__QualifiedNameInStaticImport__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2299:4: ( rule__QualifiedNameInStaticImport__Group__0 )
-            // InternalSignalDSL.g:2299:5: rule__QualifiedNameInStaticImport__Group__0
+            // InternalSignalDSL.g:2324:4: ( rule__QualifiedNameInStaticImport__Group__0 )
+            // InternalSignalDSL.g:2324:5: rule__QualifiedNameInStaticImport__Group__0
             {
             pushFollow(FOLLOW_4);
             rule__QualifiedNameInStaticImport__Group__0();
@@ -7739,13 +7811,13 @@
 
             }
 
-            // InternalSignalDSL.g:2302:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
-            // InternalSignalDSL.g:2303:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
+            // InternalSignalDSL.g:2327:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
+            // InternalSignalDSL.g:2328:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); 
             }
-            // InternalSignalDSL.g:2304:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
+            // InternalSignalDSL.g:2329:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
             loop2:
             do {
                 int alt2=2;
@@ -7764,7 +7836,7 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // InternalSignalDSL.g:2304:5: rule__QualifiedNameInStaticImport__Group__0
+            	    // InternalSignalDSL.g:2329:5: rule__QualifiedNameInStaticImport__Group__0
             	    {
             	    pushFollow(FOLLOW_4);
             	    rule__QualifiedNameInStaticImport__Group__0();
@@ -7808,23 +7880,23 @@
 
 
     // $ANTLR start "ruleSignalActionEnum"
-    // InternalSignalDSL.g:2314:1: ruleSignalActionEnum : ( ( rule__SignalActionEnum__Alternatives ) ) ;
+    // InternalSignalDSL.g:2339:1: ruleSignalActionEnum : ( ( rule__SignalActionEnum__Alternatives ) ) ;
     public final void ruleSignalActionEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2318:1: ( ( ( rule__SignalActionEnum__Alternatives ) ) )
-            // InternalSignalDSL.g:2319:2: ( ( rule__SignalActionEnum__Alternatives ) )
+            // InternalSignalDSL.g:2343:1: ( ( ( rule__SignalActionEnum__Alternatives ) ) )
+            // InternalSignalDSL.g:2344:2: ( ( rule__SignalActionEnum__Alternatives ) )
             {
-            // InternalSignalDSL.g:2319:2: ( ( rule__SignalActionEnum__Alternatives ) )
-            // InternalSignalDSL.g:2320:3: ( rule__SignalActionEnum__Alternatives )
+            // InternalSignalDSL.g:2344:2: ( ( rule__SignalActionEnum__Alternatives ) )
+            // InternalSignalDSL.g:2345:3: ( rule__SignalActionEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalActionEnumAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:2321:3: ( rule__SignalActionEnum__Alternatives )
-            // InternalSignalDSL.g:2321:4: rule__SignalActionEnum__Alternatives
+            // InternalSignalDSL.g:2346:3: ( rule__SignalActionEnum__Alternatives )
+            // InternalSignalDSL.g:2346:4: rule__SignalActionEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__SignalActionEnum__Alternatives();
@@ -7859,23 +7931,23 @@
 
 
     // $ANTLR start "ruleSignalTypeEnum"
-    // InternalSignalDSL.g:2330:1: ruleSignalTypeEnum : ( ( rule__SignalTypeEnum__Alternatives ) ) ;
+    // InternalSignalDSL.g:2355:1: ruleSignalTypeEnum : ( ( rule__SignalTypeEnum__Alternatives ) ) ;
     public final void ruleSignalTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2334:1: ( ( ( rule__SignalTypeEnum__Alternatives ) ) )
-            // InternalSignalDSL.g:2335:2: ( ( rule__SignalTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2359:1: ( ( ( rule__SignalTypeEnum__Alternatives ) ) )
+            // InternalSignalDSL.g:2360:2: ( ( rule__SignalTypeEnum__Alternatives ) )
             {
-            // InternalSignalDSL.g:2335:2: ( ( rule__SignalTypeEnum__Alternatives ) )
-            // InternalSignalDSL.g:2336:3: ( rule__SignalTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2360:2: ( ( rule__SignalTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2361:3: ( rule__SignalTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalTypeEnumAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:2337:3: ( rule__SignalTypeEnum__Alternatives )
-            // InternalSignalDSL.g:2337:4: rule__SignalTypeEnum__Alternatives
+            // InternalSignalDSL.g:2362:3: ( rule__SignalTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2362:4: rule__SignalTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__SignalTypeEnum__Alternatives();
@@ -7910,23 +7982,23 @@
 
 
     // $ANTLR start "ruleSignalHandlerTypeEnum"
-    // InternalSignalDSL.g:2346:1: ruleSignalHandlerTypeEnum : ( ( rule__SignalHandlerTypeEnum__Alternatives ) ) ;
+    // InternalSignalDSL.g:2371:1: ruleSignalHandlerTypeEnum : ( ( rule__SignalHandlerTypeEnum__Alternatives ) ) ;
     public final void ruleSignalHandlerTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2350:1: ( ( ( rule__SignalHandlerTypeEnum__Alternatives ) ) )
-            // InternalSignalDSL.g:2351:2: ( ( rule__SignalHandlerTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2375:1: ( ( ( rule__SignalHandlerTypeEnum__Alternatives ) ) )
+            // InternalSignalDSL.g:2376:2: ( ( rule__SignalHandlerTypeEnum__Alternatives ) )
             {
-            // InternalSignalDSL.g:2351:2: ( ( rule__SignalHandlerTypeEnum__Alternatives ) )
-            // InternalSignalDSL.g:2352:3: ( rule__SignalHandlerTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2376:2: ( ( rule__SignalHandlerTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2377:3: ( rule__SignalHandlerTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerTypeEnumAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:2353:3: ( rule__SignalHandlerTypeEnum__Alternatives )
-            // InternalSignalDSL.g:2353:4: rule__SignalHandlerTypeEnum__Alternatives
+            // InternalSignalDSL.g:2378:3: ( rule__SignalHandlerTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2378:4: rule__SignalHandlerTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandlerTypeEnum__Alternatives();
@@ -7961,23 +8033,23 @@
 
 
     // $ANTLR start "ruleSignalExecutionTypeEnum"
-    // InternalSignalDSL.g:2362:1: ruleSignalExecutionTypeEnum : ( ( rule__SignalExecutionTypeEnum__Alternatives ) ) ;
+    // InternalSignalDSL.g:2387:1: ruleSignalExecutionTypeEnum : ( ( rule__SignalExecutionTypeEnum__Alternatives ) ) ;
     public final void ruleSignalExecutionTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2366:1: ( ( ( rule__SignalExecutionTypeEnum__Alternatives ) ) )
-            // InternalSignalDSL.g:2367:2: ( ( rule__SignalExecutionTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2391:1: ( ( ( rule__SignalExecutionTypeEnum__Alternatives ) ) )
+            // InternalSignalDSL.g:2392:2: ( ( rule__SignalExecutionTypeEnum__Alternatives ) )
             {
-            // InternalSignalDSL.g:2367:2: ( ( rule__SignalExecutionTypeEnum__Alternatives ) )
-            // InternalSignalDSL.g:2368:3: ( rule__SignalExecutionTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2392:2: ( ( rule__SignalExecutionTypeEnum__Alternatives ) )
+            // InternalSignalDSL.g:2393:3: ( rule__SignalExecutionTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalExecutionTypeEnumAccess().getAlternatives()); 
             }
-            // InternalSignalDSL.g:2369:3: ( rule__SignalExecutionTypeEnum__Alternatives )
-            // InternalSignalDSL.g:2369:4: rule__SignalExecutionTypeEnum__Alternatives
+            // InternalSignalDSL.g:2394:3: ( rule__SignalExecutionTypeEnum__Alternatives )
+            // InternalSignalDSL.g:2394:4: rule__SignalExecutionTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__SignalExecutionTypeEnum__Alternatives();
@@ -8012,20 +8084,20 @@
 
 
     // $ANTLR start "rule__DataTransfer__Alternatives"
-    // InternalSignalDSL.g:2377:1: rule__DataTransfer__Alternatives : ( ( ruleSingleTransfer ) | ( ruleListTransfer ) );
+    // InternalSignalDSL.g:2402:1: rule__DataTransfer__Alternatives : ( ( ruleSingleTransfer ) | ( ruleListTransfer ) );
     public final void rule__DataTransfer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2381:1: ( ( ruleSingleTransfer ) | ( ruleListTransfer ) )
+            // InternalSignalDSL.g:2406:1: ( ( ruleSingleTransfer ) | ( ruleListTransfer ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
             if ( ((LA3_0>=51 && LA3_0<=52)) ) {
                 alt3=1;
             }
-            else if ( (LA3_0==71) ) {
+            else if ( (LA3_0==67) ) {
                 alt3=2;
             }
             else {
@@ -8037,10 +8109,10 @@
             }
             switch (alt3) {
                 case 1 :
-                    // InternalSignalDSL.g:2382:2: ( ruleSingleTransfer )
+                    // InternalSignalDSL.g:2407:2: ( ruleSingleTransfer )
                     {
-                    // InternalSignalDSL.g:2382:2: ( ruleSingleTransfer )
-                    // InternalSignalDSL.g:2383:3: ruleSingleTransfer
+                    // InternalSignalDSL.g:2407:2: ( ruleSingleTransfer )
+                    // InternalSignalDSL.g:2408:3: ruleSingleTransfer
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTransferAccess().getSingleTransferParserRuleCall_0()); 
@@ -8060,10 +8132,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2388:2: ( ruleListTransfer )
+                    // InternalSignalDSL.g:2413:2: ( ruleListTransfer )
                     {
-                    // InternalSignalDSL.g:2388:2: ( ruleListTransfer )
-                    // InternalSignalDSL.g:2389:3: ruleListTransfer
+                    // InternalSignalDSL.g:2413:2: ( ruleListTransfer )
+                    // InternalSignalDSL.g:2414:3: ruleListTransfer
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTransferAccess().getListTransferParserRuleCall_1()); 
@@ -8100,27 +8172,27 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Alternatives_2"
-    // InternalSignalDSL.g:2398:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );
+    // InternalSignalDSL.g:2423:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );
     public final void rule__XImportDeclaration__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2402:1: ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) )
+            // InternalSignalDSL.g:2427:1: ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) )
             int alt4=4;
             alt4 = dfa4.predict(input);
             switch (alt4) {
                 case 1 :
-                    // InternalSignalDSL.g:2403:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:2428:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2403:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
-                    // InternalSignalDSL.g:2404:3: ( rule__XImportDeclaration__Group_2_0__0 )
+                    // InternalSignalDSL.g:2428:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:2429:3: ( rule__XImportDeclaration__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getGroup_2_0()); 
                     }
-                    // InternalSignalDSL.g:2405:3: ( rule__XImportDeclaration__Group_2_0__0 )
-                    // InternalSignalDSL.g:2405:4: rule__XImportDeclaration__Group_2_0__0
+                    // InternalSignalDSL.g:2430:3: ( rule__XImportDeclaration__Group_2_0__0 )
+                    // InternalSignalDSL.g:2430:4: rule__XImportDeclaration__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__Group_2_0__0();
@@ -8140,16 +8212,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2409:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
+                    // InternalSignalDSL.g:2434:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
                     {
-                    // InternalSignalDSL.g:2409:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
-                    // InternalSignalDSL.g:2410:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
+                    // InternalSignalDSL.g:2434:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
+                    // InternalSignalDSL.g:2435:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_1()); 
                     }
-                    // InternalSignalDSL.g:2411:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
-                    // InternalSignalDSL.g:2411:4: rule__XImportDeclaration__ImportedTypeAssignment_2_1
+                    // InternalSignalDSL.g:2436:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
+                    // InternalSignalDSL.g:2436:4: rule__XImportDeclaration__ImportedTypeAssignment_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ImportedTypeAssignment_2_1();
@@ -8169,16 +8241,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2415:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
+                    // InternalSignalDSL.g:2440:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
                     {
-                    // InternalSignalDSL.g:2415:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
-                    // InternalSignalDSL.g:2416:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
+                    // InternalSignalDSL.g:2440:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
+                    // InternalSignalDSL.g:2441:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_2_2()); 
                     }
-                    // InternalSignalDSL.g:2417:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
-                    // InternalSignalDSL.g:2417:4: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2
+                    // InternalSignalDSL.g:2442:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
+                    // InternalSignalDSL.g:2442:4: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ImportedNamespaceAssignment_2_2();
@@ -8198,16 +8270,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2421:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
+                    // InternalSignalDSL.g:2446:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
                     {
-                    // InternalSignalDSL.g:2421:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
-                    // InternalSignalDSL.g:2422:3: ( rule__XImportDeclaration__Group_2_3__0 )
+                    // InternalSignalDSL.g:2446:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
+                    // InternalSignalDSL.g:2447:3: ( rule__XImportDeclaration__Group_2_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getGroup_2_3()); 
                     }
-                    // InternalSignalDSL.g:2423:3: ( rule__XImportDeclaration__Group_2_3__0 )
-                    // InternalSignalDSL.g:2423:4: rule__XImportDeclaration__Group_2_3__0
+                    // InternalSignalDSL.g:2448:3: ( rule__XImportDeclaration__Group_2_3__0 )
+                    // InternalSignalDSL.g:2448:4: rule__XImportDeclaration__Group_2_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__Group_2_3__0();
@@ -8244,13 +8316,13 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Alternatives_2_0_3"
-    // InternalSignalDSL.g:2431:1: rule__XImportDeclaration__Alternatives_2_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) );
+    // InternalSignalDSL.g:2456:1: rule__XImportDeclaration__Alternatives_2_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) );
     public final void rule__XImportDeclaration__Alternatives_2_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2435:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) )
+            // InternalSignalDSL.g:2460:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -8269,16 +8341,16 @@
             }
             switch (alt5) {
                 case 1 :
-                    // InternalSignalDSL.g:2436:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
+                    // InternalSignalDSL.g:2461:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
                     {
-                    // InternalSignalDSL.g:2436:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
-                    // InternalSignalDSL.g:2437:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
+                    // InternalSignalDSL.g:2461:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
+                    // InternalSignalDSL.g:2462:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_2_0_3_0()); 
                     }
-                    // InternalSignalDSL.g:2438:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
-                    // InternalSignalDSL.g:2438:4: rule__XImportDeclaration__WildcardAssignment_2_0_3_0
+                    // InternalSignalDSL.g:2463:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
+                    // InternalSignalDSL.g:2463:4: rule__XImportDeclaration__WildcardAssignment_2_0_3_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__WildcardAssignment_2_0_3_0();
@@ -8298,16 +8370,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2442:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
+                    // InternalSignalDSL.g:2467:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
                     {
-                    // InternalSignalDSL.g:2442:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
-                    // InternalSignalDSL.g:2443:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
+                    // InternalSignalDSL.g:2467:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
+                    // InternalSignalDSL.g:2468:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_2_0_3_1()); 
                     }
-                    // InternalSignalDSL.g:2444:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
-                    // InternalSignalDSL.g:2444:4: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1
+                    // InternalSignalDSL.g:2469:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
+                    // InternalSignalDSL.g:2469:4: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__MemberNameAssignment_2_0_3_1();
@@ -8344,27 +8416,27 @@
 
 
     // $ANTLR start "rule__XAnnotation__Alternatives_3_1"
-    // InternalSignalDSL.g:2452:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );
+    // InternalSignalDSL.g:2477:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );
     public final void rule__XAnnotation__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2456:1: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) )
+            // InternalSignalDSL.g:2481:1: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) )
             int alt6=2;
             alt6 = dfa6.predict(input);
             switch (alt6) {
                 case 1 :
-                    // InternalSignalDSL.g:2457:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+                    // InternalSignalDSL.g:2482:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2457:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
-                    // InternalSignalDSL.g:2458:3: ( rule__XAnnotation__Group_3_1_0__0 )
+                    // InternalSignalDSL.g:2482:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+                    // InternalSignalDSL.g:2483:3: ( rule__XAnnotation__Group_3_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); 
                     }
-                    // InternalSignalDSL.g:2459:3: ( rule__XAnnotation__Group_3_1_0__0 )
-                    // InternalSignalDSL.g:2459:4: rule__XAnnotation__Group_3_1_0__0
+                    // InternalSignalDSL.g:2484:3: ( rule__XAnnotation__Group_3_1_0__0 )
+                    // InternalSignalDSL.g:2484:4: rule__XAnnotation__Group_3_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Group_3_1_0__0();
@@ -8384,16 +8456,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2463:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+                    // InternalSignalDSL.g:2488:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
                     {
-                    // InternalSignalDSL.g:2463:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
-                    // InternalSignalDSL.g:2464:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+                    // InternalSignalDSL.g:2488:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+                    // InternalSignalDSL.g:2489:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); 
                     }
-                    // InternalSignalDSL.g:2465:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
-                    // InternalSignalDSL.g:2465:4: rule__XAnnotation__ValueAssignment_3_1_1
+                    // InternalSignalDSL.g:2490:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+                    // InternalSignalDSL.g:2490:4: rule__XAnnotation__ValueAssignment_3_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__ValueAssignment_3_1_1();
@@ -8430,27 +8502,27 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Alternatives"
-    // InternalSignalDSL.g:2473:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );
+    // InternalSignalDSL.g:2498:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );
     public final void rule__XAnnotationElementValueOrCommaList__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2477:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) )
+            // InternalSignalDSL.g:2502:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) )
             int alt7=2;
             alt7 = dfa7.predict(input);
             switch (alt7) {
                 case 1 :
-                    // InternalSignalDSL.g:2478:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+                    // InternalSignalDSL.g:2503:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2478:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
-                    // InternalSignalDSL.g:2479:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+                    // InternalSignalDSL.g:2503:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+                    // InternalSignalDSL.g:2504:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); 
                     }
-                    // InternalSignalDSL.g:2480:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
-                    // InternalSignalDSL.g:2480:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
+                    // InternalSignalDSL.g:2505:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+                    // InternalSignalDSL.g:2505:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_0__0();
@@ -8470,16 +8542,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2484:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+                    // InternalSignalDSL.g:2509:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
                     {
-                    // InternalSignalDSL.g:2484:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
-                    // InternalSignalDSL.g:2485:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+                    // InternalSignalDSL.g:2509:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+                    // InternalSignalDSL.g:2510:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); 
                     }
-                    // InternalSignalDSL.g:2486:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
-                    // InternalSignalDSL.g:2486:4: rule__XAnnotationElementValueOrCommaList__Group_1__0
+                    // InternalSignalDSL.g:2511:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+                    // InternalSignalDSL.g:2511:4: rule__XAnnotationElementValueOrCommaList__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_1__0();
@@ -8516,27 +8588,27 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Alternatives"
-    // InternalSignalDSL.g:2494:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );
+    // InternalSignalDSL.g:2519:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );
     public final void rule__XAnnotationElementValue__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2498:1: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:2523:1: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) )
             int alt8=2;
             alt8 = dfa8.predict(input);
             switch (alt8) {
                 case 1 :
-                    // InternalSignalDSL.g:2499:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+                    // InternalSignalDSL.g:2524:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2499:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
-                    // InternalSignalDSL.g:2500:3: ( rule__XAnnotationElementValue__Group_0__0 )
+                    // InternalSignalDSL.g:2524:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+                    // InternalSignalDSL.g:2525:3: ( rule__XAnnotationElementValue__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); 
                     }
-                    // InternalSignalDSL.g:2501:3: ( rule__XAnnotationElementValue__Group_0__0 )
-                    // InternalSignalDSL.g:2501:4: rule__XAnnotationElementValue__Group_0__0
+                    // InternalSignalDSL.g:2526:3: ( rule__XAnnotationElementValue__Group_0__0 )
+                    // InternalSignalDSL.g:2526:4: rule__XAnnotationElementValue__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValue__Group_0__0();
@@ -8556,10 +8628,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2505:2: ( ruleXAnnotationOrExpression )
+                    // InternalSignalDSL.g:2530:2: ( ruleXAnnotationOrExpression )
                     {
-                    // InternalSignalDSL.g:2505:2: ( ruleXAnnotationOrExpression )
-                    // InternalSignalDSL.g:2506:3: ruleXAnnotationOrExpression
+                    // InternalSignalDSL.g:2530:2: ( ruleXAnnotationOrExpression )
+                    // InternalSignalDSL.g:2531:3: ruleXAnnotationOrExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); 
@@ -8596,20 +8668,20 @@
 
 
     // $ANTLR start "rule__XAnnotationOrExpression__Alternatives"
-    // InternalSignalDSL.g:2515:1: rule__XAnnotationOrExpression__Alternatives : ( ( ruleXAnnotation ) | ( ruleXExpression ) );
+    // InternalSignalDSL.g:2540:1: rule__XAnnotationOrExpression__Alternatives : ( ( ruleXAnnotation ) | ( ruleXExpression ) );
     public final void rule__XAnnotationOrExpression__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2519:1: ( ( ruleXAnnotation ) | ( ruleXExpression ) )
+            // InternalSignalDSL.g:2544:1: ( ( ruleXAnnotation ) | ( ruleXExpression ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==73) ) {
+            if ( (LA9_0==70) ) {
                 alt9=1;
             }
-            else if ( ((LA9_0>=RULE_ID && LA9_0<=RULE_STRING)||LA9_0==27||(LA9_0>=34 && LA9_0<=35)||LA9_0==40||(LA9_0>=45 && LA9_0<=50)||LA9_0==64||LA9_0==68||LA9_0==74||(LA9_0>=78 && LA9_0<=79)||LA9_0==82||LA9_0==84||(LA9_0>=88 && LA9_0<=95)||LA9_0==97||LA9_0==106) ) {
+            else if ( ((LA9_0>=RULE_ID && LA9_0<=RULE_STRING)||LA9_0==27||(LA9_0>=34 && LA9_0<=35)||LA9_0==40||(LA9_0>=45 && LA9_0<=50)||LA9_0==60||LA9_0==64||LA9_0==71||(LA9_0>=75 && LA9_0<=76)||LA9_0==79||LA9_0==81||(LA9_0>=85 && LA9_0<=92)||LA9_0==94||LA9_0==103) ) {
                 alt9=2;
             }
             else {
@@ -8621,10 +8693,10 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalSignalDSL.g:2520:2: ( ruleXAnnotation )
+                    // InternalSignalDSL.g:2545:2: ( ruleXAnnotation )
                     {
-                    // InternalSignalDSL.g:2520:2: ( ruleXAnnotation )
-                    // InternalSignalDSL.g:2521:3: ruleXAnnotation
+                    // InternalSignalDSL.g:2545:2: ( ruleXAnnotation )
+                    // InternalSignalDSL.g:2546:3: ruleXAnnotation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); 
@@ -8644,10 +8716,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2526:2: ( ruleXExpression )
+                    // InternalSignalDSL.g:2551:2: ( ruleXExpression )
                     {
-                    // InternalSignalDSL.g:2526:2: ( ruleXExpression )
-                    // InternalSignalDSL.g:2527:3: ruleXExpression
+                    // InternalSignalDSL.g:2551:2: ( ruleXExpression )
+                    // InternalSignalDSL.g:2552:3: ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); 
@@ -8684,25 +8756,25 @@
 
 
     // $ANTLR start "rule__XAssignment__Alternatives"
-    // InternalSignalDSL.g:2536:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) );
+    // InternalSignalDSL.g:2561:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) );
     public final void rule__XAssignment__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2540:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) )
+            // InternalSignalDSL.g:2565:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) )
             int alt10=2;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
                 int LA10_1 = input.LA(2);
 
-                if ( (LA10_1==13) ) {
-                    alt10=1;
-                }
-                else if ( (LA10_1==EOF||(LA10_1>=RULE_ID && LA10_1<=RULE_STRING)||(LA10_1>=14 && LA10_1<=50)||(LA10_1>=64 && LA10_1<=65)||LA10_1==68||LA10_1==72||(LA10_1>=74 && LA10_1<=98)||(LA10_1>=102 && LA10_1<=103)||(LA10_1>=105 && LA10_1<=106)) ) {
+                if ( (LA10_1==EOF||(LA10_1>=RULE_ID && LA10_1<=RULE_STRING)||(LA10_1>=14 && LA10_1<=50)||(LA10_1>=60 && LA10_1<=61)||LA10_1==64||LA10_1==69||(LA10_1>=71 && LA10_1<=95)||(LA10_1>=99 && LA10_1<=100)||(LA10_1>=102 && LA10_1<=103)) ) {
                     alt10=2;
                 }
+                else if ( (LA10_1==13) ) {
+                    alt10=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -8719,7 +8791,7 @@
                 if ( (LA10_2==13) ) {
                     alt10=1;
                 }
-                else if ( (LA10_2==EOF||(LA10_2>=RULE_ID && LA10_2<=RULE_STRING)||(LA10_2>=14 && LA10_2<=50)||(LA10_2>=64 && LA10_2<=65)||LA10_2==68||LA10_2==72||(LA10_2>=74 && LA10_2<=98)||(LA10_2>=102 && LA10_2<=103)||(LA10_2>=105 && LA10_2<=106)) ) {
+                else if ( (LA10_2==EOF||(LA10_2>=RULE_ID && LA10_2<=RULE_STRING)||(LA10_2>=14 && LA10_2<=50)||(LA10_2>=60 && LA10_2<=61)||LA10_2==64||LA10_2==69||(LA10_2>=71 && LA10_2<=95)||(LA10_2>=99 && LA10_2<=100)||(LA10_2>=102 && LA10_2<=103)) ) {
                     alt10=2;
                 }
                 else {
@@ -8735,12 +8807,12 @@
                 {
                 int LA10_3 = input.LA(2);
 
-                if ( (LA10_3==13) ) {
-                    alt10=1;
-                }
-                else if ( (LA10_3==EOF||(LA10_3>=RULE_ID && LA10_3<=RULE_STRING)||(LA10_3>=14 && LA10_3<=50)||(LA10_3>=64 && LA10_3<=65)||LA10_3==68||LA10_3==72||(LA10_3>=74 && LA10_3<=98)||(LA10_3>=102 && LA10_3<=103)||(LA10_3>=105 && LA10_3<=106)) ) {
+                if ( (LA10_3==EOF||(LA10_3>=RULE_ID && LA10_3<=RULE_STRING)||(LA10_3>=14 && LA10_3<=50)||(LA10_3>=60 && LA10_3<=61)||LA10_3==64||LA10_3==69||(LA10_3>=71 && LA10_3<=95)||(LA10_3>=99 && LA10_3<=100)||(LA10_3>=102 && LA10_3<=103)) ) {
                     alt10=2;
                 }
+                else if ( (LA10_3==13) ) {
+                    alt10=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -8754,12 +8826,12 @@
                 {
                 int LA10_4 = input.LA(2);
 
-                if ( (LA10_4==EOF||(LA10_4>=RULE_ID && LA10_4<=RULE_STRING)||(LA10_4>=14 && LA10_4<=50)||(LA10_4>=64 && LA10_4<=65)||LA10_4==68||LA10_4==72||(LA10_4>=74 && LA10_4<=98)||(LA10_4>=102 && LA10_4<=103)||(LA10_4>=105 && LA10_4<=106)) ) {
-                    alt10=2;
-                }
-                else if ( (LA10_4==13) ) {
+                if ( (LA10_4==13) ) {
                     alt10=1;
                 }
+                else if ( (LA10_4==EOF||(LA10_4>=RULE_ID && LA10_4<=RULE_STRING)||(LA10_4>=14 && LA10_4<=50)||(LA10_4>=60 && LA10_4<=61)||LA10_4==64||LA10_4==69||(LA10_4>=71 && LA10_4<=95)||(LA10_4>=99 && LA10_4<=100)||(LA10_4>=102 && LA10_4<=103)) ) {
+                    alt10=2;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -8773,12 +8845,12 @@
                 {
                 int LA10_5 = input.LA(2);
 
-                if ( (LA10_5==13) ) {
-                    alt10=1;
-                }
-                else if ( (LA10_5==EOF||(LA10_5>=RULE_ID && LA10_5<=RULE_STRING)||(LA10_5>=14 && LA10_5<=50)||(LA10_5>=64 && LA10_5<=65)||LA10_5==68||LA10_5==72||(LA10_5>=74 && LA10_5<=98)||(LA10_5>=102 && LA10_5<=103)||(LA10_5>=105 && LA10_5<=106)) ) {
+                if ( (LA10_5==EOF||(LA10_5>=RULE_ID && LA10_5<=RULE_STRING)||(LA10_5>=14 && LA10_5<=50)||(LA10_5>=60 && LA10_5<=61)||LA10_5==64||LA10_5==69||(LA10_5>=71 && LA10_5<=95)||(LA10_5>=99 && LA10_5<=100)||(LA10_5>=102 && LA10_5<=103)) ) {
                     alt10=2;
                 }
+                else if ( (LA10_5==13) ) {
+                    alt10=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -8798,23 +8870,23 @@
             case 40:
             case 49:
             case 50:
+            case 60:
             case 64:
-            case 68:
-            case 74:
-            case 78:
+            case 71:
+            case 75:
+            case 76:
             case 79:
-            case 82:
-            case 84:
+            case 81:
+            case 85:
+            case 86:
+            case 87:
             case 88:
             case 89:
             case 90:
             case 91:
             case 92:
-            case 93:
             case 94:
-            case 95:
-            case 97:
-            case 106:
+            case 103:
                 {
                 alt10=2;
                 }
@@ -8829,16 +8901,16 @@
 
             switch (alt10) {
                 case 1 :
-                    // InternalSignalDSL.g:2541:2: ( ( rule__XAssignment__Group_0__0 ) )
+                    // InternalSignalDSL.g:2566:2: ( ( rule__XAssignment__Group_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2541:2: ( ( rule__XAssignment__Group_0__0 ) )
-                    // InternalSignalDSL.g:2542:3: ( rule__XAssignment__Group_0__0 )
+                    // InternalSignalDSL.g:2566:2: ( ( rule__XAssignment__Group_0__0 ) )
+                    // InternalSignalDSL.g:2567:3: ( rule__XAssignment__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAssignmentAccess().getGroup_0()); 
                     }
-                    // InternalSignalDSL.g:2543:3: ( rule__XAssignment__Group_0__0 )
-                    // InternalSignalDSL.g:2543:4: rule__XAssignment__Group_0__0
+                    // InternalSignalDSL.g:2568:3: ( rule__XAssignment__Group_0__0 )
+                    // InternalSignalDSL.g:2568:4: rule__XAssignment__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_0__0();
@@ -8858,16 +8930,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2547:2: ( ( rule__XAssignment__Group_1__0 ) )
+                    // InternalSignalDSL.g:2572:2: ( ( rule__XAssignment__Group_1__0 ) )
                     {
-                    // InternalSignalDSL.g:2547:2: ( ( rule__XAssignment__Group_1__0 ) )
-                    // InternalSignalDSL.g:2548:3: ( rule__XAssignment__Group_1__0 )
+                    // InternalSignalDSL.g:2572:2: ( ( rule__XAssignment__Group_1__0 ) )
+                    // InternalSignalDSL.g:2573:3: ( rule__XAssignment__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAssignmentAccess().getGroup_1()); 
                     }
-                    // InternalSignalDSL.g:2549:3: ( rule__XAssignment__Group_1__0 )
-                    // InternalSignalDSL.g:2549:4: rule__XAssignment__Group_1__0
+                    // InternalSignalDSL.g:2574:3: ( rule__XAssignment__Group_1__0 )
+                    // InternalSignalDSL.g:2574:4: rule__XAssignment__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_1__0();
@@ -8904,13 +8976,13 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Alternatives"
-    // InternalSignalDSL.g:2557:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) );
+    // InternalSignalDSL.g:2582:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) );
     public final void rule__OpMultiAssign__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2561:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) )
+            // InternalSignalDSL.g:2586:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) )
             int alt11=7;
             switch ( input.LA(1) ) {
             case 16:
@@ -8958,10 +9030,10 @@
 
             switch (alt11) {
                 case 1 :
-                    // InternalSignalDSL.g:2562:2: ( '+=' )
+                    // InternalSignalDSL.g:2587:2: ( '+=' )
                     {
-                    // InternalSignalDSL.g:2562:2: ( '+=' )
-                    // InternalSignalDSL.g:2563:3: '+='
+                    // InternalSignalDSL.g:2587:2: ( '+=' )
+                    // InternalSignalDSL.g:2588:3: '+='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); 
@@ -8977,10 +9049,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2568:2: ( '-=' )
+                    // InternalSignalDSL.g:2593:2: ( '-=' )
                     {
-                    // InternalSignalDSL.g:2568:2: ( '-=' )
-                    // InternalSignalDSL.g:2569:3: '-='
+                    // InternalSignalDSL.g:2593:2: ( '-=' )
+                    // InternalSignalDSL.g:2594:3: '-='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); 
@@ -8996,10 +9068,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2574:2: ( '*=' )
+                    // InternalSignalDSL.g:2599:2: ( '*=' )
                     {
-                    // InternalSignalDSL.g:2574:2: ( '*=' )
-                    // InternalSignalDSL.g:2575:3: '*='
+                    // InternalSignalDSL.g:2599:2: ( '*=' )
+                    // InternalSignalDSL.g:2600:3: '*='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); 
@@ -9015,10 +9087,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2580:2: ( '/=' )
+                    // InternalSignalDSL.g:2605:2: ( '/=' )
                     {
-                    // InternalSignalDSL.g:2580:2: ( '/=' )
-                    // InternalSignalDSL.g:2581:3: '/='
+                    // InternalSignalDSL.g:2605:2: ( '/=' )
+                    // InternalSignalDSL.g:2606:3: '/='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); 
@@ -9034,10 +9106,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:2586:2: ( '%=' )
+                    // InternalSignalDSL.g:2611:2: ( '%=' )
                     {
-                    // InternalSignalDSL.g:2586:2: ( '%=' )
-                    // InternalSignalDSL.g:2587:3: '%='
+                    // InternalSignalDSL.g:2611:2: ( '%=' )
+                    // InternalSignalDSL.g:2612:3: '%='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); 
@@ -9053,16 +9125,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:2592:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
+                    // InternalSignalDSL.g:2617:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
                     {
-                    // InternalSignalDSL.g:2592:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
-                    // InternalSignalDSL.g:2593:3: ( rule__OpMultiAssign__Group_5__0 )
+                    // InternalSignalDSL.g:2617:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
+                    // InternalSignalDSL.g:2618:3: ( rule__OpMultiAssign__Group_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); 
                     }
-                    // InternalSignalDSL.g:2594:3: ( rule__OpMultiAssign__Group_5__0 )
-                    // InternalSignalDSL.g:2594:4: rule__OpMultiAssign__Group_5__0
+                    // InternalSignalDSL.g:2619:3: ( rule__OpMultiAssign__Group_5__0 )
+                    // InternalSignalDSL.g:2619:4: rule__OpMultiAssign__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpMultiAssign__Group_5__0();
@@ -9082,16 +9154,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:2598:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
+                    // InternalSignalDSL.g:2623:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
                     {
-                    // InternalSignalDSL.g:2598:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
-                    // InternalSignalDSL.g:2599:3: ( rule__OpMultiAssign__Group_6__0 )
+                    // InternalSignalDSL.g:2623:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
+                    // InternalSignalDSL.g:2624:3: ( rule__OpMultiAssign__Group_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); 
                     }
-                    // InternalSignalDSL.g:2600:3: ( rule__OpMultiAssign__Group_6__0 )
-                    // InternalSignalDSL.g:2600:4: rule__OpMultiAssign__Group_6__0
+                    // InternalSignalDSL.g:2625:3: ( rule__OpMultiAssign__Group_6__0 )
+                    // InternalSignalDSL.g:2625:4: rule__OpMultiAssign__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpMultiAssign__Group_6__0();
@@ -9128,13 +9200,13 @@
 
 
     // $ANTLR start "rule__OpEquality__Alternatives"
-    // InternalSignalDSL.g:2608:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) );
+    // InternalSignalDSL.g:2633:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) );
     public final void rule__OpEquality__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2612:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) )
+            // InternalSignalDSL.g:2637:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) )
             int alt12=4;
             switch ( input.LA(1) ) {
             case 21:
@@ -9167,10 +9239,10 @@
 
             switch (alt12) {
                 case 1 :
-                    // InternalSignalDSL.g:2613:2: ( '==' )
+                    // InternalSignalDSL.g:2638:2: ( '==' )
                     {
-                    // InternalSignalDSL.g:2613:2: ( '==' )
-                    // InternalSignalDSL.g:2614:3: '=='
+                    // InternalSignalDSL.g:2638:2: ( '==' )
+                    // InternalSignalDSL.g:2639:3: '=='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); 
@@ -9186,10 +9258,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2619:2: ( '!=' )
+                    // InternalSignalDSL.g:2644:2: ( '!=' )
                     {
-                    // InternalSignalDSL.g:2619:2: ( '!=' )
-                    // InternalSignalDSL.g:2620:3: '!='
+                    // InternalSignalDSL.g:2644:2: ( '!=' )
+                    // InternalSignalDSL.g:2645:3: '!='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); 
@@ -9205,10 +9277,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2625:2: ( '===' )
+                    // InternalSignalDSL.g:2650:2: ( '===' )
                     {
-                    // InternalSignalDSL.g:2625:2: ( '===' )
-                    // InternalSignalDSL.g:2626:3: '==='
+                    // InternalSignalDSL.g:2650:2: ( '===' )
+                    // InternalSignalDSL.g:2651:3: '==='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); 
@@ -9224,10 +9296,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2631:2: ( '!==' )
+                    // InternalSignalDSL.g:2656:2: ( '!==' )
                     {
-                    // InternalSignalDSL.g:2631:2: ( '!==' )
-                    // InternalSignalDSL.g:2632:3: '!=='
+                    // InternalSignalDSL.g:2656:2: ( '!==' )
+                    // InternalSignalDSL.g:2657:3: '!=='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); 
@@ -9260,17 +9332,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Alternatives_1"
-    // InternalSignalDSL.g:2641:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) );
+    // InternalSignalDSL.g:2666:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) );
     public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2645:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) )
+            // InternalSignalDSL.g:2670:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) )
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==80) ) {
+            if ( (LA13_0==77) ) {
                 alt13=1;
             }
             else if ( ((LA13_0>=25 && LA13_0<=27)) ) {
@@ -9285,16 +9357,16 @@
             }
             switch (alt13) {
                 case 1 :
-                    // InternalSignalDSL.g:2646:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+                    // InternalSignalDSL.g:2671:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2646:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
-                    // InternalSignalDSL.g:2647:3: ( rule__XRelationalExpression__Group_1_0__0 )
+                    // InternalSignalDSL.g:2671:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+                    // InternalSignalDSL.g:2672:3: ( rule__XRelationalExpression__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); 
                     }
-                    // InternalSignalDSL.g:2648:3: ( rule__XRelationalExpression__Group_1_0__0 )
-                    // InternalSignalDSL.g:2648:4: rule__XRelationalExpression__Group_1_0__0
+                    // InternalSignalDSL.g:2673:3: ( rule__XRelationalExpression__Group_1_0__0 )
+                    // InternalSignalDSL.g:2673:4: rule__XRelationalExpression__Group_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XRelationalExpression__Group_1_0__0();
@@ -9314,16 +9386,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2652:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+                    // InternalSignalDSL.g:2677:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
                     {
-                    // InternalSignalDSL.g:2652:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
-                    // InternalSignalDSL.g:2653:3: ( rule__XRelationalExpression__Group_1_1__0 )
+                    // InternalSignalDSL.g:2677:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+                    // InternalSignalDSL.g:2678:3: ( rule__XRelationalExpression__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); 
                     }
-                    // InternalSignalDSL.g:2654:3: ( rule__XRelationalExpression__Group_1_1__0 )
-                    // InternalSignalDSL.g:2654:4: rule__XRelationalExpression__Group_1_1__0
+                    // InternalSignalDSL.g:2679:3: ( rule__XRelationalExpression__Group_1_1__0 )
+                    // InternalSignalDSL.g:2679:4: rule__XRelationalExpression__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XRelationalExpression__Group_1_1__0();
@@ -9360,13 +9432,13 @@
 
 
     // $ANTLR start "rule__OpCompare__Alternatives"
-    // InternalSignalDSL.g:2662:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) );
+    // InternalSignalDSL.g:2687:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) );
     public final void rule__OpCompare__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2666:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) )
+            // InternalSignalDSL.g:2691:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) )
             int alt14=4;
             switch ( input.LA(1) ) {
             case 25:
@@ -9378,12 +9450,12 @@
                 {
                 int LA14_2 = input.LA(2);
 
-                if ( (LA14_2==EOF||(LA14_2>=RULE_ID && LA14_2<=RULE_STRING)||LA14_2==27||(LA14_2>=34 && LA14_2<=35)||LA14_2==40||(LA14_2>=45 && LA14_2<=50)||LA14_2==64||LA14_2==68||LA14_2==74||(LA14_2>=78 && LA14_2<=79)||LA14_2==82||LA14_2==84||(LA14_2>=88 && LA14_2<=95)||LA14_2==97||LA14_2==106) ) {
-                    alt14=4;
-                }
-                else if ( (LA14_2==13) ) {
+                if ( (LA14_2==13) ) {
                     alt14=2;
                 }
+                else if ( (LA14_2==EOF||(LA14_2>=RULE_ID && LA14_2<=RULE_STRING)||LA14_2==27||(LA14_2>=34 && LA14_2<=35)||LA14_2==40||(LA14_2>=45 && LA14_2<=50)||LA14_2==60||LA14_2==64||LA14_2==71||(LA14_2>=75 && LA14_2<=76)||LA14_2==79||LA14_2==81||(LA14_2>=85 && LA14_2<=92)||LA14_2==94||LA14_2==103) ) {
+                    alt14=4;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -9408,10 +9480,10 @@
 
             switch (alt14) {
                 case 1 :
-                    // InternalSignalDSL.g:2667:2: ( '>=' )
+                    // InternalSignalDSL.g:2692:2: ( '>=' )
                     {
-                    // InternalSignalDSL.g:2667:2: ( '>=' )
-                    // InternalSignalDSL.g:2668:3: '>='
+                    // InternalSignalDSL.g:2692:2: ( '>=' )
+                    // InternalSignalDSL.g:2693:3: '>='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); 
@@ -9427,16 +9499,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2673:2: ( ( rule__OpCompare__Group_1__0 ) )
+                    // InternalSignalDSL.g:2698:2: ( ( rule__OpCompare__Group_1__0 ) )
                     {
-                    // InternalSignalDSL.g:2673:2: ( ( rule__OpCompare__Group_1__0 ) )
-                    // InternalSignalDSL.g:2674:3: ( rule__OpCompare__Group_1__0 )
+                    // InternalSignalDSL.g:2698:2: ( ( rule__OpCompare__Group_1__0 ) )
+                    // InternalSignalDSL.g:2699:3: ( rule__OpCompare__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGroup_1()); 
                     }
-                    // InternalSignalDSL.g:2675:3: ( rule__OpCompare__Group_1__0 )
-                    // InternalSignalDSL.g:2675:4: rule__OpCompare__Group_1__0
+                    // InternalSignalDSL.g:2700:3: ( rule__OpCompare__Group_1__0 )
+                    // InternalSignalDSL.g:2700:4: rule__OpCompare__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpCompare__Group_1__0();
@@ -9456,10 +9528,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2679:2: ( '>' )
+                    // InternalSignalDSL.g:2704:2: ( '>' )
                     {
-                    // InternalSignalDSL.g:2679:2: ( '>' )
-                    // InternalSignalDSL.g:2680:3: '>'
+                    // InternalSignalDSL.g:2704:2: ( '>' )
+                    // InternalSignalDSL.g:2705:3: '>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); 
@@ -9475,10 +9547,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2685:2: ( '<' )
+                    // InternalSignalDSL.g:2710:2: ( '<' )
                     {
-                    // InternalSignalDSL.g:2685:2: ( '<' )
-                    // InternalSignalDSL.g:2686:3: '<'
+                    // InternalSignalDSL.g:2710:2: ( '<' )
+                    // InternalSignalDSL.g:2711:3: '<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); 
@@ -9511,21 +9583,21 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives"
-    // InternalSignalDSL.g:2695:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );
+    // InternalSignalDSL.g:2720:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );
     public final void rule__OpOther__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2699:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) )
+            // InternalSignalDSL.g:2724:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) )
             int alt15=9;
             alt15 = dfa15.predict(input);
             switch (alt15) {
                 case 1 :
-                    // InternalSignalDSL.g:2700:2: ( '->' )
+                    // InternalSignalDSL.g:2725:2: ( '->' )
                     {
-                    // InternalSignalDSL.g:2700:2: ( '->' )
-                    // InternalSignalDSL.g:2701:3: '->'
+                    // InternalSignalDSL.g:2725:2: ( '->' )
+                    // InternalSignalDSL.g:2726:3: '->'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); 
@@ -9541,10 +9613,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2706:2: ( '..<' )
+                    // InternalSignalDSL.g:2731:2: ( '..<' )
                     {
-                    // InternalSignalDSL.g:2706:2: ( '..<' )
-                    // InternalSignalDSL.g:2707:3: '..<'
+                    // InternalSignalDSL.g:2731:2: ( '..<' )
+                    // InternalSignalDSL.g:2732:3: '..<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); 
@@ -9560,16 +9632,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2712:2: ( ( rule__OpOther__Group_2__0 ) )
+                    // InternalSignalDSL.g:2737:2: ( ( rule__OpOther__Group_2__0 ) )
                     {
-                    // InternalSignalDSL.g:2712:2: ( ( rule__OpOther__Group_2__0 ) )
-                    // InternalSignalDSL.g:2713:3: ( rule__OpOther__Group_2__0 )
+                    // InternalSignalDSL.g:2737:2: ( ( rule__OpOther__Group_2__0 ) )
+                    // InternalSignalDSL.g:2738:3: ( rule__OpOther__Group_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_2()); 
                     }
-                    // InternalSignalDSL.g:2714:3: ( rule__OpOther__Group_2__0 )
-                    // InternalSignalDSL.g:2714:4: rule__OpOther__Group_2__0
+                    // InternalSignalDSL.g:2739:3: ( rule__OpOther__Group_2__0 )
+                    // InternalSignalDSL.g:2739:4: rule__OpOther__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_2__0();
@@ -9589,10 +9661,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2718:2: ( '..' )
+                    // InternalSignalDSL.g:2743:2: ( '..' )
                     {
-                    // InternalSignalDSL.g:2718:2: ( '..' )
-                    // InternalSignalDSL.g:2719:3: '..'
+                    // InternalSignalDSL.g:2743:2: ( '..' )
+                    // InternalSignalDSL.g:2744:3: '..'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); 
@@ -9608,10 +9680,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:2724:2: ( '=>' )
+                    // InternalSignalDSL.g:2749:2: ( '=>' )
                     {
-                    // InternalSignalDSL.g:2724:2: ( '=>' )
-                    // InternalSignalDSL.g:2725:3: '=>'
+                    // InternalSignalDSL.g:2749:2: ( '=>' )
+                    // InternalSignalDSL.g:2750:3: '=>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); 
@@ -9627,16 +9699,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:2730:2: ( ( rule__OpOther__Group_5__0 ) )
+                    // InternalSignalDSL.g:2755:2: ( ( rule__OpOther__Group_5__0 ) )
                     {
-                    // InternalSignalDSL.g:2730:2: ( ( rule__OpOther__Group_5__0 ) )
-                    // InternalSignalDSL.g:2731:3: ( rule__OpOther__Group_5__0 )
+                    // InternalSignalDSL.g:2755:2: ( ( rule__OpOther__Group_5__0 ) )
+                    // InternalSignalDSL.g:2756:3: ( rule__OpOther__Group_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_5()); 
                     }
-                    // InternalSignalDSL.g:2732:3: ( rule__OpOther__Group_5__0 )
-                    // InternalSignalDSL.g:2732:4: rule__OpOther__Group_5__0
+                    // InternalSignalDSL.g:2757:3: ( rule__OpOther__Group_5__0 )
+                    // InternalSignalDSL.g:2757:4: rule__OpOther__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_5__0();
@@ -9656,16 +9728,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:2736:2: ( ( rule__OpOther__Group_6__0 ) )
+                    // InternalSignalDSL.g:2761:2: ( ( rule__OpOther__Group_6__0 ) )
                     {
-                    // InternalSignalDSL.g:2736:2: ( ( rule__OpOther__Group_6__0 ) )
-                    // InternalSignalDSL.g:2737:3: ( rule__OpOther__Group_6__0 )
+                    // InternalSignalDSL.g:2761:2: ( ( rule__OpOther__Group_6__0 ) )
+                    // InternalSignalDSL.g:2762:3: ( rule__OpOther__Group_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_6()); 
                     }
-                    // InternalSignalDSL.g:2738:3: ( rule__OpOther__Group_6__0 )
-                    // InternalSignalDSL.g:2738:4: rule__OpOther__Group_6__0
+                    // InternalSignalDSL.g:2763:3: ( rule__OpOther__Group_6__0 )
+                    // InternalSignalDSL.g:2763:4: rule__OpOther__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_6__0();
@@ -9685,10 +9757,10 @@
                     }
                     break;
                 case 8 :
-                    // InternalSignalDSL.g:2742:2: ( '<>' )
+                    // InternalSignalDSL.g:2767:2: ( '<>' )
                     {
-                    // InternalSignalDSL.g:2742:2: ( '<>' )
-                    // InternalSignalDSL.g:2743:3: '<>'
+                    // InternalSignalDSL.g:2767:2: ( '<>' )
+                    // InternalSignalDSL.g:2768:3: '<>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); 
@@ -9704,10 +9776,10 @@
                     }
                     break;
                 case 9 :
-                    // InternalSignalDSL.g:2748:2: ( '?:' )
+                    // InternalSignalDSL.g:2773:2: ( '?:' )
                     {
-                    // InternalSignalDSL.g:2748:2: ( '?:' )
-                    // InternalSignalDSL.g:2749:3: '?:'
+                    // InternalSignalDSL.g:2773:2: ( '?:' )
+                    // InternalSignalDSL.g:2774:3: '?:'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); 
@@ -9740,20 +9812,20 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives_5_1"
-    // InternalSignalDSL.g:2758:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) );
+    // InternalSignalDSL.g:2783:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) );
     public final void rule__OpOther__Alternatives_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2762:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) )
+            // InternalSignalDSL.g:2787:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) )
             int alt16=2;
             int LA16_0 = input.LA(1);
 
             if ( (LA16_0==26) ) {
                 int LA16_1 = input.LA(2);
 
-                if ( (LA16_1==EOF||(LA16_1>=RULE_ID && LA16_1<=RULE_STRING)||LA16_1==27||(LA16_1>=34 && LA16_1<=35)||LA16_1==40||(LA16_1>=45 && LA16_1<=50)||LA16_1==64||LA16_1==68||LA16_1==74||(LA16_1>=78 && LA16_1<=79)||LA16_1==82||LA16_1==84||(LA16_1>=88 && LA16_1<=95)||LA16_1==97||LA16_1==106) ) {
+                if ( (LA16_1==EOF||(LA16_1>=RULE_ID && LA16_1<=RULE_STRING)||LA16_1==27||(LA16_1>=34 && LA16_1<=35)||LA16_1==40||(LA16_1>=45 && LA16_1<=50)||LA16_1==60||LA16_1==64||LA16_1==71||(LA16_1>=75 && LA16_1<=76)||LA16_1==79||LA16_1==81||(LA16_1>=85 && LA16_1<=92)||LA16_1==94||LA16_1==103) ) {
                     alt16=2;
                 }
                 else if ( (LA16_1==26) ) {
@@ -9776,16 +9848,16 @@
             }
             switch (alt16) {
                 case 1 :
-                    // InternalSignalDSL.g:2763:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
+                    // InternalSignalDSL.g:2788:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2763:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
-                    // InternalSignalDSL.g:2764:3: ( rule__OpOther__Group_5_1_0__0 )
+                    // InternalSignalDSL.g:2788:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
+                    // InternalSignalDSL.g:2789:3: ( rule__OpOther__Group_5_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); 
                     }
-                    // InternalSignalDSL.g:2765:3: ( rule__OpOther__Group_5_1_0__0 )
-                    // InternalSignalDSL.g:2765:4: rule__OpOther__Group_5_1_0__0
+                    // InternalSignalDSL.g:2790:3: ( rule__OpOther__Group_5_1_0__0 )
+                    // InternalSignalDSL.g:2790:4: rule__OpOther__Group_5_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_5_1_0__0();
@@ -9805,10 +9877,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2769:2: ( '>' )
+                    // InternalSignalDSL.g:2794:2: ( '>' )
                     {
-                    // InternalSignalDSL.g:2769:2: ( '>' )
-                    // InternalSignalDSL.g:2770:3: '>'
+                    // InternalSignalDSL.g:2794:2: ( '>' )
+                    // InternalSignalDSL.g:2795:3: '>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); 
@@ -9841,13 +9913,13 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives_6_1"
-    // InternalSignalDSL.g:2779:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) );
+    // InternalSignalDSL.g:2804:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) );
     public final void rule__OpOther__Alternatives_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2783:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) )
+            // InternalSignalDSL.g:2808:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) )
             int alt17=3;
             int LA17_0 = input.LA(1);
 
@@ -9880,16 +9952,16 @@
             }
             switch (alt17) {
                 case 1 :
-                    // InternalSignalDSL.g:2784:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+                    // InternalSignalDSL.g:2809:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2784:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
-                    // InternalSignalDSL.g:2785:3: ( rule__OpOther__Group_6_1_0__0 )
+                    // InternalSignalDSL.g:2809:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+                    // InternalSignalDSL.g:2810:3: ( rule__OpOther__Group_6_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); 
                     }
-                    // InternalSignalDSL.g:2786:3: ( rule__OpOther__Group_6_1_0__0 )
-                    // InternalSignalDSL.g:2786:4: rule__OpOther__Group_6_1_0__0
+                    // InternalSignalDSL.g:2811:3: ( rule__OpOther__Group_6_1_0__0 )
+                    // InternalSignalDSL.g:2811:4: rule__OpOther__Group_6_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_6_1_0__0();
@@ -9909,10 +9981,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2790:2: ( '<' )
+                    // InternalSignalDSL.g:2815:2: ( '<' )
                     {
-                    // InternalSignalDSL.g:2790:2: ( '<' )
-                    // InternalSignalDSL.g:2791:3: '<'
+                    // InternalSignalDSL.g:2815:2: ( '<' )
+                    // InternalSignalDSL.g:2816:3: '<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); 
@@ -9928,10 +10000,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2796:2: ( '=>' )
+                    // InternalSignalDSL.g:2821:2: ( '=>' )
                     {
-                    // InternalSignalDSL.g:2796:2: ( '=>' )
-                    // InternalSignalDSL.g:2797:3: '=>'
+                    // InternalSignalDSL.g:2821:2: ( '=>' )
+                    // InternalSignalDSL.g:2822:3: '=>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); 
@@ -9964,13 +10036,13 @@
 
 
     // $ANTLR start "rule__OpAdd__Alternatives"
-    // InternalSignalDSL.g:2806:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) );
+    // InternalSignalDSL.g:2831:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) );
     public final void rule__OpAdd__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2810:1: ( ( '+' ) | ( '-' ) )
+            // InternalSignalDSL.g:2835:1: ( ( '+' ) | ( '-' ) )
             int alt18=2;
             int LA18_0 = input.LA(1);
 
@@ -9989,10 +10061,10 @@
             }
             switch (alt18) {
                 case 1 :
-                    // InternalSignalDSL.g:2811:2: ( '+' )
+                    // InternalSignalDSL.g:2836:2: ( '+' )
                     {
-                    // InternalSignalDSL.g:2811:2: ( '+' )
-                    // InternalSignalDSL.g:2812:3: '+'
+                    // InternalSignalDSL.g:2836:2: ( '+' )
+                    // InternalSignalDSL.g:2837:3: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); 
@@ -10008,10 +10080,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2817:2: ( '-' )
+                    // InternalSignalDSL.g:2842:2: ( '-' )
                     {
-                    // InternalSignalDSL.g:2817:2: ( '-' )
-                    // InternalSignalDSL.g:2818:3: '-'
+                    // InternalSignalDSL.g:2842:2: ( '-' )
+                    // InternalSignalDSL.g:2843:3: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); 
@@ -10044,13 +10116,13 @@
 
 
     // $ANTLR start "rule__OpMulti__Alternatives"
-    // InternalSignalDSL.g:2827:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );
+    // InternalSignalDSL.g:2852:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );
     public final void rule__OpMulti__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2831:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
+            // InternalSignalDSL.g:2856:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
             int alt19=4;
             switch ( input.LA(1) ) {
             case 36:
@@ -10083,10 +10155,10 @@
 
             switch (alt19) {
                 case 1 :
-                    // InternalSignalDSL.g:2832:2: ( '*' )
+                    // InternalSignalDSL.g:2857:2: ( '*' )
                     {
-                    // InternalSignalDSL.g:2832:2: ( '*' )
-                    // InternalSignalDSL.g:2833:3: '*'
+                    // InternalSignalDSL.g:2857:2: ( '*' )
+                    // InternalSignalDSL.g:2858:3: '*'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); 
@@ -10102,10 +10174,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2838:2: ( '**' )
+                    // InternalSignalDSL.g:2863:2: ( '**' )
                     {
-                    // InternalSignalDSL.g:2838:2: ( '**' )
-                    // InternalSignalDSL.g:2839:3: '**'
+                    // InternalSignalDSL.g:2863:2: ( '**' )
+                    // InternalSignalDSL.g:2864:3: '**'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); 
@@ -10121,10 +10193,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2844:2: ( '/' )
+                    // InternalSignalDSL.g:2869:2: ( '/' )
                     {
-                    // InternalSignalDSL.g:2844:2: ( '/' )
-                    // InternalSignalDSL.g:2845:3: '/'
+                    // InternalSignalDSL.g:2869:2: ( '/' )
+                    // InternalSignalDSL.g:2870:3: '/'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); 
@@ -10140,10 +10212,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2850:2: ( '%' )
+                    // InternalSignalDSL.g:2875:2: ( '%' )
                     {
-                    // InternalSignalDSL.g:2850:2: ( '%' )
-                    // InternalSignalDSL.g:2851:3: '%'
+                    // InternalSignalDSL.g:2875:2: ( '%' )
+                    // InternalSignalDSL.g:2876:3: '%'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); 
@@ -10176,20 +10248,20 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Alternatives"
-    // InternalSignalDSL.g:2860:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) );
+    // InternalSignalDSL.g:2885:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) );
     public final void rule__XUnaryOperation__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2864:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) )
+            // InternalSignalDSL.g:2889:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) )
             int alt20=2;
             int LA20_0 = input.LA(1);
 
             if ( ((LA20_0>=34 && LA20_0<=35)||LA20_0==40) ) {
                 alt20=1;
             }
-            else if ( ((LA20_0>=RULE_ID && LA20_0<=RULE_STRING)||LA20_0==27||(LA20_0>=45 && LA20_0<=50)||LA20_0==64||LA20_0==68||LA20_0==74||(LA20_0>=78 && LA20_0<=79)||LA20_0==82||LA20_0==84||(LA20_0>=88 && LA20_0<=95)||LA20_0==97||LA20_0==106) ) {
+            else if ( ((LA20_0>=RULE_ID && LA20_0<=RULE_STRING)||LA20_0==27||(LA20_0>=45 && LA20_0<=50)||LA20_0==60||LA20_0==64||LA20_0==71||(LA20_0>=75 && LA20_0<=76)||LA20_0==79||LA20_0==81||(LA20_0>=85 && LA20_0<=92)||LA20_0==94||LA20_0==103) ) {
                 alt20=2;
             }
             else {
@@ -10201,16 +10273,16 @@
             }
             switch (alt20) {
                 case 1 :
-                    // InternalSignalDSL.g:2865:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
+                    // InternalSignalDSL.g:2890:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2865:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
-                    // InternalSignalDSL.g:2866:3: ( rule__XUnaryOperation__Group_0__0 )
+                    // InternalSignalDSL.g:2890:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
+                    // InternalSignalDSL.g:2891:3: ( rule__XUnaryOperation__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); 
                     }
-                    // InternalSignalDSL.g:2867:3: ( rule__XUnaryOperation__Group_0__0 )
-                    // InternalSignalDSL.g:2867:4: rule__XUnaryOperation__Group_0__0
+                    // InternalSignalDSL.g:2892:3: ( rule__XUnaryOperation__Group_0__0 )
+                    // InternalSignalDSL.g:2892:4: rule__XUnaryOperation__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XUnaryOperation__Group_0__0();
@@ -10230,10 +10302,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2871:2: ( ruleXCastedExpression )
+                    // InternalSignalDSL.g:2896:2: ( ruleXCastedExpression )
                     {
-                    // InternalSignalDSL.g:2871:2: ( ruleXCastedExpression )
-                    // InternalSignalDSL.g:2872:3: ruleXCastedExpression
+                    // InternalSignalDSL.g:2896:2: ( ruleXCastedExpression )
+                    // InternalSignalDSL.g:2897:3: ruleXCastedExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); 
@@ -10270,13 +10342,13 @@
 
 
     // $ANTLR start "rule__OpUnary__Alternatives"
-    // InternalSignalDSL.g:2881:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) );
+    // InternalSignalDSL.g:2906:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) );
     public final void rule__OpUnary__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2885:1: ( ( '!' ) | ( '-' ) | ( '+' ) )
+            // InternalSignalDSL.g:2910:1: ( ( '!' ) | ( '-' ) | ( '+' ) )
             int alt21=3;
             switch ( input.LA(1) ) {
             case 40:
@@ -10304,10 +10376,10 @@
 
             switch (alt21) {
                 case 1 :
-                    // InternalSignalDSL.g:2886:2: ( '!' )
+                    // InternalSignalDSL.g:2911:2: ( '!' )
                     {
-                    // InternalSignalDSL.g:2886:2: ( '!' )
-                    // InternalSignalDSL.g:2887:3: '!'
+                    // InternalSignalDSL.g:2911:2: ( '!' )
+                    // InternalSignalDSL.g:2912:3: '!'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); 
@@ -10323,10 +10395,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2892:2: ( '-' )
+                    // InternalSignalDSL.g:2917:2: ( '-' )
                     {
-                    // InternalSignalDSL.g:2892:2: ( '-' )
-                    // InternalSignalDSL.g:2893:3: '-'
+                    // InternalSignalDSL.g:2917:2: ( '-' )
+                    // InternalSignalDSL.g:2918:3: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); 
@@ -10342,10 +10414,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2898:2: ( '+' )
+                    // InternalSignalDSL.g:2923:2: ( '+' )
                     {
-                    // InternalSignalDSL.g:2898:2: ( '+' )
-                    // InternalSignalDSL.g:2899:3: '+'
+                    // InternalSignalDSL.g:2923:2: ( '+' )
+                    // InternalSignalDSL.g:2924:3: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); 
@@ -10378,13 +10450,13 @@
 
 
     // $ANTLR start "rule__OpPostfix__Alternatives"
-    // InternalSignalDSL.g:2908:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) );
+    // InternalSignalDSL.g:2933:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) );
     public final void rule__OpPostfix__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2912:1: ( ( '++' ) | ( '--' ) )
+            // InternalSignalDSL.g:2937:1: ( ( '++' ) | ( '--' ) )
             int alt22=2;
             int LA22_0 = input.LA(1);
 
@@ -10403,10 +10475,10 @@
             }
             switch (alt22) {
                 case 1 :
-                    // InternalSignalDSL.g:2913:2: ( '++' )
+                    // InternalSignalDSL.g:2938:2: ( '++' )
                     {
-                    // InternalSignalDSL.g:2913:2: ( '++' )
-                    // InternalSignalDSL.g:2914:3: '++'
+                    // InternalSignalDSL.g:2938:2: ( '++' )
+                    // InternalSignalDSL.g:2939:3: '++'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); 
@@ -10422,10 +10494,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2919:2: ( '--' )
+                    // InternalSignalDSL.g:2944:2: ( '--' )
                     {
-                    // InternalSignalDSL.g:2919:2: ( '--' )
-                    // InternalSignalDSL.g:2920:3: '--'
+                    // InternalSignalDSL.g:2944:2: ( '--' )
+                    // InternalSignalDSL.g:2945:3: '--'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); 
@@ -10458,27 +10530,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1"
-    // InternalSignalDSL.g:2929:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );
+    // InternalSignalDSL.g:2954:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2933:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) )
+            // InternalSignalDSL.g:2958:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) )
             int alt23=2;
             alt23 = dfa23.predict(input);
             switch (alt23) {
                 case 1 :
-                    // InternalSignalDSL.g:2934:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
+                    // InternalSignalDSL.g:2959:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
                     {
-                    // InternalSignalDSL.g:2934:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
-                    // InternalSignalDSL.g:2935:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
+                    // InternalSignalDSL.g:2959:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
+                    // InternalSignalDSL.g:2960:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); 
                     }
-                    // InternalSignalDSL.g:2936:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
-                    // InternalSignalDSL.g:2936:4: rule__XMemberFeatureCall__Group_1_0__0
+                    // InternalSignalDSL.g:2961:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
+                    // InternalSignalDSL.g:2961:4: rule__XMemberFeatureCall__Group_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_0__0();
@@ -10498,16 +10570,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2940:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
+                    // InternalSignalDSL.g:2965:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
                     {
-                    // InternalSignalDSL.g:2940:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
-                    // InternalSignalDSL.g:2941:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
+                    // InternalSignalDSL.g:2965:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
+                    // InternalSignalDSL.g:2966:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); 
                     }
-                    // InternalSignalDSL.g:2942:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
-                    // InternalSignalDSL.g:2942:4: rule__XMemberFeatureCall__Group_1_1__0
+                    // InternalSignalDSL.g:2967:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
+                    // InternalSignalDSL.g:2967:4: rule__XMemberFeatureCall__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1__0();
@@ -10544,20 +10616,20 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1"
-    // InternalSignalDSL.g:2950:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) );
+    // InternalSignalDSL.g:2975:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2954:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) )
+            // InternalSignalDSL.g:2979:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) )
             int alt24=2;
             int LA24_0 = input.LA(1);
 
             if ( (LA24_0==43) ) {
                 alt24=1;
             }
-            else if ( (LA24_0==102) ) {
+            else if ( (LA24_0==99) ) {
                 alt24=2;
             }
             else {
@@ -10569,10 +10641,10 @@
             }
             switch (alt24) {
                 case 1 :
-                    // InternalSignalDSL.g:2955:2: ( '.' )
+                    // InternalSignalDSL.g:2980:2: ( '.' )
                     {
-                    // InternalSignalDSL.g:2955:2: ( '.' )
-                    // InternalSignalDSL.g:2956:3: '.'
+                    // InternalSignalDSL.g:2980:2: ( '.' )
+                    // InternalSignalDSL.g:2981:3: '.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); 
@@ -10588,16 +10660,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2961:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
+                    // InternalSignalDSL.g:2986:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
                     {
-                    // InternalSignalDSL.g:2961:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
-                    // InternalSignalDSL.g:2962:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
+                    // InternalSignalDSL.g:2986:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
+                    // InternalSignalDSL.g:2987:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); 
                     }
-                    // InternalSignalDSL.g:2963:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
-                    // InternalSignalDSL.g:2963:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1
+                    // InternalSignalDSL.g:2988:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
+                    // InternalSignalDSL.g:2988:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1();
@@ -10634,13 +10706,13 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1"
-    // InternalSignalDSL.g:2971:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) );
+    // InternalSignalDSL.g:2996:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:2975:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) )
+            // InternalSignalDSL.g:3000:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) )
             int alt25=3;
             switch ( input.LA(1) ) {
             case 43:
@@ -10648,12 +10720,12 @@
                 alt25=1;
                 }
                 break;
-            case 103:
+            case 100:
                 {
                 alt25=2;
                 }
                 break;
-            case 102:
+            case 99:
                 {
                 alt25=3;
                 }
@@ -10668,10 +10740,10 @@
 
             switch (alt25) {
                 case 1 :
-                    // InternalSignalDSL.g:2976:2: ( '.' )
+                    // InternalSignalDSL.g:3001:2: ( '.' )
                     {
-                    // InternalSignalDSL.g:2976:2: ( '.' )
-                    // InternalSignalDSL.g:2977:3: '.'
+                    // InternalSignalDSL.g:3001:2: ( '.' )
+                    // InternalSignalDSL.g:3002:3: '.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); 
@@ -10687,16 +10759,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2982:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
+                    // InternalSignalDSL.g:3007:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
                     {
-                    // InternalSignalDSL.g:2982:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
-                    // InternalSignalDSL.g:2983:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
+                    // InternalSignalDSL.g:3007:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
+                    // InternalSignalDSL.g:3008:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); 
                     }
-                    // InternalSignalDSL.g:2984:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
-                    // InternalSignalDSL.g:2984:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1
+                    // InternalSignalDSL.g:3009:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
+                    // InternalSignalDSL.g:3009:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1();
@@ -10716,16 +10788,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2988:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
+                    // InternalSignalDSL.g:3013:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
                     {
-                    // InternalSignalDSL.g:2988:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
-                    // InternalSignalDSL.g:2989:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
+                    // InternalSignalDSL.g:3013:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
+                    // InternalSignalDSL.g:3014:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); 
                     }
-                    // InternalSignalDSL.g:2990:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
-                    // InternalSignalDSL.g:2990:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2
+                    // InternalSignalDSL.g:3015:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
+                    // InternalSignalDSL.g:3015:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2();
@@ -10762,27 +10834,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_3_1"
-    // InternalSignalDSL.g:2998:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );
+    // InternalSignalDSL.g:3023:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3002:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) )
+            // InternalSignalDSL.g:3027:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) )
             int alt26=2;
             alt26 = dfa26.predict(input);
             switch (alt26) {
                 case 1 :
-                    // InternalSignalDSL.g:3003:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+                    // InternalSignalDSL.g:3028:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
                     {
-                    // InternalSignalDSL.g:3003:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
-                    // InternalSignalDSL.g:3004:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+                    // InternalSignalDSL.g:3028:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+                    // InternalSignalDSL.g:3029:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); 
                     }
-                    // InternalSignalDSL.g:3005:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
-                    // InternalSignalDSL.g:3005:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
+                    // InternalSignalDSL.g:3030:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+                    // InternalSignalDSL.g:3030:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0();
@@ -10802,16 +10874,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3009:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
+                    // InternalSignalDSL.g:3034:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3009:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
-                    // InternalSignalDSL.g:3010:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
+                    // InternalSignalDSL.g:3034:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
+                    // InternalSignalDSL.g:3035:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); 
                     }
-                    // InternalSignalDSL.g:3011:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
-                    // InternalSignalDSL.g:3011:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0
+                    // InternalSignalDSL.g:3036:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
+                    // InternalSignalDSL.g:3036:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_3_1_1__0();
@@ -10848,21 +10920,21 @@
 
 
     // $ANTLR start "rule__XPrimaryExpression__Alternatives"
-    // InternalSignalDSL.g:3019:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );
+    // InternalSignalDSL.g:3044:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );
     public final void rule__XPrimaryExpression__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3023:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) )
+            // InternalSignalDSL.g:3048:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) )
             int alt27=15;
             alt27 = dfa27.predict(input);
             switch (alt27) {
                 case 1 :
-                    // InternalSignalDSL.g:3024:2: ( ruleXConstructorCall )
+                    // InternalSignalDSL.g:3049:2: ( ruleXConstructorCall )
                     {
-                    // InternalSignalDSL.g:3024:2: ( ruleXConstructorCall )
-                    // InternalSignalDSL.g:3025:3: ruleXConstructorCall
+                    // InternalSignalDSL.g:3049:2: ( ruleXConstructorCall )
+                    // InternalSignalDSL.g:3050:3: ruleXConstructorCall
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); 
@@ -10882,10 +10954,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3030:2: ( ruleXBlockExpression )
+                    // InternalSignalDSL.g:3055:2: ( ruleXBlockExpression )
                     {
-                    // InternalSignalDSL.g:3030:2: ( ruleXBlockExpression )
-                    // InternalSignalDSL.g:3031:3: ruleXBlockExpression
+                    // InternalSignalDSL.g:3055:2: ( ruleXBlockExpression )
+                    // InternalSignalDSL.g:3056:3: ruleXBlockExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); 
@@ -10905,10 +10977,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:3036:2: ( ruleXSwitchExpression )
+                    // InternalSignalDSL.g:3061:2: ( ruleXSwitchExpression )
                     {
-                    // InternalSignalDSL.g:3036:2: ( ruleXSwitchExpression )
-                    // InternalSignalDSL.g:3037:3: ruleXSwitchExpression
+                    // InternalSignalDSL.g:3061:2: ( ruleXSwitchExpression )
+                    // InternalSignalDSL.g:3062:3: ruleXSwitchExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); 
@@ -10928,16 +11000,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:3042:2: ( ( ruleXSynchronizedExpression ) )
+                    // InternalSignalDSL.g:3067:2: ( ( ruleXSynchronizedExpression ) )
                     {
-                    // InternalSignalDSL.g:3042:2: ( ( ruleXSynchronizedExpression ) )
-                    // InternalSignalDSL.g:3043:3: ( ruleXSynchronizedExpression )
+                    // InternalSignalDSL.g:3067:2: ( ( ruleXSynchronizedExpression ) )
+                    // InternalSignalDSL.g:3068:3: ( ruleXSynchronizedExpression )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); 
                     }
-                    // InternalSignalDSL.g:3044:3: ( ruleXSynchronizedExpression )
-                    // InternalSignalDSL.g:3044:4: ruleXSynchronizedExpression
+                    // InternalSignalDSL.g:3069:3: ( ruleXSynchronizedExpression )
+                    // InternalSignalDSL.g:3069:4: ruleXSynchronizedExpression
                     {
                     pushFollow(FOLLOW_2);
                     ruleXSynchronizedExpression();
@@ -10957,10 +11029,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:3048:2: ( ruleXFeatureCall )
+                    // InternalSignalDSL.g:3073:2: ( ruleXFeatureCall )
                     {
-                    // InternalSignalDSL.g:3048:2: ( ruleXFeatureCall )
-                    // InternalSignalDSL.g:3049:3: ruleXFeatureCall
+                    // InternalSignalDSL.g:3073:2: ( ruleXFeatureCall )
+                    // InternalSignalDSL.g:3074:3: ruleXFeatureCall
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); 
@@ -10980,10 +11052,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:3054:2: ( ruleXLiteral )
+                    // InternalSignalDSL.g:3079:2: ( ruleXLiteral )
                     {
-                    // InternalSignalDSL.g:3054:2: ( ruleXLiteral )
-                    // InternalSignalDSL.g:3055:3: ruleXLiteral
+                    // InternalSignalDSL.g:3079:2: ( ruleXLiteral )
+                    // InternalSignalDSL.g:3080:3: ruleXLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); 
@@ -11003,10 +11075,10 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:3060:2: ( ruleXIfExpression )
+                    // InternalSignalDSL.g:3085:2: ( ruleXIfExpression )
                     {
-                    // InternalSignalDSL.g:3060:2: ( ruleXIfExpression )
-                    // InternalSignalDSL.g:3061:3: ruleXIfExpression
+                    // InternalSignalDSL.g:3085:2: ( ruleXIfExpression )
+                    // InternalSignalDSL.g:3086:3: ruleXIfExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); 
@@ -11026,16 +11098,16 @@
                     }
                     break;
                 case 8 :
-                    // InternalSignalDSL.g:3066:2: ( ( ruleXForLoopExpression ) )
+                    // InternalSignalDSL.g:3091:2: ( ( ruleXForLoopExpression ) )
                     {
-                    // InternalSignalDSL.g:3066:2: ( ( ruleXForLoopExpression ) )
-                    // InternalSignalDSL.g:3067:3: ( ruleXForLoopExpression )
+                    // InternalSignalDSL.g:3091:2: ( ( ruleXForLoopExpression ) )
+                    // InternalSignalDSL.g:3092:3: ( ruleXForLoopExpression )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); 
                     }
-                    // InternalSignalDSL.g:3068:3: ( ruleXForLoopExpression )
-                    // InternalSignalDSL.g:3068:4: ruleXForLoopExpression
+                    // InternalSignalDSL.g:3093:3: ( ruleXForLoopExpression )
+                    // InternalSignalDSL.g:3093:4: ruleXForLoopExpression
                     {
                     pushFollow(FOLLOW_2);
                     ruleXForLoopExpression();
@@ -11055,10 +11127,10 @@
                     }
                     break;
                 case 9 :
-                    // InternalSignalDSL.g:3072:2: ( ruleXBasicForLoopExpression )
+                    // InternalSignalDSL.g:3097:2: ( ruleXBasicForLoopExpression )
                     {
-                    // InternalSignalDSL.g:3072:2: ( ruleXBasicForLoopExpression )
-                    // InternalSignalDSL.g:3073:3: ruleXBasicForLoopExpression
+                    // InternalSignalDSL.g:3097:2: ( ruleXBasicForLoopExpression )
+                    // InternalSignalDSL.g:3098:3: ruleXBasicForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); 
@@ -11078,10 +11150,10 @@
                     }
                     break;
                 case 10 :
-                    // InternalSignalDSL.g:3078:2: ( ruleXWhileExpression )
+                    // InternalSignalDSL.g:3103:2: ( ruleXWhileExpression )
                     {
-                    // InternalSignalDSL.g:3078:2: ( ruleXWhileExpression )
-                    // InternalSignalDSL.g:3079:3: ruleXWhileExpression
+                    // InternalSignalDSL.g:3103:2: ( ruleXWhileExpression )
+                    // InternalSignalDSL.g:3104:3: ruleXWhileExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); 
@@ -11101,10 +11173,10 @@
                     }
                     break;
                 case 11 :
-                    // InternalSignalDSL.g:3084:2: ( ruleXDoWhileExpression )
+                    // InternalSignalDSL.g:3109:2: ( ruleXDoWhileExpression )
                     {
-                    // InternalSignalDSL.g:3084:2: ( ruleXDoWhileExpression )
-                    // InternalSignalDSL.g:3085:3: ruleXDoWhileExpression
+                    // InternalSignalDSL.g:3109:2: ( ruleXDoWhileExpression )
+                    // InternalSignalDSL.g:3110:3: ruleXDoWhileExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); 
@@ -11124,10 +11196,10 @@
                     }
                     break;
                 case 12 :
-                    // InternalSignalDSL.g:3090:2: ( ruleXThrowExpression )
+                    // InternalSignalDSL.g:3115:2: ( ruleXThrowExpression )
                     {
-                    // InternalSignalDSL.g:3090:2: ( ruleXThrowExpression )
-                    // InternalSignalDSL.g:3091:3: ruleXThrowExpression
+                    // InternalSignalDSL.g:3115:2: ( ruleXThrowExpression )
+                    // InternalSignalDSL.g:3116:3: ruleXThrowExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); 
@@ -11147,10 +11219,10 @@
                     }
                     break;
                 case 13 :
-                    // InternalSignalDSL.g:3096:2: ( ruleXReturnExpression )
+                    // InternalSignalDSL.g:3121:2: ( ruleXReturnExpression )
                     {
-                    // InternalSignalDSL.g:3096:2: ( ruleXReturnExpression )
-                    // InternalSignalDSL.g:3097:3: ruleXReturnExpression
+                    // InternalSignalDSL.g:3121:2: ( ruleXReturnExpression )
+                    // InternalSignalDSL.g:3122:3: ruleXReturnExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); 
@@ -11170,10 +11242,10 @@
                     }
                     break;
                 case 14 :
-                    // InternalSignalDSL.g:3102:2: ( ruleXTryCatchFinallyExpression )
+                    // InternalSignalDSL.g:3127:2: ( ruleXTryCatchFinallyExpression )
                     {
-                    // InternalSignalDSL.g:3102:2: ( ruleXTryCatchFinallyExpression )
-                    // InternalSignalDSL.g:3103:3: ruleXTryCatchFinallyExpression
+                    // InternalSignalDSL.g:3127:2: ( ruleXTryCatchFinallyExpression )
+                    // InternalSignalDSL.g:3128:3: ruleXTryCatchFinallyExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); 
@@ -11193,10 +11265,10 @@
                     }
                     break;
                 case 15 :
-                    // InternalSignalDSL.g:3108:2: ( ruleXParenthesizedExpression )
+                    // InternalSignalDSL.g:3133:2: ( ruleXParenthesizedExpression )
                     {
-                    // InternalSignalDSL.g:3108:2: ( ruleXParenthesizedExpression )
-                    // InternalSignalDSL.g:3109:3: ruleXParenthesizedExpression
+                    // InternalSignalDSL.g:3133:2: ( ruleXParenthesizedExpression )
+                    // InternalSignalDSL.g:3134:3: ruleXParenthesizedExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); 
@@ -11233,27 +11305,27 @@
 
 
     // $ANTLR start "rule__XLiteral__Alternatives"
-    // InternalSignalDSL.g:3118:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) );
+    // InternalSignalDSL.g:3143:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) );
     public final void rule__XLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3122:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) )
+            // InternalSignalDSL.g:3147:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) )
             int alt28=7;
             switch ( input.LA(1) ) {
-            case 78:
+            case 75:
                 {
                 alt28=1;
                 }
                 break;
-            case 79:
+            case 76:
                 {
                 alt28=2;
                 }
                 break;
             case 50:
-            case 106:
+            case 103:
                 {
                 alt28=3;
                 }
@@ -11265,7 +11337,7 @@
                 alt28=4;
                 }
                 break;
-            case 91:
+            case 88:
                 {
                 alt28=5;
                 }
@@ -11275,7 +11347,7 @@
                 alt28=6;
                 }
                 break;
-            case 92:
+            case 89:
                 {
                 alt28=7;
                 }
@@ -11290,10 +11362,10 @@
 
             switch (alt28) {
                 case 1 :
-                    // InternalSignalDSL.g:3123:2: ( ruleXCollectionLiteral )
+                    // InternalSignalDSL.g:3148:2: ( ruleXCollectionLiteral )
                     {
-                    // InternalSignalDSL.g:3123:2: ( ruleXCollectionLiteral )
-                    // InternalSignalDSL.g:3124:3: ruleXCollectionLiteral
+                    // InternalSignalDSL.g:3148:2: ( ruleXCollectionLiteral )
+                    // InternalSignalDSL.g:3149:3: ruleXCollectionLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); 
@@ -11313,16 +11385,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3129:2: ( ( ruleXClosure ) )
+                    // InternalSignalDSL.g:3154:2: ( ( ruleXClosure ) )
                     {
-                    // InternalSignalDSL.g:3129:2: ( ( ruleXClosure ) )
-                    // InternalSignalDSL.g:3130:3: ( ruleXClosure )
+                    // InternalSignalDSL.g:3154:2: ( ( ruleXClosure ) )
+                    // InternalSignalDSL.g:3155:3: ( ruleXClosure )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); 
                     }
-                    // InternalSignalDSL.g:3131:3: ( ruleXClosure )
-                    // InternalSignalDSL.g:3131:4: ruleXClosure
+                    // InternalSignalDSL.g:3156:3: ( ruleXClosure )
+                    // InternalSignalDSL.g:3156:4: ruleXClosure
                     {
                     pushFollow(FOLLOW_2);
                     ruleXClosure();
@@ -11342,10 +11414,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:3135:2: ( ruleXBooleanLiteral )
+                    // InternalSignalDSL.g:3160:2: ( ruleXBooleanLiteral )
                     {
-                    // InternalSignalDSL.g:3135:2: ( ruleXBooleanLiteral )
-                    // InternalSignalDSL.g:3136:3: ruleXBooleanLiteral
+                    // InternalSignalDSL.g:3160:2: ( ruleXBooleanLiteral )
+                    // InternalSignalDSL.g:3161:3: ruleXBooleanLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); 
@@ -11365,10 +11437,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:3141:2: ( ruleXNumberLiteral )
+                    // InternalSignalDSL.g:3166:2: ( ruleXNumberLiteral )
                     {
-                    // InternalSignalDSL.g:3141:2: ( ruleXNumberLiteral )
-                    // InternalSignalDSL.g:3142:3: ruleXNumberLiteral
+                    // InternalSignalDSL.g:3166:2: ( ruleXNumberLiteral )
+                    // InternalSignalDSL.g:3167:3: ruleXNumberLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); 
@@ -11388,10 +11460,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:3147:2: ( ruleXNullLiteral )
+                    // InternalSignalDSL.g:3172:2: ( ruleXNullLiteral )
                     {
-                    // InternalSignalDSL.g:3147:2: ( ruleXNullLiteral )
-                    // InternalSignalDSL.g:3148:3: ruleXNullLiteral
+                    // InternalSignalDSL.g:3172:2: ( ruleXNullLiteral )
+                    // InternalSignalDSL.g:3173:3: ruleXNullLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); 
@@ -11411,10 +11483,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:3153:2: ( ruleXStringLiteral )
+                    // InternalSignalDSL.g:3178:2: ( ruleXStringLiteral )
                     {
-                    // InternalSignalDSL.g:3153:2: ( ruleXStringLiteral )
-                    // InternalSignalDSL.g:3154:3: ruleXStringLiteral
+                    // InternalSignalDSL.g:3178:2: ( ruleXStringLiteral )
+                    // InternalSignalDSL.g:3179:3: ruleXStringLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); 
@@ -11434,10 +11506,10 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:3159:2: ( ruleXTypeLiteral )
+                    // InternalSignalDSL.g:3184:2: ( ruleXTypeLiteral )
                     {
-                    // InternalSignalDSL.g:3159:2: ( ruleXTypeLiteral )
-                    // InternalSignalDSL.g:3160:3: ruleXTypeLiteral
+                    // InternalSignalDSL.g:3184:2: ( ruleXTypeLiteral )
+                    // InternalSignalDSL.g:3185:3: ruleXTypeLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); 
@@ -11474,23 +11546,23 @@
 
 
     // $ANTLR start "rule__XCollectionLiteral__Alternatives"
-    // InternalSignalDSL.g:3169:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) );
+    // InternalSignalDSL.g:3194:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) );
     public final void rule__XCollectionLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3173:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) )
+            // InternalSignalDSL.g:3198:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) )
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==78) ) {
+            if ( (LA29_0==75) ) {
                 int LA29_1 = input.LA(2);
 
-                if ( (LA29_1==64) ) {
+                if ( (LA29_1==60) ) {
                     alt29=1;
                 }
-                else if ( (LA29_1==79) ) {
+                else if ( (LA29_1==76) ) {
                     alt29=2;
                 }
                 else {
@@ -11510,10 +11582,10 @@
             }
             switch (alt29) {
                 case 1 :
-                    // InternalSignalDSL.g:3174:2: ( ruleXSetLiteral )
+                    // InternalSignalDSL.g:3199:2: ( ruleXSetLiteral )
                     {
-                    // InternalSignalDSL.g:3174:2: ( ruleXSetLiteral )
-                    // InternalSignalDSL.g:3175:3: ruleXSetLiteral
+                    // InternalSignalDSL.g:3199:2: ( ruleXSetLiteral )
+                    // InternalSignalDSL.g:3200:3: ruleXSetLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); 
@@ -11533,10 +11605,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3180:2: ( ruleXListLiteral )
+                    // InternalSignalDSL.g:3205:2: ( ruleXListLiteral )
                     {
-                    // InternalSignalDSL.g:3180:2: ( ruleXListLiteral )
-                    // InternalSignalDSL.g:3181:3: ruleXListLiteral
+                    // InternalSignalDSL.g:3205:2: ( ruleXListLiteral )
+                    // InternalSignalDSL.g:3206:3: ruleXListLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); 
@@ -11573,27 +11645,27 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Alternatives_2"
-    // InternalSignalDSL.g:3190:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );
+    // InternalSignalDSL.g:3215:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );
     public final void rule__XSwitchExpression__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3194:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) )
+            // InternalSignalDSL.g:3219:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) )
             int alt30=2;
             alt30 = dfa30.predict(input);
             switch (alt30) {
                 case 1 :
-                    // InternalSignalDSL.g:3195:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3220:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3195:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
-                    // InternalSignalDSL.g:3196:3: ( rule__XSwitchExpression__Group_2_0__0 )
+                    // InternalSignalDSL.g:3220:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3221:3: ( rule__XSwitchExpression__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); 
                     }
-                    // InternalSignalDSL.g:3197:3: ( rule__XSwitchExpression__Group_2_0__0 )
-                    // InternalSignalDSL.g:3197:4: rule__XSwitchExpression__Group_2_0__0
+                    // InternalSignalDSL.g:3222:3: ( rule__XSwitchExpression__Group_2_0__0 )
+                    // InternalSignalDSL.g:3222:4: rule__XSwitchExpression__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_0__0();
@@ -11613,16 +11685,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3201:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
+                    // InternalSignalDSL.g:3226:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3201:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
-                    // InternalSignalDSL.g:3202:3: ( rule__XSwitchExpression__Group_2_1__0 )
+                    // InternalSignalDSL.g:3226:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
+                    // InternalSignalDSL.g:3227:3: ( rule__XSwitchExpression__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); 
                     }
-                    // InternalSignalDSL.g:3203:3: ( rule__XSwitchExpression__Group_2_1__0 )
-                    // InternalSignalDSL.g:3203:4: rule__XSwitchExpression__Group_2_1__0
+                    // InternalSignalDSL.g:3228:3: ( rule__XSwitchExpression__Group_2_1__0 )
+                    // InternalSignalDSL.g:3228:4: rule__XSwitchExpression__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_1__0();
@@ -11659,20 +11731,20 @@
 
 
     // $ANTLR start "rule__XCasePart__Alternatives_3"
-    // InternalSignalDSL.g:3211:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) );
+    // InternalSignalDSL.g:3236:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) );
     public final void rule__XCasePart__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3215:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) )
+            // InternalSignalDSL.g:3240:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) )
             int alt31=2;
             int LA31_0 = input.LA(1);
 
-            if ( (LA31_0==85) ) {
+            if ( (LA31_0==82) ) {
                 alt31=1;
             }
-            else if ( (LA31_0==76) ) {
+            else if ( (LA31_0==73) ) {
                 alt31=2;
             }
             else {
@@ -11684,16 +11756,16 @@
             }
             switch (alt31) {
                 case 1 :
-                    // InternalSignalDSL.g:3216:2: ( ( rule__XCasePart__Group_3_0__0 ) )
+                    // InternalSignalDSL.g:3241:2: ( ( rule__XCasePart__Group_3_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3216:2: ( ( rule__XCasePart__Group_3_0__0 ) )
-                    // InternalSignalDSL.g:3217:3: ( rule__XCasePart__Group_3_0__0 )
+                    // InternalSignalDSL.g:3241:2: ( ( rule__XCasePart__Group_3_0__0 ) )
+                    // InternalSignalDSL.g:3242:3: ( rule__XCasePart__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCasePartAccess().getGroup_3_0()); 
                     }
-                    // InternalSignalDSL.g:3218:3: ( rule__XCasePart__Group_3_0__0 )
-                    // InternalSignalDSL.g:3218:4: rule__XCasePart__Group_3_0__0
+                    // InternalSignalDSL.g:3243:3: ( rule__XCasePart__Group_3_0__0 )
+                    // InternalSignalDSL.g:3243:4: rule__XCasePart__Group_3_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__Group_3_0__0();
@@ -11713,16 +11785,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3222:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
+                    // InternalSignalDSL.g:3247:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
                     {
-                    // InternalSignalDSL.g:3222:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
-                    // InternalSignalDSL.g:3223:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
+                    // InternalSignalDSL.g:3247:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
+                    // InternalSignalDSL.g:3248:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); 
                     }
-                    // InternalSignalDSL.g:3224:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
-                    // InternalSignalDSL.g:3224:4: rule__XCasePart__FallThroughAssignment_3_1
+                    // InternalSignalDSL.g:3249:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
+                    // InternalSignalDSL.g:3249:4: rule__XCasePart__FallThroughAssignment_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__FallThroughAssignment_3_1();
@@ -11759,20 +11831,20 @@
 
 
     // $ANTLR start "rule__XExpressionOrVarDeclaration__Alternatives"
-    // InternalSignalDSL.g:3232:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) );
+    // InternalSignalDSL.g:3257:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) );
     public final void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3236:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) )
+            // InternalSignalDSL.g:3261:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) )
             int alt32=2;
             int LA32_0 = input.LA(1);
 
-            if ( (LA32_0==44||LA32_0==105) ) {
+            if ( (LA32_0==44||LA32_0==102) ) {
                 alt32=1;
             }
-            else if ( ((LA32_0>=RULE_ID && LA32_0<=RULE_STRING)||LA32_0==27||(LA32_0>=34 && LA32_0<=35)||LA32_0==40||(LA32_0>=45 && LA32_0<=50)||LA32_0==64||LA32_0==68||LA32_0==74||(LA32_0>=78 && LA32_0<=79)||LA32_0==82||LA32_0==84||(LA32_0>=88 && LA32_0<=95)||LA32_0==97||LA32_0==106) ) {
+            else if ( ((LA32_0>=RULE_ID && LA32_0<=RULE_STRING)||LA32_0==27||(LA32_0>=34 && LA32_0<=35)||LA32_0==40||(LA32_0>=45 && LA32_0<=50)||LA32_0==60||LA32_0==64||LA32_0==71||(LA32_0>=75 && LA32_0<=76)||LA32_0==79||LA32_0==81||(LA32_0>=85 && LA32_0<=92)||LA32_0==94||LA32_0==103) ) {
                 alt32=2;
             }
             else {
@@ -11784,10 +11856,10 @@
             }
             switch (alt32) {
                 case 1 :
-                    // InternalSignalDSL.g:3237:2: ( ruleXVariableDeclaration )
+                    // InternalSignalDSL.g:3262:2: ( ruleXVariableDeclaration )
                     {
-                    // InternalSignalDSL.g:3237:2: ( ruleXVariableDeclaration )
-                    // InternalSignalDSL.g:3238:3: ruleXVariableDeclaration
+                    // InternalSignalDSL.g:3262:2: ( ruleXVariableDeclaration )
+                    // InternalSignalDSL.g:3263:3: ruleXVariableDeclaration
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); 
@@ -11807,10 +11879,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3243:2: ( ruleXExpression )
+                    // InternalSignalDSL.g:3268:2: ( ruleXExpression )
                     {
-                    // InternalSignalDSL.g:3243:2: ( ruleXExpression )
-                    // InternalSignalDSL.g:3244:3: ruleXExpression
+                    // InternalSignalDSL.g:3268:2: ( ruleXExpression )
+                    // InternalSignalDSL.g:3269:3: ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); 
@@ -11847,17 +11919,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Alternatives_1"
-    // InternalSignalDSL.g:3253:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) );
+    // InternalSignalDSL.g:3278:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) );
     public final void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3257:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) )
+            // InternalSignalDSL.g:3282:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) )
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==105) ) {
+            if ( (LA33_0==102) ) {
                 alt33=1;
             }
             else if ( (LA33_0==44) ) {
@@ -11872,16 +11944,16 @@
             }
             switch (alt33) {
                 case 1 :
-                    // InternalSignalDSL.g:3258:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
+                    // InternalSignalDSL.g:3283:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
                     {
-                    // InternalSignalDSL.g:3258:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
-                    // InternalSignalDSL.g:3259:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
+                    // InternalSignalDSL.g:3283:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
+                    // InternalSignalDSL.g:3284:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); 
                     }
-                    // InternalSignalDSL.g:3260:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
-                    // InternalSignalDSL.g:3260:4: rule__XVariableDeclaration__WriteableAssignment_1_0
+                    // InternalSignalDSL.g:3285:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
+                    // InternalSignalDSL.g:3285:4: rule__XVariableDeclaration__WriteableAssignment_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__WriteableAssignment_1_0();
@@ -11901,10 +11973,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3264:2: ( 'val' )
+                    // InternalSignalDSL.g:3289:2: ( 'val' )
                     {
-                    // InternalSignalDSL.g:3264:2: ( 'val' )
-                    // InternalSignalDSL.g:3265:3: 'val'
+                    // InternalSignalDSL.g:3289:2: ( 'val' )
+                    // InternalSignalDSL.g:3290:3: 'val'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); 
@@ -11937,13 +12009,13 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Alternatives_2"
-    // InternalSignalDSL.g:3274:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) );
+    // InternalSignalDSL.g:3299:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) );
     public final void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3278:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) )
+            // InternalSignalDSL.g:3303:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) )
             int alt34=2;
             int LA34_0 = input.LA(1);
 
@@ -11964,7 +12036,7 @@
                     throw nvae;
                 }
             }
-            else if ( (LA34_0==31||LA34_0==74) ) {
+            else if ( (LA34_0==31||LA34_0==71) ) {
                 alt34=1;
             }
             else {
@@ -11976,16 +12048,16 @@
             }
             switch (alt34) {
                 case 1 :
-                    // InternalSignalDSL.g:3279:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3304:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3279:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
-                    // InternalSignalDSL.g:3280:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+                    // InternalSignalDSL.g:3304:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3305:3: ( rule__XVariableDeclaration__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); 
                     }
-                    // InternalSignalDSL.g:3281:3: ( rule__XVariableDeclaration__Group_2_0__0 )
-                    // InternalSignalDSL.g:3281:4: rule__XVariableDeclaration__Group_2_0__0
+                    // InternalSignalDSL.g:3306:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+                    // InternalSignalDSL.g:3306:4: rule__XVariableDeclaration__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__Group_2_0__0();
@@ -12005,16 +12077,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3285:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
+                    // InternalSignalDSL.g:3310:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
                     {
-                    // InternalSignalDSL.g:3285:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
-                    // InternalSignalDSL.g:3286:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
+                    // InternalSignalDSL.g:3310:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
+                    // InternalSignalDSL.g:3311:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); 
                     }
-                    // InternalSignalDSL.g:3287:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
-                    // InternalSignalDSL.g:3287:4: rule__XVariableDeclaration__NameAssignment_2_1
+                    // InternalSignalDSL.g:3312:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
+                    // InternalSignalDSL.g:3312:4: rule__XVariableDeclaration__NameAssignment_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__NameAssignment_2_1();
@@ -12051,27 +12123,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Alternatives_3_1"
-    // InternalSignalDSL.g:3295:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );
+    // InternalSignalDSL.g:3320:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );
     public final void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3299:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) )
+            // InternalSignalDSL.g:3324:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) )
             int alt35=2;
             alt35 = dfa35.predict(input);
             switch (alt35) {
                 case 1 :
-                    // InternalSignalDSL.g:3300:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+                    // InternalSignalDSL.g:3325:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
                     {
-                    // InternalSignalDSL.g:3300:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
-                    // InternalSignalDSL.g:3301:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+                    // InternalSignalDSL.g:3325:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+                    // InternalSignalDSL.g:3326:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); 
                     }
-                    // InternalSignalDSL.g:3302:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
-                    // InternalSignalDSL.g:3302:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
+                    // InternalSignalDSL.g:3327:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+                    // InternalSignalDSL.g:3327:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0();
@@ -12091,16 +12163,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3306:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
+                    // InternalSignalDSL.g:3331:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3306:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
-                    // InternalSignalDSL.g:3307:3: ( rule__XFeatureCall__Group_3_1_1__0 )
+                    // InternalSignalDSL.g:3331:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
+                    // InternalSignalDSL.g:3332:3: ( rule__XFeatureCall__Group_3_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); 
                     }
-                    // InternalSignalDSL.g:3308:3: ( rule__XFeatureCall__Group_3_1_1__0 )
-                    // InternalSignalDSL.g:3308:4: rule__XFeatureCall__Group_3_1_1__0
+                    // InternalSignalDSL.g:3333:3: ( rule__XFeatureCall__Group_3_1_1__0 )
+                    // InternalSignalDSL.g:3333:4: rule__XFeatureCall__Group_3_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_3_1_1__0();
@@ -12137,13 +12209,13 @@
 
 
     // $ANTLR start "rule__FeatureCallID__Alternatives"
-    // InternalSignalDSL.g:3316:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) );
+    // InternalSignalDSL.g:3341:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) );
     public final void rule__FeatureCallID__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3320:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) )
+            // InternalSignalDSL.g:3345:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) )
             int alt36=5;
             switch ( input.LA(1) ) {
             case RULE_ID:
@@ -12181,10 +12253,10 @@
 
             switch (alt36) {
                 case 1 :
-                    // InternalSignalDSL.g:3321:2: ( ruleValidID )
+                    // InternalSignalDSL.g:3346:2: ( ruleValidID )
                     {
-                    // InternalSignalDSL.g:3321:2: ( ruleValidID )
-                    // InternalSignalDSL.g:3322:3: ruleValidID
+                    // InternalSignalDSL.g:3346:2: ( ruleValidID )
+                    // InternalSignalDSL.g:3347:3: ruleValidID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); 
@@ -12204,10 +12276,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3327:2: ( 'extends' )
+                    // InternalSignalDSL.g:3352:2: ( 'extends' )
                     {
-                    // InternalSignalDSL.g:3327:2: ( 'extends' )
-                    // InternalSignalDSL.g:3328:3: 'extends'
+                    // InternalSignalDSL.g:3352:2: ( 'extends' )
+                    // InternalSignalDSL.g:3353:3: 'extends'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); 
@@ -12223,10 +12295,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:3333:2: ( 'static' )
+                    // InternalSignalDSL.g:3358:2: ( 'static' )
                     {
-                    // InternalSignalDSL.g:3333:2: ( 'static' )
-                    // InternalSignalDSL.g:3334:3: 'static'
+                    // InternalSignalDSL.g:3358:2: ( 'static' )
+                    // InternalSignalDSL.g:3359:3: 'static'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); 
@@ -12242,10 +12314,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:3339:2: ( 'import' )
+                    // InternalSignalDSL.g:3364:2: ( 'import' )
                     {
-                    // InternalSignalDSL.g:3339:2: ( 'import' )
-                    // InternalSignalDSL.g:3340:3: 'import'
+                    // InternalSignalDSL.g:3364:2: ( 'import' )
+                    // InternalSignalDSL.g:3365:3: 'import'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); 
@@ -12261,10 +12333,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:3345:2: ( 'extension' )
+                    // InternalSignalDSL.g:3370:2: ( 'extension' )
                     {
-                    // InternalSignalDSL.g:3345:2: ( 'extension' )
-                    // InternalSignalDSL.g:3346:3: 'extension'
+                    // InternalSignalDSL.g:3370:2: ( 'extension' )
+                    // InternalSignalDSL.g:3371:3: 'extension'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); 
@@ -12297,13 +12369,13 @@
 
 
     // $ANTLR start "rule__IdOrSuper__Alternatives"
-    // InternalSignalDSL.g:3355:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) );
+    // InternalSignalDSL.g:3380:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) );
     public final void rule__IdOrSuper__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3359:1: ( ( ruleFeatureCallID ) | ( 'super' ) )
+            // InternalSignalDSL.g:3384:1: ( ( ruleFeatureCallID ) | ( 'super' ) )
             int alt37=2;
             int LA37_0 = input.LA(1);
 
@@ -12322,10 +12394,10 @@
             }
             switch (alt37) {
                 case 1 :
-                    // InternalSignalDSL.g:3360:2: ( ruleFeatureCallID )
+                    // InternalSignalDSL.g:3385:2: ( ruleFeatureCallID )
                     {
-                    // InternalSignalDSL.g:3360:2: ( ruleFeatureCallID )
-                    // InternalSignalDSL.g:3361:3: ruleFeatureCallID
+                    // InternalSignalDSL.g:3385:2: ( ruleFeatureCallID )
+                    // InternalSignalDSL.g:3386:3: ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); 
@@ -12345,10 +12417,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3366:2: ( 'super' )
+                    // InternalSignalDSL.g:3391:2: ( 'super' )
                     {
-                    // InternalSignalDSL.g:3366:2: ( 'super' )
-                    // InternalSignalDSL.g:3367:3: 'super'
+                    // InternalSignalDSL.g:3391:2: ( 'super' )
+                    // InternalSignalDSL.g:3392:3: 'super'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); 
@@ -12381,27 +12453,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Alternatives_4_1"
-    // InternalSignalDSL.g:3376:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );
+    // InternalSignalDSL.g:3401:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );
     public final void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3380:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) )
+            // InternalSignalDSL.g:3405:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) )
             int alt38=2;
             alt38 = dfa38.predict(input);
             switch (alt38) {
                 case 1 :
-                    // InternalSignalDSL.g:3381:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+                    // InternalSignalDSL.g:3406:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
                     {
-                    // InternalSignalDSL.g:3381:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
-                    // InternalSignalDSL.g:3382:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+                    // InternalSignalDSL.g:3406:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+                    // InternalSignalDSL.g:3407:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); 
                     }
-                    // InternalSignalDSL.g:3383:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
-                    // InternalSignalDSL.g:3383:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
+                    // InternalSignalDSL.g:3408:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+                    // InternalSignalDSL.g:3408:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__ArgumentsAssignment_4_1_0();
@@ -12421,16 +12493,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3387:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
+                    // InternalSignalDSL.g:3412:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3387:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
-                    // InternalSignalDSL.g:3388:3: ( rule__XConstructorCall__Group_4_1_1__0 )
+                    // InternalSignalDSL.g:3412:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
+                    // InternalSignalDSL.g:3413:3: ( rule__XConstructorCall__Group_4_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); 
                     }
-                    // InternalSignalDSL.g:3389:3: ( rule__XConstructorCall__Group_4_1_1__0 )
-                    // InternalSignalDSL.g:3389:4: rule__XConstructorCall__Group_4_1_1__0
+                    // InternalSignalDSL.g:3414:3: ( rule__XConstructorCall__Group_4_1_1__0 )
+                    // InternalSignalDSL.g:3414:4: rule__XConstructorCall__Group_4_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_4_1_1__0();
@@ -12467,20 +12539,20 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Alternatives_1"
-    // InternalSignalDSL.g:3397:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // InternalSignalDSL.g:3422:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3401:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:3426:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt39=2;
             int LA39_0 = input.LA(1);
 
             if ( (LA39_0==50) ) {
                 alt39=1;
             }
-            else if ( (LA39_0==106) ) {
+            else if ( (LA39_0==103) ) {
                 alt39=2;
             }
             else {
@@ -12492,10 +12564,10 @@
             }
             switch (alt39) {
                 case 1 :
-                    // InternalSignalDSL.g:3402:2: ( 'false' )
+                    // InternalSignalDSL.g:3427:2: ( 'false' )
                     {
-                    // InternalSignalDSL.g:3402:2: ( 'false' )
-                    // InternalSignalDSL.g:3403:3: 'false'
+                    // InternalSignalDSL.g:3427:2: ( 'false' )
+                    // InternalSignalDSL.g:3428:3: 'false'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); 
@@ -12511,16 +12583,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3408:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // InternalSignalDSL.g:3433:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // InternalSignalDSL.g:3408:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // InternalSignalDSL.g:3409:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
+                    // InternalSignalDSL.g:3433:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // InternalSignalDSL.g:3434:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
                     }
-                    // InternalSignalDSL.g:3410:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
-                    // InternalSignalDSL.g:3410:4: rule__XBooleanLiteral__IsTrueAssignment_1_1
+                    // InternalSignalDSL.g:3435:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
+                    // InternalSignalDSL.g:3435:4: rule__XBooleanLiteral__IsTrueAssignment_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBooleanLiteral__IsTrueAssignment_1_1();
@@ -12557,20 +12629,20 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Alternatives_3"
-    // InternalSignalDSL.g:3418:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) );
+    // InternalSignalDSL.g:3443:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) );
     public final void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3422:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) )
+            // InternalSignalDSL.g:3447:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) )
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==98) ) {
+            if ( (LA40_0==95) ) {
                 alt40=1;
             }
-            else if ( (LA40_0==96) ) {
+            else if ( (LA40_0==93) ) {
                 alt40=2;
             }
             else {
@@ -12582,16 +12654,16 @@
             }
             switch (alt40) {
                 case 1 :
-                    // InternalSignalDSL.g:3423:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
+                    // InternalSignalDSL.g:3448:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3423:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
-                    // InternalSignalDSL.g:3424:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
+                    // InternalSignalDSL.g:3448:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
+                    // InternalSignalDSL.g:3449:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); 
                     }
-                    // InternalSignalDSL.g:3425:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
-                    // InternalSignalDSL.g:3425:4: rule__XTryCatchFinallyExpression__Group_3_0__0
+                    // InternalSignalDSL.g:3450:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
+                    // InternalSignalDSL.g:3450:4: rule__XTryCatchFinallyExpression__Group_3_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_0__0();
@@ -12611,16 +12683,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3429:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
+                    // InternalSignalDSL.g:3454:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3429:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
-                    // InternalSignalDSL.g:3430:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
+                    // InternalSignalDSL.g:3454:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
+                    // InternalSignalDSL.g:3455:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); 
                     }
-                    // InternalSignalDSL.g:3431:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
-                    // InternalSignalDSL.g:3431:4: rule__XTryCatchFinallyExpression__Group_3_1__0
+                    // InternalSignalDSL.g:3456:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
+                    // InternalSignalDSL.g:3456:4: rule__XTryCatchFinallyExpression__Group_3_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_1__0();
@@ -12657,13 +12729,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives"
-    // InternalSignalDSL.g:3439:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) );
+    // InternalSignalDSL.g:3464:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) );
     public final void rule__Number__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3443:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) )
+            // InternalSignalDSL.g:3468:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) )
             int alt41=2;
             int LA41_0 = input.LA(1);
 
@@ -12682,10 +12754,10 @@
             }
             switch (alt41) {
                 case 1 :
-                    // InternalSignalDSL.g:3444:2: ( RULE_HEX )
+                    // InternalSignalDSL.g:3469:2: ( RULE_HEX )
                     {
-                    // InternalSignalDSL.g:3444:2: ( RULE_HEX )
-                    // InternalSignalDSL.g:3445:3: RULE_HEX
+                    // InternalSignalDSL.g:3469:2: ( RULE_HEX )
+                    // InternalSignalDSL.g:3470:3: RULE_HEX
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); 
@@ -12701,16 +12773,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3450:2: ( ( rule__Number__Group_1__0 ) )
+                    // InternalSignalDSL.g:3475:2: ( ( rule__Number__Group_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3450:2: ( ( rule__Number__Group_1__0 ) )
-                    // InternalSignalDSL.g:3451:3: ( rule__Number__Group_1__0 )
+                    // InternalSignalDSL.g:3475:2: ( ( rule__Number__Group_1__0 ) )
+                    // InternalSignalDSL.g:3476:3: ( rule__Number__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getGroup_1()); 
                     }
-                    // InternalSignalDSL.g:3452:3: ( rule__Number__Group_1__0 )
-                    // InternalSignalDSL.g:3452:4: rule__Number__Group_1__0
+                    // InternalSignalDSL.g:3477:3: ( rule__Number__Group_1__0 )
+                    // InternalSignalDSL.g:3477:4: rule__Number__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Number__Group_1__0();
@@ -12747,13 +12819,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives_1_0"
-    // InternalSignalDSL.g:3460:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
+    // InternalSignalDSL.g:3485:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
     public final void rule__Number__Alternatives_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3464:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
+            // InternalSignalDSL.g:3489:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
             int alt42=2;
             int LA42_0 = input.LA(1);
 
@@ -12772,10 +12844,10 @@
             }
             switch (alt42) {
                 case 1 :
-                    // InternalSignalDSL.g:3465:2: ( RULE_INT )
+                    // InternalSignalDSL.g:3490:2: ( RULE_INT )
                     {
-                    // InternalSignalDSL.g:3465:2: ( RULE_INT )
-                    // InternalSignalDSL.g:3466:3: RULE_INT
+                    // InternalSignalDSL.g:3490:2: ( RULE_INT )
+                    // InternalSignalDSL.g:3491:3: RULE_INT
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); 
@@ -12791,10 +12863,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3471:2: ( RULE_DECIMAL )
+                    // InternalSignalDSL.g:3496:2: ( RULE_DECIMAL )
                     {
-                    // InternalSignalDSL.g:3471:2: ( RULE_DECIMAL )
-                    // InternalSignalDSL.g:3472:3: RULE_DECIMAL
+                    // InternalSignalDSL.g:3496:2: ( RULE_DECIMAL )
+                    // InternalSignalDSL.g:3497:3: RULE_DECIMAL
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); 
@@ -12827,13 +12899,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives_1_1_1"
-    // InternalSignalDSL.g:3481:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
+    // InternalSignalDSL.g:3506:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
     public final void rule__Number__Alternatives_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3485:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
+            // InternalSignalDSL.g:3510:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
             int alt43=2;
             int LA43_0 = input.LA(1);
 
@@ -12852,10 +12924,10 @@
             }
             switch (alt43) {
                 case 1 :
-                    // InternalSignalDSL.g:3486:2: ( RULE_INT )
+                    // InternalSignalDSL.g:3511:2: ( RULE_INT )
                     {
-                    // InternalSignalDSL.g:3486:2: ( RULE_INT )
-                    // InternalSignalDSL.g:3487:3: RULE_INT
+                    // InternalSignalDSL.g:3511:2: ( RULE_INT )
+                    // InternalSignalDSL.g:3512:3: RULE_INT
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); 
@@ -12871,10 +12943,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3492:2: ( RULE_DECIMAL )
+                    // InternalSignalDSL.g:3517:2: ( RULE_DECIMAL )
                     {
-                    // InternalSignalDSL.g:3492:2: ( RULE_DECIMAL )
-                    // InternalSignalDSL.g:3493:3: RULE_DECIMAL
+                    // InternalSignalDSL.g:3517:2: ( RULE_DECIMAL )
+                    // InternalSignalDSL.g:3518:3: RULE_DECIMAL
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); 
@@ -12907,20 +12979,20 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Alternatives"
-    // InternalSignalDSL.g:3502:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) );
+    // InternalSignalDSL.g:3527:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) );
     public final void rule__JvmTypeReference__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3506:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) )
+            // InternalSignalDSL.g:3531:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) )
             int alt44=2;
             int LA44_0 = input.LA(1);
 
             if ( (LA44_0==RULE_ID) ) {
                 alt44=1;
             }
-            else if ( (LA44_0==31||LA44_0==74) ) {
+            else if ( (LA44_0==31||LA44_0==71) ) {
                 alt44=2;
             }
             else {
@@ -12932,16 +13004,16 @@
             }
             switch (alt44) {
                 case 1 :
-                    // InternalSignalDSL.g:3507:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
+                    // InternalSignalDSL.g:3532:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3507:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
-                    // InternalSignalDSL.g:3508:3: ( rule__JvmTypeReference__Group_0__0 )
+                    // InternalSignalDSL.g:3532:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
+                    // InternalSignalDSL.g:3533:3: ( rule__JvmTypeReference__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); 
                     }
-                    // InternalSignalDSL.g:3509:3: ( rule__JvmTypeReference__Group_0__0 )
-                    // InternalSignalDSL.g:3509:4: rule__JvmTypeReference__Group_0__0
+                    // InternalSignalDSL.g:3534:3: ( rule__JvmTypeReference__Group_0__0 )
+                    // InternalSignalDSL.g:3534:4: rule__JvmTypeReference__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmTypeReference__Group_0__0();
@@ -12961,10 +13033,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3513:2: ( ruleXFunctionTypeRef )
+                    // InternalSignalDSL.g:3538:2: ( ruleXFunctionTypeRef )
                     {
-                    // InternalSignalDSL.g:3513:2: ( ruleXFunctionTypeRef )
-                    // InternalSignalDSL.g:3514:3: ruleXFunctionTypeRef
+                    // InternalSignalDSL.g:3538:2: ( ruleXFunctionTypeRef )
+                    // InternalSignalDSL.g:3539:3: ruleXFunctionTypeRef
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); 
@@ -13001,20 +13073,20 @@
 
 
     // $ANTLR start "rule__JvmArgumentTypeReference__Alternatives"
-    // InternalSignalDSL.g:3523:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) );
+    // InternalSignalDSL.g:3548:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) );
     public final void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3527:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) )
+            // InternalSignalDSL.g:3552:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) )
             int alt45=2;
             int LA45_0 = input.LA(1);
 
-            if ( (LA45_0==RULE_ID||LA45_0==31||LA45_0==74) ) {
+            if ( (LA45_0==RULE_ID||LA45_0==31||LA45_0==71) ) {
                 alt45=1;
             }
-            else if ( (LA45_0==99) ) {
+            else if ( (LA45_0==96) ) {
                 alt45=2;
             }
             else {
@@ -13026,10 +13098,10 @@
             }
             switch (alt45) {
                 case 1 :
-                    // InternalSignalDSL.g:3528:2: ( ruleJvmTypeReference )
+                    // InternalSignalDSL.g:3553:2: ( ruleJvmTypeReference )
                     {
-                    // InternalSignalDSL.g:3528:2: ( ruleJvmTypeReference )
-                    // InternalSignalDSL.g:3529:3: ruleJvmTypeReference
+                    // InternalSignalDSL.g:3553:2: ( ruleJvmTypeReference )
+                    // InternalSignalDSL.g:3554:3: ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); 
@@ -13049,10 +13121,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3534:2: ( ruleJvmWildcardTypeReference )
+                    // InternalSignalDSL.g:3559:2: ( ruleJvmWildcardTypeReference )
                     {
-                    // InternalSignalDSL.g:3534:2: ( ruleJvmWildcardTypeReference )
-                    // InternalSignalDSL.g:3535:3: ruleJvmWildcardTypeReference
+                    // InternalSignalDSL.g:3559:2: ( ruleJvmWildcardTypeReference )
+                    // InternalSignalDSL.g:3560:3: ruleJvmWildcardTypeReference
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); 
@@ -13089,13 +13161,13 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Alternatives_2"
-    // InternalSignalDSL.g:3544:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) );
+    // InternalSignalDSL.g:3569:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) );
     public final void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3548:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) )
+            // InternalSignalDSL.g:3573:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) )
             int alt46=2;
             int LA46_0 = input.LA(1);
 
@@ -13114,16 +13186,16 @@
             }
             switch (alt46) {
                 case 1 :
-                    // InternalSignalDSL.g:3549:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3574:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
                     {
-                    // InternalSignalDSL.g:3549:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
-                    // InternalSignalDSL.g:3550:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
+                    // InternalSignalDSL.g:3574:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
+                    // InternalSignalDSL.g:3575:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); 
                     }
-                    // InternalSignalDSL.g:3551:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
-                    // InternalSignalDSL.g:3551:4: rule__JvmWildcardTypeReference__Group_2_0__0
+                    // InternalSignalDSL.g:3576:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
+                    // InternalSignalDSL.g:3576:4: rule__JvmWildcardTypeReference__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Group_2_0__0();
@@ -13143,16 +13215,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3555:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
+                    // InternalSignalDSL.g:3580:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
                     {
-                    // InternalSignalDSL.g:3555:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
-                    // InternalSignalDSL.g:3556:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
+                    // InternalSignalDSL.g:3580:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
+                    // InternalSignalDSL.g:3581:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); 
                     }
-                    // InternalSignalDSL.g:3557:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
-                    // InternalSignalDSL.g:3557:4: rule__JvmWildcardTypeReference__Group_2_1__0
+                    // InternalSignalDSL.g:3582:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
+                    // InternalSignalDSL.g:3582:4: rule__JvmWildcardTypeReference__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Group_2_1__0();
@@ -13189,13 +13261,13 @@
 
 
     // $ANTLR start "rule__SignalActionEnum__Alternatives"
-    // InternalSignalDSL.g:3565:1: rule__SignalActionEnum__Alternatives : ( ( ( 'Import' ) ) | ( ( 'Export' ) ) );
+    // InternalSignalDSL.g:3590:1: rule__SignalActionEnum__Alternatives : ( ( ( 'Import' ) ) | ( ( 'Export' ) ) );
     public final void rule__SignalActionEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3569:1: ( ( ( 'Import' ) ) | ( ( 'Export' ) ) )
+            // InternalSignalDSL.g:3594:1: ( ( ( 'Import' ) ) | ( ( 'Export' ) ) )
             int alt47=2;
             int LA47_0 = input.LA(1);
 
@@ -13214,16 +13286,16 @@
             }
             switch (alt47) {
                 case 1 :
-                    // InternalSignalDSL.g:3570:2: ( ( 'Import' ) )
+                    // InternalSignalDSL.g:3595:2: ( ( 'Import' ) )
                     {
-                    // InternalSignalDSL.g:3570:2: ( ( 'Import' ) )
-                    // InternalSignalDSL.g:3571:3: ( 'Import' )
+                    // InternalSignalDSL.g:3595:2: ( ( 'Import' ) )
+                    // InternalSignalDSL.g:3596:3: ( 'Import' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSignalActionEnumAccess().getDATAIMPORTEnumLiteralDeclaration_0()); 
                     }
-                    // InternalSignalDSL.g:3572:3: ( 'Import' )
-                    // InternalSignalDSL.g:3572:4: 'Import'
+                    // InternalSignalDSL.g:3597:3: ( 'Import' )
+                    // InternalSignalDSL.g:3597:4: 'Import'
                     {
                     match(input,51,FOLLOW_2); if (state.failed) return ;
 
@@ -13239,16 +13311,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3576:2: ( ( 'Export' ) )
+                    // InternalSignalDSL.g:3601:2: ( ( 'Export' ) )
                     {
-                    // InternalSignalDSL.g:3576:2: ( ( 'Export' ) )
-                    // InternalSignalDSL.g:3577:3: ( 'Export' )
+                    // InternalSignalDSL.g:3601:2: ( ( 'Export' ) )
+                    // InternalSignalDSL.g:3602:3: ( 'Export' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSignalActionEnumAccess().getDATAEXPORTEnumLiteralDeclaration_1()); 
                     }
-                    // InternalSignalDSL.g:3578:3: ( 'Export' )
-                    // InternalSignalDSL.g:3578:4: 'Export'
+                    // InternalSignalDSL.g:3603:3: ( 'Export' )
+                    // InternalSignalDSL.g:3603:4: 'Export'
                     {
                     match(input,52,FOLLOW_2); if (state.failed) return ;
 
@@ -13281,62 +13353,48 @@
 
 
     // $ANTLR start "rule__SignalTypeEnum__Alternatives"
-    // InternalSignalDSL.g:3586:1: rule__SignalTypeEnum__Alternatives : ( ( ( 'all' ) ) | ( ( 'createSignals' ) ) | ( ( 'modifySignals' ) ) | ( ( 'deleteSignals' ) ) );
+    // InternalSignalDSL.g:3611:1: rule__SignalTypeEnum__Alternatives : ( ( ( 'createSignals' ) ) | ( ( 'modifySignals' ) ) );
     public final void rule__SignalTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3590:1: ( ( ( 'all' ) ) | ( ( 'createSignals' ) ) | ( ( 'modifySignals' ) ) | ( ( 'deleteSignals' ) ) )
-            int alt48=4;
-            switch ( input.LA(1) ) {
-            case 53:
-                {
+            // InternalSignalDSL.g:3615:1: ( ( ( 'createSignals' ) ) | ( ( 'modifySignals' ) ) )
+            int alt48=2;
+            int LA48_0 = input.LA(1);
+
+            if ( (LA48_0==53) ) {
                 alt48=1;
-                }
-                break;
-            case 54:
-                {
+            }
+            else if ( (LA48_0==54) ) {
                 alt48=2;
-                }
-                break;
-            case 55:
-                {
-                alt48=3;
-                }
-                break;
-            case 56:
-                {
-                alt48=4;
-                }
-                break;
-            default:
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 48, 0, input);
 
                 throw nvae;
             }
-
             switch (alt48) {
                 case 1 :
-                    // InternalSignalDSL.g:3591:2: ( ( 'all' ) )
+                    // InternalSignalDSL.g:3616:2: ( ( 'createSignals' ) )
                     {
-                    // InternalSignalDSL.g:3591:2: ( ( 'all' ) )
-                    // InternalSignalDSL.g:3592:3: ( 'all' )
+                    // InternalSignalDSL.g:3616:2: ( ( 'createSignals' ) )
+                    // InternalSignalDSL.g:3617:3: ( 'createSignals' )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0()); 
+                       before(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0()); 
                     }
-                    // InternalSignalDSL.g:3593:3: ( 'all' )
-                    // InternalSignalDSL.g:3593:4: 'all'
+                    // InternalSignalDSL.g:3618:3: ( 'createSignals' )
+                    // InternalSignalDSL.g:3618:4: 'createSignals'
                     {
                     match(input,53,FOLLOW_2); if (state.failed) return ;
 
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0()); 
+                       after(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0()); 
                     }
 
                     }
@@ -13345,73 +13403,23 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3597:2: ( ( 'createSignals' ) )
+                    // InternalSignalDSL.g:3622:2: ( ( 'modifySignals' ) )
                     {
-                    // InternalSignalDSL.g:3597:2: ( ( 'createSignals' ) )
-                    // InternalSignalDSL.g:3598:3: ( 'createSignals' )
+                    // InternalSignalDSL.g:3622:2: ( ( 'modifySignals' ) )
+                    // InternalSignalDSL.g:3623:3: ( 'modifySignals' )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1()); 
+                       before(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1()); 
                     }
-                    // InternalSignalDSL.g:3599:3: ( 'createSignals' )
-                    // InternalSignalDSL.g:3599:4: 'createSignals'
+                    // InternalSignalDSL.g:3624:3: ( 'modifySignals' )
+                    // InternalSignalDSL.g:3624:4: 'modifySignals'
                     {
                     match(input,54,FOLLOW_2); if (state.failed) return ;
 
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSignalDSL.g:3603:2: ( ( 'modifySignals' ) )
-                    {
-                    // InternalSignalDSL.g:3603:2: ( ( 'modifySignals' ) )
-                    // InternalSignalDSL.g:3604:3: ( 'modifySignals' )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2()); 
-                    }
-                    // InternalSignalDSL.g:3605:3: ( 'modifySignals' )
-                    // InternalSignalDSL.g:3605:4: 'modifySignals'
-                    {
-                    match(input,55,FOLLOW_2); if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSignalDSL.g:3609:2: ( ( 'deleteSignals' ) )
-                    {
-                    // InternalSignalDSL.g:3609:2: ( ( 'deleteSignals' ) )
-                    // InternalSignalDSL.g:3610:3: ( 'deleteSignals' )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3()); 
-                    }
-                    // InternalSignalDSL.g:3611:3: ( 'deleteSignals' )
-                    // InternalSignalDSL.g:3611:4: 'deleteSignals'
-                    {
-                    match(input,56,FOLLOW_2); if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3()); 
+                       after(grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1()); 
                     }
 
                     }
@@ -13437,62 +13445,48 @@
 
 
     // $ANTLR start "rule__SignalHandlerTypeEnum__Alternatives"
-    // InternalSignalDSL.g:3619:1: rule__SignalHandlerTypeEnum__Alternatives : ( ( ( 'doAfter' ) ) | ( ( 'doAfterModify' ) ) | ( ( 'doAfterCreate' ) ) | ( ( 'doAfterDelete' ) ) );
+    // InternalSignalDSL.g:3632:1: rule__SignalHandlerTypeEnum__Alternatives : ( ( ( 'doAfterModify' ) ) | ( ( 'doAfterCreate' ) ) );
     public final void rule__SignalHandlerTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3623:1: ( ( ( 'doAfter' ) ) | ( ( 'doAfterModify' ) ) | ( ( 'doAfterCreate' ) ) | ( ( 'doAfterDelete' ) ) )
-            int alt49=4;
-            switch ( input.LA(1) ) {
-            case 57:
-                {
+            // InternalSignalDSL.g:3636:1: ( ( ( 'doAfterModify' ) ) | ( ( 'doAfterCreate' ) ) )
+            int alt49=2;
+            int LA49_0 = input.LA(1);
+
+            if ( (LA49_0==55) ) {
                 alt49=1;
-                }
-                break;
-            case 58:
-                {
+            }
+            else if ( (LA49_0==56) ) {
                 alt49=2;
-                }
-                break;
-            case 59:
-                {
-                alt49=3;
-                }
-                break;
-            case 60:
-                {
-                alt49=4;
-                }
-                break;
-            default:
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 49, 0, input);
 
                 throw nvae;
             }
-
             switch (alt49) {
                 case 1 :
-                    // InternalSignalDSL.g:3624:2: ( ( 'doAfter' ) )
+                    // InternalSignalDSL.g:3637:2: ( ( 'doAfterModify' ) )
                     {
-                    // InternalSignalDSL.g:3624:2: ( ( 'doAfter' ) )
-                    // InternalSignalDSL.g:3625:3: ( 'doAfter' )
+                    // InternalSignalDSL.g:3637:2: ( ( 'doAfterModify' ) )
+                    // InternalSignalDSL.g:3638:3: ( 'doAfterModify' )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0()); 
+                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0()); 
                     }
-                    // InternalSignalDSL.g:3626:3: ( 'doAfter' )
-                    // InternalSignalDSL.g:3626:4: 'doAfter'
+                    // InternalSignalDSL.g:3639:3: ( 'doAfterModify' )
+                    // InternalSignalDSL.g:3639:4: 'doAfterModify'
                     {
-                    match(input,57,FOLLOW_2); if (state.failed) return ;
+                    match(input,55,FOLLOW_2); if (state.failed) return ;
 
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0()); 
+                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0()); 
                     }
 
                     }
@@ -13501,73 +13495,23 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3630:2: ( ( 'doAfterModify' ) )
+                    // InternalSignalDSL.g:3643:2: ( ( 'doAfterCreate' ) )
                     {
-                    // InternalSignalDSL.g:3630:2: ( ( 'doAfterModify' ) )
-                    // InternalSignalDSL.g:3631:3: ( 'doAfterModify' )
+                    // InternalSignalDSL.g:3643:2: ( ( 'doAfterCreate' ) )
+                    // InternalSignalDSL.g:3644:3: ( 'doAfterCreate' )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1()); 
+                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1()); 
                     }
-                    // InternalSignalDSL.g:3632:3: ( 'doAfterModify' )
-                    // InternalSignalDSL.g:3632:4: 'doAfterModify'
+                    // InternalSignalDSL.g:3645:3: ( 'doAfterCreate' )
+                    // InternalSignalDSL.g:3645:4: 'doAfterCreate'
                     {
-                    match(input,58,FOLLOW_2); if (state.failed) return ;
+                    match(input,56,FOLLOW_2); if (state.failed) return ;
 
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSignalDSL.g:3636:2: ( ( 'doAfterCreate' ) )
-                    {
-                    // InternalSignalDSL.g:3636:2: ( ( 'doAfterCreate' ) )
-                    // InternalSignalDSL.g:3637:3: ( 'doAfterCreate' )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2()); 
-                    }
-                    // InternalSignalDSL.g:3638:3: ( 'doAfterCreate' )
-                    // InternalSignalDSL.g:3638:4: 'doAfterCreate'
-                    {
-                    match(input,59,FOLLOW_2); if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSignalDSL.g:3642:2: ( ( 'doAfterDelete' ) )
-                    {
-                    // InternalSignalDSL.g:3642:2: ( ( 'doAfterDelete' ) )
-                    // InternalSignalDSL.g:3643:3: ( 'doAfterDelete' )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3()); 
-                    }
-                    // InternalSignalDSL.g:3644:3: ( 'doAfterDelete' )
-                    // InternalSignalDSL.g:3644:4: 'doAfterDelete'
-                    {
-                    match(input,60,FOLLOW_2); if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3()); 
+                       after(grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1()); 
                     }
 
                     }
@@ -13593,20 +13537,20 @@
 
 
     // $ANTLR start "rule__SignalExecutionTypeEnum__Alternatives"
-    // InternalSignalDSL.g:3652:1: rule__SignalExecutionTypeEnum__Alternatives : ( ( ( 'synch' ) ) | ( ( 'asynch' ) ) );
+    // InternalSignalDSL.g:3653:1: rule__SignalExecutionTypeEnum__Alternatives : ( ( ( 'synch' ) ) | ( ( 'asynch' ) ) );
     public final void rule__SignalExecutionTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3656:1: ( ( ( 'synch' ) ) | ( ( 'asynch' ) ) )
+            // InternalSignalDSL.g:3657:1: ( ( ( 'synch' ) ) | ( ( 'asynch' ) ) )
             int alt50=2;
             int LA50_0 = input.LA(1);
 
-            if ( (LA50_0==61) ) {
+            if ( (LA50_0==57) ) {
                 alt50=1;
             }
-            else if ( (LA50_0==62) ) {
+            else if ( (LA50_0==58) ) {
                 alt50=2;
             }
             else {
@@ -13618,18 +13562,18 @@
             }
             switch (alt50) {
                 case 1 :
-                    // InternalSignalDSL.g:3657:2: ( ( 'synch' ) )
+                    // InternalSignalDSL.g:3658:2: ( ( 'synch' ) )
                     {
-                    // InternalSignalDSL.g:3657:2: ( ( 'synch' ) )
-                    // InternalSignalDSL.g:3658:3: ( 'synch' )
+                    // InternalSignalDSL.g:3658:2: ( ( 'synch' ) )
+                    // InternalSignalDSL.g:3659:3: ( 'synch' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSignalExecutionTypeEnumAccess().getSYNCEnumLiteralDeclaration_0()); 
                     }
-                    // InternalSignalDSL.g:3659:3: ( 'synch' )
-                    // InternalSignalDSL.g:3659:4: 'synch'
+                    // InternalSignalDSL.g:3660:3: ( 'synch' )
+                    // InternalSignalDSL.g:3660:4: 'synch'
                     {
-                    match(input,61,FOLLOW_2); if (state.failed) return ;
+                    match(input,57,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -13643,18 +13587,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3663:2: ( ( 'asynch' ) )
+                    // InternalSignalDSL.g:3664:2: ( ( 'asynch' ) )
                     {
-                    // InternalSignalDSL.g:3663:2: ( ( 'asynch' ) )
-                    // InternalSignalDSL.g:3664:3: ( 'asynch' )
+                    // InternalSignalDSL.g:3664:2: ( ( 'asynch' ) )
+                    // InternalSignalDSL.g:3665:3: ( 'asynch' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSignalExecutionTypeEnumAccess().getASYNCEnumLiteralDeclaration_1()); 
                     }
-                    // InternalSignalDSL.g:3665:3: ( 'asynch' )
-                    // InternalSignalDSL.g:3665:4: 'asynch'
+                    // InternalSignalDSL.g:3666:3: ( 'asynch' )
+                    // InternalSignalDSL.g:3666:4: 'asynch'
                     {
-                    match(input,62,FOLLOW_2); if (state.failed) return ;
+                    match(input,58,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -13685,14 +13629,14 @@
 
 
     // $ANTLR start "rule__SignalModel__Group__0"
-    // InternalSignalDSL.g:3673:1: rule__SignalModel__Group__0 : rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1 ;
+    // InternalSignalDSL.g:3674:1: rule__SignalModel__Group__0 : rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1 ;
     public final void rule__SignalModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3677:1: ( rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1 )
-            // InternalSignalDSL.g:3678:2: rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1
+            // InternalSignalDSL.g:3678:1: ( rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1 )
+            // InternalSignalDSL.g:3679:2: rule__SignalModel__Group__0__Impl rule__SignalModel__Group__1
             {
             pushFollow(FOLLOW_5);
             rule__SignalModel__Group__0__Impl();
@@ -13723,22 +13667,22 @@
 
 
     // $ANTLR start "rule__SignalModel__Group__0__Impl"
-    // InternalSignalDSL.g:3685:1: rule__SignalModel__Group__0__Impl : ( ( rule__SignalModel__ImportSectionAssignment_0 )? ) ;
+    // InternalSignalDSL.g:3686:1: rule__SignalModel__Group__0__Impl : ( ( rule__SignalModel__ImportSectionAssignment_0 )? ) ;
     public final void rule__SignalModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3689:1: ( ( ( rule__SignalModel__ImportSectionAssignment_0 )? ) )
-            // InternalSignalDSL.g:3690:1: ( ( rule__SignalModel__ImportSectionAssignment_0 )? )
+            // InternalSignalDSL.g:3690:1: ( ( ( rule__SignalModel__ImportSectionAssignment_0 )? ) )
+            // InternalSignalDSL.g:3691:1: ( ( rule__SignalModel__ImportSectionAssignment_0 )? )
             {
-            // InternalSignalDSL.g:3690:1: ( ( rule__SignalModel__ImportSectionAssignment_0 )? )
-            // InternalSignalDSL.g:3691:2: ( rule__SignalModel__ImportSectionAssignment_0 )?
+            // InternalSignalDSL.g:3691:1: ( ( rule__SignalModel__ImportSectionAssignment_0 )? )
+            // InternalSignalDSL.g:3692:2: ( rule__SignalModel__ImportSectionAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalModelAccess().getImportSectionAssignment_0()); 
             }
-            // InternalSignalDSL.g:3692:2: ( rule__SignalModel__ImportSectionAssignment_0 )?
+            // InternalSignalDSL.g:3693:2: ( rule__SignalModel__ImportSectionAssignment_0 )?
             int alt51=2;
             int LA51_0 = input.LA(1);
 
@@ -13747,7 +13691,7 @@
             }
             switch (alt51) {
                 case 1 :
-                    // InternalSignalDSL.g:3692:3: rule__SignalModel__ImportSectionAssignment_0
+                    // InternalSignalDSL.g:3693:3: rule__SignalModel__ImportSectionAssignment_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__SignalModel__ImportSectionAssignment_0();
@@ -13785,14 +13729,14 @@
 
 
     // $ANTLR start "rule__SignalModel__Group__1"
-    // InternalSignalDSL.g:3700:1: rule__SignalModel__Group__1 : rule__SignalModel__Group__1__Impl ;
+    // InternalSignalDSL.g:3701:1: rule__SignalModel__Group__1 : rule__SignalModel__Group__1__Impl ;
     public final void rule__SignalModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3704:1: ( rule__SignalModel__Group__1__Impl )
-            // InternalSignalDSL.g:3705:2: rule__SignalModel__Group__1__Impl
+            // InternalSignalDSL.g:3705:1: ( rule__SignalModel__Group__1__Impl )
+            // InternalSignalDSL.g:3706:2: rule__SignalModel__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignalModel__Group__1__Impl();
@@ -13818,35 +13762,35 @@
 
 
     // $ANTLR start "rule__SignalModel__Group__1__Impl"
-    // InternalSignalDSL.g:3711:1: rule__SignalModel__Group__1__Impl : ( ( rule__SignalModel__PackagesAssignment_1 )* ) ;
+    // InternalSignalDSL.g:3712:1: rule__SignalModel__Group__1__Impl : ( ( rule__SignalModel__PackagesAssignment_1 )* ) ;
     public final void rule__SignalModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3715:1: ( ( ( rule__SignalModel__PackagesAssignment_1 )* ) )
-            // InternalSignalDSL.g:3716:1: ( ( rule__SignalModel__PackagesAssignment_1 )* )
+            // InternalSignalDSL.g:3716:1: ( ( ( rule__SignalModel__PackagesAssignment_1 )* ) )
+            // InternalSignalDSL.g:3717:1: ( ( rule__SignalModel__PackagesAssignment_1 )* )
             {
-            // InternalSignalDSL.g:3716:1: ( ( rule__SignalModel__PackagesAssignment_1 )* )
-            // InternalSignalDSL.g:3717:2: ( rule__SignalModel__PackagesAssignment_1 )*
+            // InternalSignalDSL.g:3717:1: ( ( rule__SignalModel__PackagesAssignment_1 )* )
+            // InternalSignalDSL.g:3718:2: ( rule__SignalModel__PackagesAssignment_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalModelAccess().getPackagesAssignment_1()); 
             }
-            // InternalSignalDSL.g:3718:2: ( rule__SignalModel__PackagesAssignment_1 )*
+            // InternalSignalDSL.g:3719:2: ( rule__SignalModel__PackagesAssignment_1 )*
             loop52:
             do {
                 int alt52=2;
                 int LA52_0 = input.LA(1);
 
-                if ( (LA52_0==63) ) {
+                if ( (LA52_0==59) ) {
                     alt52=1;
                 }
 
 
                 switch (alt52) {
             	case 1 :
-            	    // InternalSignalDSL.g:3718:3: rule__SignalModel__PackagesAssignment_1
+            	    // InternalSignalDSL.g:3719:3: rule__SignalModel__PackagesAssignment_1
             	    {
             	    pushFollow(FOLLOW_6);
             	    rule__SignalModel__PackagesAssignment_1();
@@ -13887,14 +13831,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__0"
-    // InternalSignalDSL.g:3727:1: rule__SignalPackage__Group__0 : rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1 ;
+    // InternalSignalDSL.g:3728:1: rule__SignalPackage__Group__0 : rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1 ;
     public final void rule__SignalPackage__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3731:1: ( rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1 )
-            // InternalSignalDSL.g:3732:2: rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1
+            // InternalSignalDSL.g:3732:1: ( rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1 )
+            // InternalSignalDSL.g:3733:2: rule__SignalPackage__Group__0__Impl rule__SignalPackage__Group__1
             {
             pushFollow(FOLLOW_5);
             rule__SignalPackage__Group__0__Impl();
@@ -13925,23 +13869,23 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__0__Impl"
-    // InternalSignalDSL.g:3739:1: rule__SignalPackage__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:3740:1: rule__SignalPackage__Group__0__Impl : ( () ) ;
     public final void rule__SignalPackage__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3743:1: ( ( () ) )
-            // InternalSignalDSL.g:3744:1: ( () )
+            // InternalSignalDSL.g:3744:1: ( ( () ) )
+            // InternalSignalDSL.g:3745:1: ( () )
             {
-            // InternalSignalDSL.g:3744:1: ( () )
-            // InternalSignalDSL.g:3745:2: ()
+            // InternalSignalDSL.g:3745:1: ( () )
+            // InternalSignalDSL.g:3746:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getSignalPackageAction_0()); 
             }
-            // InternalSignalDSL.g:3746:2: ()
-            // InternalSignalDSL.g:3746:3: 
+            // InternalSignalDSL.g:3747:2: ()
+            // InternalSignalDSL.g:3747:3: 
             {
             }
 
@@ -13966,14 +13910,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__1"
-    // InternalSignalDSL.g:3754:1: rule__SignalPackage__Group__1 : rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2 ;
+    // InternalSignalDSL.g:3755:1: rule__SignalPackage__Group__1 : rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2 ;
     public final void rule__SignalPackage__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3758:1: ( rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2 )
-            // InternalSignalDSL.g:3759:2: rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2
+            // InternalSignalDSL.g:3759:1: ( rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2 )
+            // InternalSignalDSL.g:3760:2: rule__SignalPackage__Group__1__Impl rule__SignalPackage__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__SignalPackage__Group__1__Impl();
@@ -14004,22 +13948,22 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__1__Impl"
-    // InternalSignalDSL.g:3766:1: rule__SignalPackage__Group__1__Impl : ( 'package' ) ;
+    // InternalSignalDSL.g:3767:1: rule__SignalPackage__Group__1__Impl : ( 'package' ) ;
     public final void rule__SignalPackage__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3770:1: ( ( 'package' ) )
-            // InternalSignalDSL.g:3771:1: ( 'package' )
+            // InternalSignalDSL.g:3771:1: ( ( 'package' ) )
+            // InternalSignalDSL.g:3772:1: ( 'package' )
             {
-            // InternalSignalDSL.g:3771:1: ( 'package' )
-            // InternalSignalDSL.g:3772:2: 'package'
+            // InternalSignalDSL.g:3772:1: ( 'package' )
+            // InternalSignalDSL.g:3773:2: 'package'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getPackageKeyword_1()); 
             }
-            match(input,63,FOLLOW_2); if (state.failed) return ;
+            match(input,59,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalPackageAccess().getPackageKeyword_1()); 
             }
@@ -14045,14 +13989,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__2"
-    // InternalSignalDSL.g:3781:1: rule__SignalPackage__Group__2 : rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3 ;
+    // InternalSignalDSL.g:3782:1: rule__SignalPackage__Group__2 : rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3 ;
     public final void rule__SignalPackage__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3785:1: ( rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3 )
-            // InternalSignalDSL.g:3786:2: rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3
+            // InternalSignalDSL.g:3786:1: ( rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3 )
+            // InternalSignalDSL.g:3787:2: rule__SignalPackage__Group__2__Impl rule__SignalPackage__Group__3
             {
             pushFollow(FOLLOW_8);
             rule__SignalPackage__Group__2__Impl();
@@ -14083,23 +14027,23 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__2__Impl"
-    // InternalSignalDSL.g:3793:1: rule__SignalPackage__Group__2__Impl : ( ( rule__SignalPackage__NameAssignment_2 ) ) ;
+    // InternalSignalDSL.g:3794:1: rule__SignalPackage__Group__2__Impl : ( ( rule__SignalPackage__NameAssignment_2 ) ) ;
     public final void rule__SignalPackage__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3797:1: ( ( ( rule__SignalPackage__NameAssignment_2 ) ) )
-            // InternalSignalDSL.g:3798:1: ( ( rule__SignalPackage__NameAssignment_2 ) )
+            // InternalSignalDSL.g:3798:1: ( ( ( rule__SignalPackage__NameAssignment_2 ) ) )
+            // InternalSignalDSL.g:3799:1: ( ( rule__SignalPackage__NameAssignment_2 ) )
             {
-            // InternalSignalDSL.g:3798:1: ( ( rule__SignalPackage__NameAssignment_2 ) )
-            // InternalSignalDSL.g:3799:2: ( rule__SignalPackage__NameAssignment_2 )
+            // InternalSignalDSL.g:3799:1: ( ( rule__SignalPackage__NameAssignment_2 ) )
+            // InternalSignalDSL.g:3800:2: ( rule__SignalPackage__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getNameAssignment_2()); 
             }
-            // InternalSignalDSL.g:3800:2: ( rule__SignalPackage__NameAssignment_2 )
-            // InternalSignalDSL.g:3800:3: rule__SignalPackage__NameAssignment_2
+            // InternalSignalDSL.g:3801:2: ( rule__SignalPackage__NameAssignment_2 )
+            // InternalSignalDSL.g:3801:3: rule__SignalPackage__NameAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__SignalPackage__NameAssignment_2();
@@ -14134,14 +14078,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__3"
-    // InternalSignalDSL.g:3808:1: rule__SignalPackage__Group__3 : rule__SignalPackage__Group__3__Impl ;
+    // InternalSignalDSL.g:3809:1: rule__SignalPackage__Group__3 : rule__SignalPackage__Group__3__Impl ;
     public final void rule__SignalPackage__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3812:1: ( rule__SignalPackage__Group__3__Impl )
-            // InternalSignalDSL.g:3813:2: rule__SignalPackage__Group__3__Impl
+            // InternalSignalDSL.g:3813:1: ( rule__SignalPackage__Group__3__Impl )
+            // InternalSignalDSL.g:3814:2: rule__SignalPackage__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignalPackage__Group__3__Impl();
@@ -14167,29 +14111,40 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group__3__Impl"
-    // InternalSignalDSL.g:3819:1: rule__SignalPackage__Group__3__Impl : ( ( rule__SignalPackage__Group_3__0 ) ) ;
+    // InternalSignalDSL.g:3820:1: rule__SignalPackage__Group__3__Impl : ( ( rule__SignalPackage__Group_3__0 )? ) ;
     public final void rule__SignalPackage__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3823:1: ( ( ( rule__SignalPackage__Group_3__0 ) ) )
-            // InternalSignalDSL.g:3824:1: ( ( rule__SignalPackage__Group_3__0 ) )
+            // InternalSignalDSL.g:3824:1: ( ( ( rule__SignalPackage__Group_3__0 )? ) )
+            // InternalSignalDSL.g:3825:1: ( ( rule__SignalPackage__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:3824:1: ( ( rule__SignalPackage__Group_3__0 ) )
-            // InternalSignalDSL.g:3825:2: ( rule__SignalPackage__Group_3__0 )
+            // InternalSignalDSL.g:3825:1: ( ( rule__SignalPackage__Group_3__0 )? )
+            // InternalSignalDSL.g:3826:2: ( rule__SignalPackage__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:3826:2: ( rule__SignalPackage__Group_3__0 )
-            // InternalSignalDSL.g:3826:3: rule__SignalPackage__Group_3__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__SignalPackage__Group_3__0();
+            // InternalSignalDSL.g:3827:2: ( rule__SignalPackage__Group_3__0 )?
+            int alt53=2;
+            int LA53_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA53_0==60) ) {
+                alt53=1;
+            }
+            switch (alt53) {
+                case 1 :
+                    // InternalSignalDSL.g:3827:3: rule__SignalPackage__Group_3__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__SignalPackage__Group_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
@@ -14218,14 +14173,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__0"
-    // InternalSignalDSL.g:3835:1: rule__SignalPackage__Group_3__0 : rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1 ;
+    // InternalSignalDSL.g:3836:1: rule__SignalPackage__Group_3__0 : rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1 ;
     public final void rule__SignalPackage__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3839:1: ( rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1 )
-            // InternalSignalDSL.g:3840:2: rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1
+            // InternalSignalDSL.g:3840:1: ( rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1 )
+            // InternalSignalDSL.g:3841:2: rule__SignalPackage__Group_3__0__Impl rule__SignalPackage__Group_3__1
             {
             pushFollow(FOLLOW_9);
             rule__SignalPackage__Group_3__0__Impl();
@@ -14256,22 +14211,22 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__0__Impl"
-    // InternalSignalDSL.g:3847:1: rule__SignalPackage__Group_3__0__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:3848:1: rule__SignalPackage__Group_3__0__Impl : ( '{' ) ;
     public final void rule__SignalPackage__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3851:1: ( ( '{' ) )
-            // InternalSignalDSL.g:3852:1: ( '{' )
+            // InternalSignalDSL.g:3852:1: ( ( '{' ) )
+            // InternalSignalDSL.g:3853:1: ( '{' )
             {
-            // InternalSignalDSL.g:3852:1: ( '{' )
-            // InternalSignalDSL.g:3853:2: '{'
+            // InternalSignalDSL.g:3853:1: ( '{' )
+            // InternalSignalDSL.g:3854:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalPackageAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
@@ -14297,14 +14252,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__1"
-    // InternalSignalDSL.g:3862:1: rule__SignalPackage__Group_3__1 : rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2 ;
+    // InternalSignalDSL.g:3863:1: rule__SignalPackage__Group_3__1 : rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2 ;
     public final void rule__SignalPackage__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3866:1: ( rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2 )
-            // InternalSignalDSL.g:3867:2: rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2
+            // InternalSignalDSL.g:3867:1: ( rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2 )
+            // InternalSignalDSL.g:3868:2: rule__SignalPackage__Group_3__1__Impl rule__SignalPackage__Group_3__2
             {
             pushFollow(FOLLOW_9);
             rule__SignalPackage__Group_3__1__Impl();
@@ -14335,35 +14290,35 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__1__Impl"
-    // InternalSignalDSL.g:3874:1: rule__SignalPackage__Group_3__1__Impl : ( ( rule__SignalPackage__WatchersAssignment_3_1 )* ) ;
+    // InternalSignalDSL.g:3875:1: rule__SignalPackage__Group_3__1__Impl : ( ( rule__SignalPackage__WatchersAssignment_3_1 )* ) ;
     public final void rule__SignalPackage__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3878:1: ( ( ( rule__SignalPackage__WatchersAssignment_3_1 )* ) )
-            // InternalSignalDSL.g:3879:1: ( ( rule__SignalPackage__WatchersAssignment_3_1 )* )
+            // InternalSignalDSL.g:3879:1: ( ( ( rule__SignalPackage__WatchersAssignment_3_1 )* ) )
+            // InternalSignalDSL.g:3880:1: ( ( rule__SignalPackage__WatchersAssignment_3_1 )* )
             {
-            // InternalSignalDSL.g:3879:1: ( ( rule__SignalPackage__WatchersAssignment_3_1 )* )
-            // InternalSignalDSL.g:3880:2: ( rule__SignalPackage__WatchersAssignment_3_1 )*
+            // InternalSignalDSL.g:3880:1: ( ( rule__SignalPackage__WatchersAssignment_3_1 )* )
+            // InternalSignalDSL.g:3881:2: ( rule__SignalPackage__WatchersAssignment_3_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getWatchersAssignment_3_1()); 
             }
-            // InternalSignalDSL.g:3881:2: ( rule__SignalPackage__WatchersAssignment_3_1 )*
-            loop53:
+            // InternalSignalDSL.g:3882:2: ( rule__SignalPackage__WatchersAssignment_3_1 )*
+            loop54:
             do {
-                int alt53=2;
-                int LA53_0 = input.LA(1);
+                int alt54=2;
+                int LA54_0 = input.LA(1);
 
-                if ( (LA53_0==66) ) {
-                    alt53=1;
+                if ( (LA54_0==62) ) {
+                    alt54=1;
                 }
 
 
-                switch (alt53) {
+                switch (alt54) {
             	case 1 :
-            	    // InternalSignalDSL.g:3881:3: rule__SignalPackage__WatchersAssignment_3_1
+            	    // InternalSignalDSL.g:3882:3: rule__SignalPackage__WatchersAssignment_3_1
             	    {
             	    pushFollow(FOLLOW_10);
             	    rule__SignalPackage__WatchersAssignment_3_1();
@@ -14375,7 +14330,7 @@
             	    break;
 
             	default :
-            	    break loop53;
+            	    break loop54;
                 }
             } while (true);
 
@@ -14404,14 +14359,14 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__2"
-    // InternalSignalDSL.g:3889:1: rule__SignalPackage__Group_3__2 : rule__SignalPackage__Group_3__2__Impl ;
+    // InternalSignalDSL.g:3890:1: rule__SignalPackage__Group_3__2 : rule__SignalPackage__Group_3__2__Impl ;
     public final void rule__SignalPackage__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3893:1: ( rule__SignalPackage__Group_3__2__Impl )
-            // InternalSignalDSL.g:3894:2: rule__SignalPackage__Group_3__2__Impl
+            // InternalSignalDSL.g:3894:1: ( rule__SignalPackage__Group_3__2__Impl )
+            // InternalSignalDSL.g:3895:2: rule__SignalPackage__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignalPackage__Group_3__2__Impl();
@@ -14437,22 +14392,22 @@
 
 
     // $ANTLR start "rule__SignalPackage__Group_3__2__Impl"
-    // InternalSignalDSL.g:3900:1: rule__SignalPackage__Group_3__2__Impl : ( '}' ) ;
+    // InternalSignalDSL.g:3901:1: rule__SignalPackage__Group_3__2__Impl : ( '}' ) ;
     public final void rule__SignalPackage__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3904:1: ( ( '}' ) )
-            // InternalSignalDSL.g:3905:1: ( '}' )
+            // InternalSignalDSL.g:3905:1: ( ( '}' ) )
+            // InternalSignalDSL.g:3906:1: ( '}' )
             {
-            // InternalSignalDSL.g:3905:1: ( '}' )
-            // InternalSignalDSL.g:3906:2: '}'
+            // InternalSignalDSL.g:3906:1: ( '}' )
+            // InternalSignalDSL.g:3907:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2()); 
             }
@@ -14478,14 +14433,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__0"
-    // InternalSignalDSL.g:3916:1: rule__SignalWatcher__Group__0 : rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1 ;
+    // InternalSignalDSL.g:3917:1: rule__SignalWatcher__Group__0 : rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1 ;
     public final void rule__SignalWatcher__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3920:1: ( rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1 )
-            // InternalSignalDSL.g:3921:2: rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1
+            // InternalSignalDSL.g:3921:1: ( rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1 )
+            // InternalSignalDSL.g:3922:2: rule__SignalWatcher__Group__0__Impl rule__SignalWatcher__Group__1
             {
             pushFollow(FOLLOW_11);
             rule__SignalWatcher__Group__0__Impl();
@@ -14516,23 +14471,23 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__0__Impl"
-    // InternalSignalDSL.g:3928:1: rule__SignalWatcher__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:3929:1: rule__SignalWatcher__Group__0__Impl : ( () ) ;
     public final void rule__SignalWatcher__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3932:1: ( ( () ) )
-            // InternalSignalDSL.g:3933:1: ( () )
+            // InternalSignalDSL.g:3933:1: ( ( () ) )
+            // InternalSignalDSL.g:3934:1: ( () )
             {
-            // InternalSignalDSL.g:3933:1: ( () )
-            // InternalSignalDSL.g:3934:2: ()
+            // InternalSignalDSL.g:3934:1: ( () )
+            // InternalSignalDSL.g:3935:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getSignalWatcherAction_0()); 
             }
-            // InternalSignalDSL.g:3935:2: ()
-            // InternalSignalDSL.g:3935:3: 
+            // InternalSignalDSL.g:3936:2: ()
+            // InternalSignalDSL.g:3936:3: 
             {
             }
 
@@ -14557,14 +14512,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__1"
-    // InternalSignalDSL.g:3943:1: rule__SignalWatcher__Group__1 : rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2 ;
+    // InternalSignalDSL.g:3944:1: rule__SignalWatcher__Group__1 : rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2 ;
     public final void rule__SignalWatcher__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3947:1: ( rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2 )
-            // InternalSignalDSL.g:3948:2: rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2
+            // InternalSignalDSL.g:3948:1: ( rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2 )
+            // InternalSignalDSL.g:3949:2: rule__SignalWatcher__Group__1__Impl rule__SignalWatcher__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__SignalWatcher__Group__1__Impl();
@@ -14595,22 +14550,22 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__1__Impl"
-    // InternalSignalDSL.g:3955:1: rule__SignalWatcher__Group__1__Impl : ( 'watcher' ) ;
+    // InternalSignalDSL.g:3956:1: rule__SignalWatcher__Group__1__Impl : ( 'watcher' ) ;
     public final void rule__SignalWatcher__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3959:1: ( ( 'watcher' ) )
-            // InternalSignalDSL.g:3960:1: ( 'watcher' )
+            // InternalSignalDSL.g:3960:1: ( ( 'watcher' ) )
+            // InternalSignalDSL.g:3961:1: ( 'watcher' )
             {
-            // InternalSignalDSL.g:3960:1: ( 'watcher' )
-            // InternalSignalDSL.g:3961:2: 'watcher'
+            // InternalSignalDSL.g:3961:1: ( 'watcher' )
+            // InternalSignalDSL.g:3962:2: 'watcher'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getWatcherKeyword_1()); 
             }
-            match(input,66,FOLLOW_2); if (state.failed) return ;
+            match(input,62,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalWatcherAccess().getWatcherKeyword_1()); 
             }
@@ -14636,14 +14591,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__2"
-    // InternalSignalDSL.g:3970:1: rule__SignalWatcher__Group__2 : rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3 ;
+    // InternalSignalDSL.g:3971:1: rule__SignalWatcher__Group__2 : rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3 ;
     public final void rule__SignalWatcher__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3974:1: ( rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3 )
-            // InternalSignalDSL.g:3975:2: rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3
+            // InternalSignalDSL.g:3975:1: ( rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3 )
+            // InternalSignalDSL.g:3976:2: rule__SignalWatcher__Group__2__Impl rule__SignalWatcher__Group__3
             {
             pushFollow(FOLLOW_12);
             rule__SignalWatcher__Group__2__Impl();
@@ -14674,23 +14629,23 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__2__Impl"
-    // InternalSignalDSL.g:3982:1: rule__SignalWatcher__Group__2__Impl : ( ( rule__SignalWatcher__NameAssignment_2 ) ) ;
+    // InternalSignalDSL.g:3983:1: rule__SignalWatcher__Group__2__Impl : ( ( rule__SignalWatcher__NameAssignment_2 ) ) ;
     public final void rule__SignalWatcher__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:3986:1: ( ( ( rule__SignalWatcher__NameAssignment_2 ) ) )
-            // InternalSignalDSL.g:3987:1: ( ( rule__SignalWatcher__NameAssignment_2 ) )
+            // InternalSignalDSL.g:3987:1: ( ( ( rule__SignalWatcher__NameAssignment_2 ) ) )
+            // InternalSignalDSL.g:3988:1: ( ( rule__SignalWatcher__NameAssignment_2 ) )
             {
-            // InternalSignalDSL.g:3987:1: ( ( rule__SignalWatcher__NameAssignment_2 ) )
-            // InternalSignalDSL.g:3988:2: ( rule__SignalWatcher__NameAssignment_2 )
+            // InternalSignalDSL.g:3988:1: ( ( rule__SignalWatcher__NameAssignment_2 ) )
+            // InternalSignalDSL.g:3989:2: ( rule__SignalWatcher__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getNameAssignment_2()); 
             }
-            // InternalSignalDSL.g:3989:2: ( rule__SignalWatcher__NameAssignment_2 )
-            // InternalSignalDSL.g:3989:3: rule__SignalWatcher__NameAssignment_2
+            // InternalSignalDSL.g:3990:2: ( rule__SignalWatcher__NameAssignment_2 )
+            // InternalSignalDSL.g:3990:3: rule__SignalWatcher__NameAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__SignalWatcher__NameAssignment_2();
@@ -14725,14 +14680,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__3"
-    // InternalSignalDSL.g:3997:1: rule__SignalWatcher__Group__3 : rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4 ;
+    // InternalSignalDSL.g:3998:1: rule__SignalWatcher__Group__3 : rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4 ;
     public final void rule__SignalWatcher__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4001:1: ( rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4 )
-            // InternalSignalDSL.g:4002:2: rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4
+            // InternalSignalDSL.g:4002:1: ( rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4 )
+            // InternalSignalDSL.g:4003:2: rule__SignalWatcher__Group__3__Impl rule__SignalWatcher__Group__4
             {
             pushFollow(FOLLOW_13);
             rule__SignalWatcher__Group__3__Impl();
@@ -14763,22 +14718,22 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__3__Impl"
-    // InternalSignalDSL.g:4009:1: rule__SignalWatcher__Group__3__Impl : ( 'directory' ) ;
+    // InternalSignalDSL.g:4010:1: rule__SignalWatcher__Group__3__Impl : ( 'directory' ) ;
     public final void rule__SignalWatcher__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4013:1: ( ( 'directory' ) )
-            // InternalSignalDSL.g:4014:1: ( 'directory' )
+            // InternalSignalDSL.g:4014:1: ( ( 'directory' ) )
+            // InternalSignalDSL.g:4015:1: ( 'directory' )
             {
-            // InternalSignalDSL.g:4014:1: ( 'directory' )
-            // InternalSignalDSL.g:4015:2: 'directory'
+            // InternalSignalDSL.g:4015:1: ( 'directory' )
+            // InternalSignalDSL.g:4016:2: 'directory'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getDirectoryKeyword_3()); 
             }
-            match(input,67,FOLLOW_2); if (state.failed) return ;
+            match(input,63,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalWatcherAccess().getDirectoryKeyword_3()); 
             }
@@ -14804,14 +14759,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__4"
-    // InternalSignalDSL.g:4024:1: rule__SignalWatcher__Group__4 : rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5 ;
+    // InternalSignalDSL.g:4025:1: rule__SignalWatcher__Group__4 : rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5 ;
     public final void rule__SignalWatcher__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4028:1: ( rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5 )
-            // InternalSignalDSL.g:4029:2: rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5
+            // InternalSignalDSL.g:4029:1: ( rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5 )
+            // InternalSignalDSL.g:4030:2: rule__SignalWatcher__Group__4__Impl rule__SignalWatcher__Group__5
             {
             pushFollow(FOLLOW_14);
             rule__SignalWatcher__Group__4__Impl();
@@ -14842,23 +14797,23 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__4__Impl"
-    // InternalSignalDSL.g:4036:1: rule__SignalWatcher__Group__4__Impl : ( ( rule__SignalWatcher__DirectoryAssignment_4 ) ) ;
+    // InternalSignalDSL.g:4037:1: rule__SignalWatcher__Group__4__Impl : ( ( rule__SignalWatcher__DirectoryAssignment_4 ) ) ;
     public final void rule__SignalWatcher__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4040:1: ( ( ( rule__SignalWatcher__DirectoryAssignment_4 ) ) )
-            // InternalSignalDSL.g:4041:1: ( ( rule__SignalWatcher__DirectoryAssignment_4 ) )
+            // InternalSignalDSL.g:4041:1: ( ( ( rule__SignalWatcher__DirectoryAssignment_4 ) ) )
+            // InternalSignalDSL.g:4042:1: ( ( rule__SignalWatcher__DirectoryAssignment_4 ) )
             {
-            // InternalSignalDSL.g:4041:1: ( ( rule__SignalWatcher__DirectoryAssignment_4 ) )
-            // InternalSignalDSL.g:4042:2: ( rule__SignalWatcher__DirectoryAssignment_4 )
+            // InternalSignalDSL.g:4042:1: ( ( rule__SignalWatcher__DirectoryAssignment_4 ) )
+            // InternalSignalDSL.g:4043:2: ( rule__SignalWatcher__DirectoryAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getDirectoryAssignment_4()); 
             }
-            // InternalSignalDSL.g:4043:2: ( rule__SignalWatcher__DirectoryAssignment_4 )
-            // InternalSignalDSL.g:4043:3: rule__SignalWatcher__DirectoryAssignment_4
+            // InternalSignalDSL.g:4044:2: ( rule__SignalWatcher__DirectoryAssignment_4 )
+            // InternalSignalDSL.g:4044:3: rule__SignalWatcher__DirectoryAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__SignalWatcher__DirectoryAssignment_4();
@@ -14893,14 +14848,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__5"
-    // InternalSignalDSL.g:4051:1: rule__SignalWatcher__Group__5 : rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6 ;
+    // InternalSignalDSL.g:4052:1: rule__SignalWatcher__Group__5 : rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6 ;
     public final void rule__SignalWatcher__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4055:1: ( rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6 )
-            // InternalSignalDSL.g:4056:2: rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6
+            // InternalSignalDSL.g:4056:1: ( rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6 )
+            // InternalSignalDSL.g:4057:2: rule__SignalWatcher__Group__5__Impl rule__SignalWatcher__Group__6
             {
             pushFollow(FOLLOW_15);
             rule__SignalWatcher__Group__5__Impl();
@@ -14931,22 +14886,22 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__5__Impl"
-    // InternalSignalDSL.g:4063:1: rule__SignalWatcher__Group__5__Impl : ( 'for' ) ;
+    // InternalSignalDSL.g:4064:1: rule__SignalWatcher__Group__5__Impl : ( 'for' ) ;
     public final void rule__SignalWatcher__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4067:1: ( ( 'for' ) )
-            // InternalSignalDSL.g:4068:1: ( 'for' )
+            // InternalSignalDSL.g:4068:1: ( ( 'for' ) )
+            // InternalSignalDSL.g:4069:1: ( 'for' )
             {
-            // InternalSignalDSL.g:4068:1: ( 'for' )
-            // InternalSignalDSL.g:4069:2: 'for'
+            // InternalSignalDSL.g:4069:1: ( 'for' )
+            // InternalSignalDSL.g:4070:2: 'for'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getForKeyword_5()); 
             }
-            match(input,68,FOLLOW_2); if (state.failed) return ;
+            match(input,64,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalWatcherAccess().getForKeyword_5()); 
             }
@@ -14972,14 +14927,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__6"
-    // InternalSignalDSL.g:4078:1: rule__SignalWatcher__Group__6 : rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7 ;
+    // InternalSignalDSL.g:4079:1: rule__SignalWatcher__Group__6 : rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7 ;
     public final void rule__SignalWatcher__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4082:1: ( rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7 )
-            // InternalSignalDSL.g:4083:2: rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7
+            // InternalSignalDSL.g:4083:1: ( rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7 )
+            // InternalSignalDSL.g:4084:2: rule__SignalWatcher__Group__6__Impl rule__SignalWatcher__Group__7
             {
             pushFollow(FOLLOW_8);
             rule__SignalWatcher__Group__6__Impl();
@@ -15010,23 +14965,23 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__6__Impl"
-    // InternalSignalDSL.g:4090:1: rule__SignalWatcher__Group__6__Impl : ( ( rule__SignalWatcher__SignalAssignment_6 ) ) ;
+    // InternalSignalDSL.g:4091:1: rule__SignalWatcher__Group__6__Impl : ( ( rule__SignalWatcher__SignalAssignment_6 ) ) ;
     public final void rule__SignalWatcher__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4094:1: ( ( ( rule__SignalWatcher__SignalAssignment_6 ) ) )
-            // InternalSignalDSL.g:4095:1: ( ( rule__SignalWatcher__SignalAssignment_6 ) )
+            // InternalSignalDSL.g:4095:1: ( ( ( rule__SignalWatcher__SignalAssignment_6 ) ) )
+            // InternalSignalDSL.g:4096:1: ( ( rule__SignalWatcher__SignalAssignment_6 ) )
             {
-            // InternalSignalDSL.g:4095:1: ( ( rule__SignalWatcher__SignalAssignment_6 ) )
-            // InternalSignalDSL.g:4096:2: ( rule__SignalWatcher__SignalAssignment_6 )
+            // InternalSignalDSL.g:4096:1: ( ( rule__SignalWatcher__SignalAssignment_6 ) )
+            // InternalSignalDSL.g:4097:2: ( rule__SignalWatcher__SignalAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getSignalAssignment_6()); 
             }
-            // InternalSignalDSL.g:4097:2: ( rule__SignalWatcher__SignalAssignment_6 )
-            // InternalSignalDSL.g:4097:3: rule__SignalWatcher__SignalAssignment_6
+            // InternalSignalDSL.g:4098:2: ( rule__SignalWatcher__SignalAssignment_6 )
+            // InternalSignalDSL.g:4098:3: rule__SignalWatcher__SignalAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__SignalWatcher__SignalAssignment_6();
@@ -15061,14 +15016,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__7"
-    // InternalSignalDSL.g:4105:1: rule__SignalWatcher__Group__7 : rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8 ;
+    // InternalSignalDSL.g:4106:1: rule__SignalWatcher__Group__7 : rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8 ;
     public final void rule__SignalWatcher__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4109:1: ( rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8 )
-            // InternalSignalDSL.g:4110:2: rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8
+            // InternalSignalDSL.g:4110:1: ( rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8 )
+            // InternalSignalDSL.g:4111:2: rule__SignalWatcher__Group__7__Impl rule__SignalWatcher__Group__8
             {
             pushFollow(FOLLOW_16);
             rule__SignalWatcher__Group__7__Impl();
@@ -15099,22 +15054,22 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__7__Impl"
-    // InternalSignalDSL.g:4117:1: rule__SignalWatcher__Group__7__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:4118:1: rule__SignalWatcher__Group__7__Impl : ( '{' ) ;
     public final void rule__SignalWatcher__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4121:1: ( ( '{' ) )
-            // InternalSignalDSL.g:4122:1: ( '{' )
+            // InternalSignalDSL.g:4122:1: ( ( '{' ) )
+            // InternalSignalDSL.g:4123:1: ( '{' )
             {
-            // InternalSignalDSL.g:4122:1: ( '{' )
-            // InternalSignalDSL.g:4123:2: '{'
+            // InternalSignalDSL.g:4123:1: ( '{' )
+            // InternalSignalDSL.g:4124:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getLeftCurlyBracketKeyword_7()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalWatcherAccess().getLeftCurlyBracketKeyword_7()); 
             }
@@ -15140,14 +15095,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__8"
-    // InternalSignalDSL.g:4132:1: rule__SignalWatcher__Group__8 : rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9 ;
+    // InternalSignalDSL.g:4133:1: rule__SignalWatcher__Group__8 : rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9 ;
     public final void rule__SignalWatcher__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4136:1: ( rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9 )
-            // InternalSignalDSL.g:4137:2: rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9
+            // InternalSignalDSL.g:4137:1: ( rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9 )
+            // InternalSignalDSL.g:4138:2: rule__SignalWatcher__Group__8__Impl rule__SignalWatcher__Group__9
             {
             pushFollow(FOLLOW_16);
             rule__SignalWatcher__Group__8__Impl();
@@ -15178,35 +15133,35 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__8__Impl"
-    // InternalSignalDSL.g:4144:1: rule__SignalWatcher__Group__8__Impl : ( ( rule__SignalWatcher__HandlersAssignment_8 )* ) ;
+    // InternalSignalDSL.g:4145:1: rule__SignalWatcher__Group__8__Impl : ( ( rule__SignalWatcher__HandlersAssignment_8 )* ) ;
     public final void rule__SignalWatcher__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4148:1: ( ( ( rule__SignalWatcher__HandlersAssignment_8 )* ) )
-            // InternalSignalDSL.g:4149:1: ( ( rule__SignalWatcher__HandlersAssignment_8 )* )
+            // InternalSignalDSL.g:4149:1: ( ( ( rule__SignalWatcher__HandlersAssignment_8 )* ) )
+            // InternalSignalDSL.g:4150:1: ( ( rule__SignalWatcher__HandlersAssignment_8 )* )
             {
-            // InternalSignalDSL.g:4149:1: ( ( rule__SignalWatcher__HandlersAssignment_8 )* )
-            // InternalSignalDSL.g:4150:2: ( rule__SignalWatcher__HandlersAssignment_8 )*
+            // InternalSignalDSL.g:4150:1: ( ( rule__SignalWatcher__HandlersAssignment_8 )* )
+            // InternalSignalDSL.g:4151:2: ( rule__SignalWatcher__HandlersAssignment_8 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getHandlersAssignment_8()); 
             }
-            // InternalSignalDSL.g:4151:2: ( rule__SignalWatcher__HandlersAssignment_8 )*
-            loop54:
+            // InternalSignalDSL.g:4152:2: ( rule__SignalWatcher__HandlersAssignment_8 )*
+            loop55:
             do {
-                int alt54=2;
-                int LA54_0 = input.LA(1);
+                int alt55=2;
+                int LA55_0 = input.LA(1);
 
-                if ( (LA54_0==69) ) {
-                    alt54=1;
+                if ( (LA55_0==65) ) {
+                    alt55=1;
                 }
 
 
-                switch (alt54) {
+                switch (alt55) {
             	case 1 :
-            	    // InternalSignalDSL.g:4151:3: rule__SignalWatcher__HandlersAssignment_8
+            	    // InternalSignalDSL.g:4152:3: rule__SignalWatcher__HandlersAssignment_8
             	    {
             	    pushFollow(FOLLOW_17);
             	    rule__SignalWatcher__HandlersAssignment_8();
@@ -15218,7 +15173,7 @@
             	    break;
 
             	default :
-            	    break loop54;
+            	    break loop55;
                 }
             } while (true);
 
@@ -15247,14 +15202,14 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__9"
-    // InternalSignalDSL.g:4159:1: rule__SignalWatcher__Group__9 : rule__SignalWatcher__Group__9__Impl ;
+    // InternalSignalDSL.g:4160:1: rule__SignalWatcher__Group__9 : rule__SignalWatcher__Group__9__Impl ;
     public final void rule__SignalWatcher__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4163:1: ( rule__SignalWatcher__Group__9__Impl )
-            // InternalSignalDSL.g:4164:2: rule__SignalWatcher__Group__9__Impl
+            // InternalSignalDSL.g:4164:1: ( rule__SignalWatcher__Group__9__Impl )
+            // InternalSignalDSL.g:4165:2: rule__SignalWatcher__Group__9__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignalWatcher__Group__9__Impl();
@@ -15280,22 +15235,22 @@
 
 
     // $ANTLR start "rule__SignalWatcher__Group__9__Impl"
-    // InternalSignalDSL.g:4170:1: rule__SignalWatcher__Group__9__Impl : ( '}' ) ;
+    // InternalSignalDSL.g:4171:1: rule__SignalWatcher__Group__9__Impl : ( '}' ) ;
     public final void rule__SignalWatcher__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4174:1: ( ( '}' ) )
-            // InternalSignalDSL.g:4175:1: ( '}' )
+            // InternalSignalDSL.g:4175:1: ( ( '}' ) )
+            // InternalSignalDSL.g:4176:1: ( '}' )
             {
-            // InternalSignalDSL.g:4175:1: ( '}' )
-            // InternalSignalDSL.g:4176:2: '}'
+            // InternalSignalDSL.g:4176:1: ( '}' )
+            // InternalSignalDSL.g:4177:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getRightCurlyBracketKeyword_9()); 
             }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalWatcherAccess().getRightCurlyBracketKeyword_9()); 
             }
@@ -15321,14 +15276,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__0"
-    // InternalSignalDSL.g:4186:1: rule__SignalHandler__Group__0 : rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1 ;
+    // InternalSignalDSL.g:4187:1: rule__SignalHandler__Group__0 : rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1 ;
     public final void rule__SignalHandler__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4190:1: ( rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1 )
-            // InternalSignalDSL.g:4191:2: rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1
+            // InternalSignalDSL.g:4191:1: ( rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1 )
+            // InternalSignalDSL.g:4192:2: rule__SignalHandler__Group__0__Impl rule__SignalHandler__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__SignalHandler__Group__0__Impl();
@@ -15359,23 +15314,23 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__0__Impl"
-    // InternalSignalDSL.g:4198:1: rule__SignalHandler__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:4199:1: rule__SignalHandler__Group__0__Impl : ( () ) ;
     public final void rule__SignalHandler__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4202:1: ( ( () ) )
-            // InternalSignalDSL.g:4203:1: ( () )
+            // InternalSignalDSL.g:4203:1: ( ( () ) )
+            // InternalSignalDSL.g:4204:1: ( () )
             {
-            // InternalSignalDSL.g:4203:1: ( () )
-            // InternalSignalDSL.g:4204:2: ()
+            // InternalSignalDSL.g:4204:1: ( () )
+            // InternalSignalDSL.g:4205:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getSignalHandlerAction_0()); 
             }
-            // InternalSignalDSL.g:4205:2: ()
-            // InternalSignalDSL.g:4205:3: 
+            // InternalSignalDSL.g:4206:2: ()
+            // InternalSignalDSL.g:4206:3: 
             {
             }
 
@@ -15400,14 +15355,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__1"
-    // InternalSignalDSL.g:4213:1: rule__SignalHandler__Group__1 : rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2 ;
+    // InternalSignalDSL.g:4214:1: rule__SignalHandler__Group__1 : rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2 ;
     public final void rule__SignalHandler__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4217:1: ( rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2 )
-            // InternalSignalDSL.g:4218:2: rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2
+            // InternalSignalDSL.g:4218:1: ( rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2 )
+            // InternalSignalDSL.g:4219:2: rule__SignalHandler__Group__1__Impl rule__SignalHandler__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__SignalHandler__Group__1__Impl();
@@ -15438,22 +15393,22 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__1__Impl"
-    // InternalSignalDSL.g:4225:1: rule__SignalHandler__Group__1__Impl : ( 'handler' ) ;
+    // InternalSignalDSL.g:4226:1: rule__SignalHandler__Group__1__Impl : ( 'handler' ) ;
     public final void rule__SignalHandler__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4229:1: ( ( 'handler' ) )
-            // InternalSignalDSL.g:4230:1: ( 'handler' )
+            // InternalSignalDSL.g:4230:1: ( ( 'handler' ) )
+            // InternalSignalDSL.g:4231:1: ( 'handler' )
             {
-            // InternalSignalDSL.g:4230:1: ( 'handler' )
-            // InternalSignalDSL.g:4231:2: 'handler'
+            // InternalSignalDSL.g:4231:1: ( 'handler' )
+            // InternalSignalDSL.g:4232:2: 'handler'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getHandlerKeyword_1()); 
             }
-            match(input,69,FOLLOW_2); if (state.failed) return ;
+            match(input,65,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSignalHandlerAccess().getHandlerKeyword_1()); 
             }
@@ -15479,14 +15434,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__2"
-    // InternalSignalDSL.g:4240:1: rule__SignalHandler__Group__2 : rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3 ;
+    // InternalSignalDSL.g:4241:1: rule__SignalHandler__Group__2 : rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3 ;
     public final void rule__SignalHandler__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4244:1: ( rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3 )
-            // InternalSignalDSL.g:4245:2: rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3
+            // InternalSignalDSL.g:4245:1: ( rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3 )
+            // InternalSignalDSL.g:4246:2: rule__SignalHandler__Group__2__Impl rule__SignalHandler__Group__3
             {
             pushFollow(FOLLOW_19);
             rule__SignalHandler__Group__2__Impl();
@@ -15517,23 +15472,23 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__2__Impl"
-    // InternalSignalDSL.g:4252:1: rule__SignalHandler__Group__2__Impl : ( ( rule__SignalHandler__NameAssignment_2 ) ) ;
+    // InternalSignalDSL.g:4253:1: rule__SignalHandler__Group__2__Impl : ( ( rule__SignalHandler__NameAssignment_2 ) ) ;
     public final void rule__SignalHandler__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4256:1: ( ( ( rule__SignalHandler__NameAssignment_2 ) ) )
-            // InternalSignalDSL.g:4257:1: ( ( rule__SignalHandler__NameAssignment_2 ) )
+            // InternalSignalDSL.g:4257:1: ( ( ( rule__SignalHandler__NameAssignment_2 ) ) )
+            // InternalSignalDSL.g:4258:1: ( ( rule__SignalHandler__NameAssignment_2 ) )
             {
-            // InternalSignalDSL.g:4257:1: ( ( rule__SignalHandler__NameAssignment_2 ) )
-            // InternalSignalDSL.g:4258:2: ( rule__SignalHandler__NameAssignment_2 )
+            // InternalSignalDSL.g:4258:1: ( ( rule__SignalHandler__NameAssignment_2 ) )
+            // InternalSignalDSL.g:4259:2: ( rule__SignalHandler__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getNameAssignment_2()); 
             }
-            // InternalSignalDSL.g:4259:2: ( rule__SignalHandler__NameAssignment_2 )
-            // InternalSignalDSL.g:4259:3: rule__SignalHandler__NameAssignment_2
+            // InternalSignalDSL.g:4260:2: ( rule__SignalHandler__NameAssignment_2 )
+            // InternalSignalDSL.g:4260:3: rule__SignalHandler__NameAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandler__NameAssignment_2();
@@ -15568,14 +15523,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__3"
-    // InternalSignalDSL.g:4267:1: rule__SignalHandler__Group__3 : rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4 ;
+    // InternalSignalDSL.g:4268:1: rule__SignalHandler__Group__3 : rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4 ;
     public final void rule__SignalHandler__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4271:1: ( rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4 )
-            // InternalSignalDSL.g:4272:2: rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4
+            // InternalSignalDSL.g:4272:1: ( rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4 )
+            // InternalSignalDSL.g:4273:2: rule__SignalHandler__Group__3__Impl rule__SignalHandler__Group__4
             {
             pushFollow(FOLLOW_20);
             rule__SignalHandler__Group__3__Impl();
@@ -15606,23 +15561,23 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__3__Impl"
-    // InternalSignalDSL.g:4279:1: rule__SignalHandler__Group__3__Impl : ( ( rule__SignalHandler__ActionTypeAssignment_3 ) ) ;
+    // InternalSignalDSL.g:4280:1: rule__SignalHandler__Group__3__Impl : ( ( rule__SignalHandler__ActionTypeAssignment_3 ) ) ;
     public final void rule__SignalHandler__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4283:1: ( ( ( rule__SignalHandler__ActionTypeAssignment_3 ) ) )
-            // InternalSignalDSL.g:4284:1: ( ( rule__SignalHandler__ActionTypeAssignment_3 ) )
+            // InternalSignalDSL.g:4284:1: ( ( ( rule__SignalHandler__ActionTypeAssignment_3 ) ) )
+            // InternalSignalDSL.g:4285:1: ( ( rule__SignalHandler__ActionTypeAssignment_3 ) )
             {
-            // InternalSignalDSL.g:4284:1: ( ( rule__SignalHandler__ActionTypeAssignment_3 ) )
-            // InternalSignalDSL.g:4285:2: ( rule__SignalHandler__ActionTypeAssignment_3 )
+            // InternalSignalDSL.g:4285:1: ( ( rule__SignalHandler__ActionTypeAssignment_3 ) )
+            // InternalSignalDSL.g:4286:2: ( rule__SignalHandler__ActionTypeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getActionTypeAssignment_3()); 
             }
-            // InternalSignalDSL.g:4286:2: ( rule__SignalHandler__ActionTypeAssignment_3 )
-            // InternalSignalDSL.g:4286:3: rule__SignalHandler__ActionTypeAssignment_3
+            // InternalSignalDSL.g:4287:2: ( rule__SignalHandler__ActionTypeAssignment_3 )
+            // InternalSignalDSL.g:4287:3: rule__SignalHandler__ActionTypeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandler__ActionTypeAssignment_3();
@@ -15657,16 +15612,16 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__4"
-    // InternalSignalDSL.g:4294:1: rule__SignalHandler__Group__4 : rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5 ;
+    // InternalSignalDSL.g:4295:1: rule__SignalHandler__Group__4 : rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5 ;
     public final void rule__SignalHandler__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4298:1: ( rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5 )
-            // InternalSignalDSL.g:4299:2: rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5
+            // InternalSignalDSL.g:4299:1: ( rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5 )
+            // InternalSignalDSL.g:4300:2: rule__SignalHandler__Group__4__Impl rule__SignalHandler__Group__5
             {
-            pushFollow(FOLLOW_14);
+            pushFollow(FOLLOW_21);
             rule__SignalHandler__Group__4__Impl();
 
             state._fsp--;
@@ -15695,23 +15650,23 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__4__Impl"
-    // InternalSignalDSL.g:4306:1: rule__SignalHandler__Group__4__Impl : ( ( rule__SignalHandler__DataAssignment_4 ) ) ;
+    // InternalSignalDSL.g:4307:1: rule__SignalHandler__Group__4__Impl : ( ( rule__SignalHandler__DataAssignment_4 ) ) ;
     public final void rule__SignalHandler__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4310:1: ( ( ( rule__SignalHandler__DataAssignment_4 ) ) )
-            // InternalSignalDSL.g:4311:1: ( ( rule__SignalHandler__DataAssignment_4 ) )
+            // InternalSignalDSL.g:4311:1: ( ( ( rule__SignalHandler__DataAssignment_4 ) ) )
+            // InternalSignalDSL.g:4312:1: ( ( rule__SignalHandler__DataAssignment_4 ) )
             {
-            // InternalSignalDSL.g:4311:1: ( ( rule__SignalHandler__DataAssignment_4 ) )
-            // InternalSignalDSL.g:4312:2: ( rule__SignalHandler__DataAssignment_4 )
+            // InternalSignalDSL.g:4312:1: ( ( rule__SignalHandler__DataAssignment_4 ) )
+            // InternalSignalDSL.g:4313:2: ( rule__SignalHandler__DataAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getDataAssignment_4()); 
             }
-            // InternalSignalDSL.g:4313:2: ( rule__SignalHandler__DataAssignment_4 )
-            // InternalSignalDSL.g:4313:3: rule__SignalHandler__DataAssignment_4
+            // InternalSignalDSL.g:4314:2: ( rule__SignalHandler__DataAssignment_4 )
+            // InternalSignalDSL.g:4314:3: rule__SignalHandler__DataAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandler__DataAssignment_4();
@@ -15746,14 +15701,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__5"
-    // InternalSignalDSL.g:4321:1: rule__SignalHandler__Group__5 : rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6 ;
+    // InternalSignalDSL.g:4322:1: rule__SignalHandler__Group__5 : rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6 ;
     public final void rule__SignalHandler__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4325:1: ( rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6 )
-            // InternalSignalDSL.g:4326:2: rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6
+            // InternalSignalDSL.g:4326:1: ( rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6 )
+            // InternalSignalDSL.g:4327:2: rule__SignalHandler__Group__5__Impl rule__SignalHandler__Group__6
             {
             pushFollow(FOLLOW_21);
             rule__SignalHandler__Group__5__Impl();
@@ -15784,24 +15739,45 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__5__Impl"
-    // InternalSignalDSL.g:4333:1: rule__SignalHandler__Group__5__Impl : ( 'for' ) ;
+    // InternalSignalDSL.g:4334:1: rule__SignalHandler__Group__5__Impl : ( ( rule__SignalHandler__ExecutiontypeAssignment_5 )? ) ;
     public final void rule__SignalHandler__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4337:1: ( ( 'for' ) )
-            // InternalSignalDSL.g:4338:1: ( 'for' )
+            // InternalSignalDSL.g:4338:1: ( ( ( rule__SignalHandler__ExecutiontypeAssignment_5 )? ) )
+            // InternalSignalDSL.g:4339:1: ( ( rule__SignalHandler__ExecutiontypeAssignment_5 )? )
             {
-            // InternalSignalDSL.g:4338:1: ( 'for' )
-            // InternalSignalDSL.g:4339:2: 'for'
+            // InternalSignalDSL.g:4339:1: ( ( rule__SignalHandler__ExecutiontypeAssignment_5 )? )
+            // InternalSignalDSL.g:4340:2: ( rule__SignalHandler__ExecutiontypeAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignalHandlerAccess().getForKeyword_5()); 
+               before(grammarAccess.getSignalHandlerAccess().getExecutiontypeAssignment_5()); 
             }
-            match(input,68,FOLLOW_2); if (state.failed) return ;
+            // InternalSignalDSL.g:4341:2: ( rule__SignalHandler__ExecutiontypeAssignment_5 )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
+
+            if ( ((LA56_0>=57 && LA56_0<=58)) ) {
+                alt56=1;
+            }
+            switch (alt56) {
+                case 1 :
+                    // InternalSignalDSL.g:4341:3: rule__SignalHandler__ExecutiontypeAssignment_5
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__SignalHandler__ExecutiontypeAssignment_5();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignalHandlerAccess().getForKeyword_5()); 
+               after(grammarAccess.getSignalHandlerAccess().getExecutiontypeAssignment_5()); 
             }
 
             }
@@ -15825,14 +15801,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__6"
-    // InternalSignalDSL.g:4348:1: rule__SignalHandler__Group__6 : rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7 ;
+    // InternalSignalDSL.g:4349:1: rule__SignalHandler__Group__6 : rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7 ;
     public final void rule__SignalHandler__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4352:1: ( rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7 )
-            // InternalSignalDSL.g:4353:2: rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7
+            // InternalSignalDSL.g:4353:1: ( rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7 )
+            // InternalSignalDSL.g:4354:2: rule__SignalHandler__Group__6__Impl rule__SignalHandler__Group__7
             {
             pushFollow(FOLLOW_13);
             rule__SignalHandler__Group__6__Impl();
@@ -15863,24 +15839,24 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__6__Impl"
-    // InternalSignalDSL.g:4360:1: rule__SignalHandler__Group__6__Impl : ( 'fileMask' ) ;
+    // InternalSignalDSL.g:4361:1: rule__SignalHandler__Group__6__Impl : ( 'forFileMask' ) ;
     public final void rule__SignalHandler__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4364:1: ( ( 'fileMask' ) )
-            // InternalSignalDSL.g:4365:1: ( 'fileMask' )
+            // InternalSignalDSL.g:4365:1: ( ( 'forFileMask' ) )
+            // InternalSignalDSL.g:4366:1: ( 'forFileMask' )
             {
-            // InternalSignalDSL.g:4365:1: ( 'fileMask' )
-            // InternalSignalDSL.g:4366:2: 'fileMask'
+            // InternalSignalDSL.g:4366:1: ( 'forFileMask' )
+            // InternalSignalDSL.g:4367:2: 'forFileMask'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6()); 
+               before(grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6()); 
             }
-            match(input,70,FOLLOW_2); if (state.failed) return ;
+            match(input,66,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6()); 
+               after(grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6()); 
             }
 
             }
@@ -15904,14 +15880,14 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__7"
-    // InternalSignalDSL.g:4375:1: rule__SignalHandler__Group__7 : rule__SignalHandler__Group__7__Impl ;
+    // InternalSignalDSL.g:4376:1: rule__SignalHandler__Group__7 : rule__SignalHandler__Group__7__Impl ;
     public final void rule__SignalHandler__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4379:1: ( rule__SignalHandler__Group__7__Impl )
-            // InternalSignalDSL.g:4380:2: rule__SignalHandler__Group__7__Impl
+            // InternalSignalDSL.g:4380:1: ( rule__SignalHandler__Group__7__Impl )
+            // InternalSignalDSL.g:4381:2: rule__SignalHandler__Group__7__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandler__Group__7__Impl();
@@ -15937,23 +15913,23 @@
 
 
     // $ANTLR start "rule__SignalHandler__Group__7__Impl"
-    // InternalSignalDSL.g:4386:1: rule__SignalHandler__Group__7__Impl : ( ( rule__SignalHandler__FilemaskAssignment_7 ) ) ;
+    // InternalSignalDSL.g:4387:1: rule__SignalHandler__Group__7__Impl : ( ( rule__SignalHandler__FilemaskAssignment_7 ) ) ;
     public final void rule__SignalHandler__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4390:1: ( ( ( rule__SignalHandler__FilemaskAssignment_7 ) ) )
-            // InternalSignalDSL.g:4391:1: ( ( rule__SignalHandler__FilemaskAssignment_7 ) )
+            // InternalSignalDSL.g:4391:1: ( ( ( rule__SignalHandler__FilemaskAssignment_7 ) ) )
+            // InternalSignalDSL.g:4392:1: ( ( rule__SignalHandler__FilemaskAssignment_7 ) )
             {
-            // InternalSignalDSL.g:4391:1: ( ( rule__SignalHandler__FilemaskAssignment_7 ) )
-            // InternalSignalDSL.g:4392:2: ( rule__SignalHandler__FilemaskAssignment_7 )
+            // InternalSignalDSL.g:4392:1: ( ( rule__SignalHandler__FilemaskAssignment_7 ) )
+            // InternalSignalDSL.g:4393:2: ( rule__SignalHandler__FilemaskAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getFilemaskAssignment_7()); 
             }
-            // InternalSignalDSL.g:4393:2: ( rule__SignalHandler__FilemaskAssignment_7 )
-            // InternalSignalDSL.g:4393:3: rule__SignalHandler__FilemaskAssignment_7
+            // InternalSignalDSL.g:4394:2: ( rule__SignalHandler__FilemaskAssignment_7 )
+            // InternalSignalDSL.g:4394:3: rule__SignalHandler__FilemaskAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__SignalHandler__FilemaskAssignment_7();
@@ -15988,14 +15964,14 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__0"
-    // InternalSignalDSL.g:4402:1: rule__ListTransfer__Group__0 : rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1 ;
+    // InternalSignalDSL.g:4403:1: rule__ListTransfer__Group__0 : rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1 ;
     public final void rule__ListTransfer__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4406:1: ( rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1 )
-            // InternalSignalDSL.g:4407:2: rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1
+            // InternalSignalDSL.g:4407:1: ( rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1 )
+            // InternalSignalDSL.g:4408:2: rule__ListTransfer__Group__0__Impl rule__ListTransfer__Group__1
             {
             pushFollow(FOLLOW_20);
             rule__ListTransfer__Group__0__Impl();
@@ -16026,23 +16002,23 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__0__Impl"
-    // InternalSignalDSL.g:4414:1: rule__ListTransfer__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:4415:1: rule__ListTransfer__Group__0__Impl : ( () ) ;
     public final void rule__ListTransfer__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4418:1: ( ( () ) )
-            // InternalSignalDSL.g:4419:1: ( () )
+            // InternalSignalDSL.g:4419:1: ( ( () ) )
+            // InternalSignalDSL.g:4420:1: ( () )
             {
-            // InternalSignalDSL.g:4419:1: ( () )
-            // InternalSignalDSL.g:4420:2: ()
+            // InternalSignalDSL.g:4420:1: ( () )
+            // InternalSignalDSL.g:4421:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getListTransferAccess().getListTransferAction_0()); 
             }
-            // InternalSignalDSL.g:4421:2: ()
-            // InternalSignalDSL.g:4421:3: 
+            // InternalSignalDSL.g:4422:2: ()
+            // InternalSignalDSL.g:4422:3: 
             {
             }
 
@@ -16067,16 +16043,16 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__1"
-    // InternalSignalDSL.g:4429:1: rule__ListTransfer__Group__1 : rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2 ;
+    // InternalSignalDSL.g:4430:1: rule__ListTransfer__Group__1 : rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2 ;
     public final void rule__ListTransfer__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4433:1: ( rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2 )
-            // InternalSignalDSL.g:4434:2: rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2
+            // InternalSignalDSL.g:4434:1: ( rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2 )
+            // InternalSignalDSL.g:4435:2: rule__ListTransfer__Group__1__Impl rule__ListTransfer__Group__2
             {
-            pushFollow(FOLLOW_22);
+            pushFollow(FOLLOW_8);
             rule__ListTransfer__Group__1__Impl();
 
             state._fsp--;
@@ -16105,22 +16081,22 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__1__Impl"
-    // InternalSignalDSL.g:4441:1: rule__ListTransfer__Group__1__Impl : ( 'DataTransfer' ) ;
+    // InternalSignalDSL.g:4442:1: rule__ListTransfer__Group__1__Impl : ( 'DataTransfer' ) ;
     public final void rule__ListTransfer__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4445:1: ( ( 'DataTransfer' ) )
-            // InternalSignalDSL.g:4446:1: ( 'DataTransfer' )
+            // InternalSignalDSL.g:4446:1: ( ( 'DataTransfer' ) )
+            // InternalSignalDSL.g:4447:1: ( 'DataTransfer' )
             {
-            // InternalSignalDSL.g:4446:1: ( 'DataTransfer' )
-            // InternalSignalDSL.g:4447:2: 'DataTransfer'
+            // InternalSignalDSL.g:4447:1: ( 'DataTransfer' )
+            // InternalSignalDSL.g:4448:2: 'DataTransfer'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getListTransferAccess().getDataTransferKeyword_1()); 
             }
-            match(input,71,FOLLOW_2); if (state.failed) return ;
+            match(input,67,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getListTransferAccess().getDataTransferKeyword_1()); 
             }
@@ -16146,14 +16122,14 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__2"
-    // InternalSignalDSL.g:4456:1: rule__ListTransfer__Group__2 : rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3 ;
+    // InternalSignalDSL.g:4457:1: rule__ListTransfer__Group__2 : rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3 ;
     public final void rule__ListTransfer__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4460:1: ( rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3 )
-            // InternalSignalDSL.g:4461:2: rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3
+            // InternalSignalDSL.g:4461:1: ( rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3 )
+            // InternalSignalDSL.g:4462:2: rule__ListTransfer__Group__2__Impl rule__ListTransfer__Group__3
             {
             pushFollow(FOLLOW_22);
             rule__ListTransfer__Group__2__Impl();
@@ -16184,45 +16160,24 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__2__Impl"
-    // InternalSignalDSL.g:4468:1: rule__ListTransfer__Group__2__Impl : ( ( rule__ListTransfer__ExecutiontypeAssignment_2 )? ) ;
+    // InternalSignalDSL.g:4469:1: rule__ListTransfer__Group__2__Impl : ( '{' ) ;
     public final void rule__ListTransfer__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4472:1: ( ( ( rule__ListTransfer__ExecutiontypeAssignment_2 )? ) )
-            // InternalSignalDSL.g:4473:1: ( ( rule__ListTransfer__ExecutiontypeAssignment_2 )? )
+            // InternalSignalDSL.g:4473:1: ( ( '{' ) )
+            // InternalSignalDSL.g:4474:1: ( '{' )
             {
-            // InternalSignalDSL.g:4473:1: ( ( rule__ListTransfer__ExecutiontypeAssignment_2 )? )
-            // InternalSignalDSL.g:4474:2: ( rule__ListTransfer__ExecutiontypeAssignment_2 )?
+            // InternalSignalDSL.g:4474:1: ( '{' )
+            // InternalSignalDSL.g:4475:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getExecutiontypeAssignment_2()); 
+               before(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            // InternalSignalDSL.g:4475:2: ( rule__ListTransfer__ExecutiontypeAssignment_2 )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
-
-            if ( ((LA55_0>=61 && LA55_0<=62)) ) {
-                alt55=1;
-            }
-            switch (alt55) {
-                case 1 :
-                    // InternalSignalDSL.g:4475:3: rule__ListTransfer__ExecutiontypeAssignment_2
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__ListTransfer__ExecutiontypeAssignment_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getExecutiontypeAssignment_2()); 
+               after(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2()); 
             }
 
             }
@@ -16246,16 +16201,16 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__3"
-    // InternalSignalDSL.g:4483:1: rule__ListTransfer__Group__3 : rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4 ;
+    // InternalSignalDSL.g:4484:1: rule__ListTransfer__Group__3 : rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4 ;
     public final void rule__ListTransfer__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4487:1: ( rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4 )
-            // InternalSignalDSL.g:4488:2: rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4
+            // InternalSignalDSL.g:4488:1: ( rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4 )
+            // InternalSignalDSL.g:4489:2: rule__ListTransfer__Group__3__Impl rule__ListTransfer__Group__4
             {
-            pushFollow(FOLLOW_23);
+            pushFollow(FOLLOW_22);
             rule__ListTransfer__Group__3__Impl();
 
             state._fsp--;
@@ -16284,24 +16239,52 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__3__Impl"
-    // InternalSignalDSL.g:4495:1: rule__ListTransfer__Group__3__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:4496:1: rule__ListTransfer__Group__3__Impl : ( ( rule__ListTransfer__InterchangesAssignment_3 )* ) ;
     public final void rule__ListTransfer__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4499:1: ( ( '{' ) )
-            // InternalSignalDSL.g:4500:1: ( '{' )
+            // InternalSignalDSL.g:4500:1: ( ( ( rule__ListTransfer__InterchangesAssignment_3 )* ) )
+            // InternalSignalDSL.g:4501:1: ( ( rule__ListTransfer__InterchangesAssignment_3 )* )
             {
-            // InternalSignalDSL.g:4500:1: ( '{' )
-            // InternalSignalDSL.g:4501:2: '{'
+            // InternalSignalDSL.g:4501:1: ( ( rule__ListTransfer__InterchangesAssignment_3 )* )
+            // InternalSignalDSL.g:4502:2: ( rule__ListTransfer__InterchangesAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3()); 
+               before(grammarAccess.getListTransferAccess().getInterchangesAssignment_3()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            // InternalSignalDSL.g:4503:2: ( rule__ListTransfer__InterchangesAssignment_3 )*
+            loop57:
+            do {
+                int alt57=2;
+                int LA57_0 = input.LA(1);
+
+                if ( ((LA57_0>=51 && LA57_0<=52)) ) {
+                    alt57=1;
+                }
+
+
+                switch (alt57) {
+            	case 1 :
+            	    // InternalSignalDSL.g:4503:3: rule__ListTransfer__InterchangesAssignment_3
+            	    {
+            	    pushFollow(FOLLOW_23);
+            	    rule__ListTransfer__InterchangesAssignment_3();
+
+            	    state._fsp--;
+            	    if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop57;
+                }
+            } while (true);
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3()); 
+               after(grammarAccess.getListTransferAccess().getInterchangesAssignment_3()); 
             }
 
             }
@@ -16325,22 +16308,17 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__4"
-    // InternalSignalDSL.g:4510:1: rule__ListTransfer__Group__4 : rule__ListTransfer__Group__4__Impl rule__ListTransfer__Group__5 ;
+    // InternalSignalDSL.g:4511:1: rule__ListTransfer__Group__4 : rule__ListTransfer__Group__4__Impl ;
     public final void rule__ListTransfer__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4514:1: ( rule__ListTransfer__Group__4__Impl rule__ListTransfer__Group__5 )
-            // InternalSignalDSL.g:4515:2: rule__ListTransfer__Group__4__Impl rule__ListTransfer__Group__5
+            // InternalSignalDSL.g:4515:1: ( rule__ListTransfer__Group__4__Impl )
+            // InternalSignalDSL.g:4516:2: rule__ListTransfer__Group__4__Impl
             {
-            pushFollow(FOLLOW_23);
-            rule__ListTransfer__Group__4__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__ListTransfer__Group__5();
+            rule__ListTransfer__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -16363,52 +16341,24 @@
 
 
     // $ANTLR start "rule__ListTransfer__Group__4__Impl"
-    // InternalSignalDSL.g:4522:1: rule__ListTransfer__Group__4__Impl : ( ( rule__ListTransfer__InterchangesAssignment_4 )* ) ;
+    // InternalSignalDSL.g:4522:1: rule__ListTransfer__Group__4__Impl : ( '}' ) ;
     public final void rule__ListTransfer__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4526:1: ( ( ( rule__ListTransfer__InterchangesAssignment_4 )* ) )
-            // InternalSignalDSL.g:4527:1: ( ( rule__ListTransfer__InterchangesAssignment_4 )* )
+            // InternalSignalDSL.g:4526:1: ( ( '}' ) )
+            // InternalSignalDSL.g:4527:1: ( '}' )
             {
-            // InternalSignalDSL.g:4527:1: ( ( rule__ListTransfer__InterchangesAssignment_4 )* )
-            // InternalSignalDSL.g:4528:2: ( rule__ListTransfer__InterchangesAssignment_4 )*
+            // InternalSignalDSL.g:4527:1: ( '}' )
+            // InternalSignalDSL.g:4528:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getInterchangesAssignment_4()); 
+               before(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4()); 
             }
-            // InternalSignalDSL.g:4529:2: ( rule__ListTransfer__InterchangesAssignment_4 )*
-            loop56:
-            do {
-                int alt56=2;
-                int LA56_0 = input.LA(1);
-
-                if ( ((LA56_0>=51 && LA56_0<=52)) ) {
-                    alt56=1;
-                }
-
-
-                switch (alt56) {
-            	case 1 :
-            	    // InternalSignalDSL.g:4529:3: rule__ListTransfer__InterchangesAssignment_4
-            	    {
-            	    pushFollow(FOLLOW_24);
-            	    rule__ListTransfer__InterchangesAssignment_4();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop56;
-                }
-            } while (true);
-
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getInterchangesAssignment_4()); 
+               after(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4()); 
             }
 
             }
@@ -16431,89 +16381,15 @@
     // $ANTLR end "rule__ListTransfer__Group__4__Impl"
 
 
-    // $ANTLR start "rule__ListTransfer__Group__5"
-    // InternalSignalDSL.g:4537:1: rule__ListTransfer__Group__5 : rule__ListTransfer__Group__5__Impl ;
-    public final void rule__ListTransfer__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSignalDSL.g:4541:1: ( rule__ListTransfer__Group__5__Impl )
-            // InternalSignalDSL.g:4542:2: rule__ListTransfer__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__ListTransfer__Group__5__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ListTransfer__Group__5"
-
-
-    // $ANTLR start "rule__ListTransfer__Group__5__Impl"
-    // InternalSignalDSL.g:4548:1: rule__ListTransfer__Group__5__Impl : ( '}' ) ;
-    public final void rule__ListTransfer__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSignalDSL.g:4552:1: ( ( '}' ) )
-            // InternalSignalDSL.g:4553:1: ( '}' )
-            {
-            // InternalSignalDSL.g:4553:1: ( '}' )
-            // InternalSignalDSL.g:4554:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5()); 
-            }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ListTransfer__Group__5__Impl"
-
-
     // $ANTLR start "rule__SignalDatainterchange__Group__0"
-    // InternalSignalDSL.g:4564:1: rule__SignalDatainterchange__Group__0 : rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1 ;
+    // InternalSignalDSL.g:4538:1: rule__SignalDatainterchange__Group__0 : rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1 ;
     public final void rule__SignalDatainterchange__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4568:1: ( rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1 )
-            // InternalSignalDSL.g:4569:2: rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1
+            // InternalSignalDSL.g:4542:1: ( rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1 )
+            // InternalSignalDSL.g:4543:2: rule__SignalDatainterchange__Group__0__Impl rule__SignalDatainterchange__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__SignalDatainterchange__Group__0__Impl();
@@ -16544,23 +16420,23 @@
 
 
     // $ANTLR start "rule__SignalDatainterchange__Group__0__Impl"
-    // InternalSignalDSL.g:4576:1: rule__SignalDatainterchange__Group__0__Impl : ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) ) ;
+    // InternalSignalDSL.g:4550:1: rule__SignalDatainterchange__Group__0__Impl : ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) ) ;
     public final void rule__SignalDatainterchange__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4580:1: ( ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) ) )
-            // InternalSignalDSL.g:4581:1: ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) )
+            // InternalSignalDSL.g:4554:1: ( ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) ) )
+            // InternalSignalDSL.g:4555:1: ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) )
             {
-            // InternalSignalDSL.g:4581:1: ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) )
-            // InternalSignalDSL.g:4582:2: ( rule__SignalDatainterchange__DataActionAssignment_0 )
+            // InternalSignalDSL.g:4555:1: ( ( rule__SignalDatainterchange__DataActionAssignment_0 ) )
+            // InternalSignalDSL.g:4556:2: ( rule__SignalDatainterchange__DataActionAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalDatainterchangeAccess().getDataActionAssignment_0()); 
             }
-            // InternalSignalDSL.g:4583:2: ( rule__SignalDatainterchange__DataActionAssignment_0 )
-            // InternalSignalDSL.g:4583:3: rule__SignalDatainterchange__DataActionAssignment_0
+            // InternalSignalDSL.g:4557:2: ( rule__SignalDatainterchange__DataActionAssignment_0 )
+            // InternalSignalDSL.g:4557:3: rule__SignalDatainterchange__DataActionAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__SignalDatainterchange__DataActionAssignment_0();
@@ -16595,20 +16471,25 @@
 
 
     // $ANTLR start "rule__SignalDatainterchange__Group__1"
-    // InternalSignalDSL.g:4591:1: rule__SignalDatainterchange__Group__1 : rule__SignalDatainterchange__Group__1__Impl ;
+    // InternalSignalDSL.g:4565:1: rule__SignalDatainterchange__Group__1 : rule__SignalDatainterchange__Group__1__Impl rule__SignalDatainterchange__Group__2 ;
     public final void rule__SignalDatainterchange__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4595:1: ( rule__SignalDatainterchange__Group__1__Impl )
-            // InternalSignalDSL.g:4596:2: rule__SignalDatainterchange__Group__1__Impl
+            // InternalSignalDSL.g:4569:1: ( rule__SignalDatainterchange__Group__1__Impl rule__SignalDatainterchange__Group__2 )
+            // InternalSignalDSL.g:4570:2: rule__SignalDatainterchange__Group__1__Impl rule__SignalDatainterchange__Group__2
             {
-            pushFollow(FOLLOW_2);
+            pushFollow(FOLLOW_24);
             rule__SignalDatainterchange__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__SignalDatainterchange__Group__2();
+
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
@@ -16628,23 +16509,23 @@
 
 
     // $ANTLR start "rule__SignalDatainterchange__Group__1__Impl"
-    // InternalSignalDSL.g:4602:1: rule__SignalDatainterchange__Group__1__Impl : ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) ) ;
+    // InternalSignalDSL.g:4577:1: rule__SignalDatainterchange__Group__1__Impl : ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) ) ;
     public final void rule__SignalDatainterchange__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4606:1: ( ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) ) )
-            // InternalSignalDSL.g:4607:1: ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) )
+            // InternalSignalDSL.g:4581:1: ( ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) ) )
+            // InternalSignalDSL.g:4582:1: ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) )
             {
-            // InternalSignalDSL.g:4607:1: ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) )
-            // InternalSignalDSL.g:4608:2: ( rule__SignalDatainterchange__DataRefAssignment_1 )
+            // InternalSignalDSL.g:4582:1: ( ( rule__SignalDatainterchange__DataRefAssignment_1 ) )
+            // InternalSignalDSL.g:4583:2: ( rule__SignalDatainterchange__DataRefAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalDatainterchangeAccess().getDataRefAssignment_1()); 
             }
-            // InternalSignalDSL.g:4609:2: ( rule__SignalDatainterchange__DataRefAssignment_1 )
-            // InternalSignalDSL.g:4609:3: rule__SignalDatainterchange__DataRefAssignment_1
+            // InternalSignalDSL.g:4584:2: ( rule__SignalDatainterchange__DataRefAssignment_1 )
+            // InternalSignalDSL.g:4584:3: rule__SignalDatainterchange__DataRefAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__SignalDatainterchange__DataRefAssignment_1();
@@ -16678,15 +16559,178 @@
     // $ANTLR end "rule__SignalDatainterchange__Group__1__Impl"
 
 
+    // $ANTLR start "rule__SignalDatainterchange__Group__2"
+    // InternalSignalDSL.g:4592:1: rule__SignalDatainterchange__Group__2 : rule__SignalDatainterchange__Group__2__Impl rule__SignalDatainterchange__Group__3 ;
+    public final void rule__SignalDatainterchange__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:4596:1: ( rule__SignalDatainterchange__Group__2__Impl rule__SignalDatainterchange__Group__3 )
+            // InternalSignalDSL.g:4597:2: rule__SignalDatainterchange__Group__2__Impl rule__SignalDatainterchange__Group__3
+            {
+            pushFollow(FOLLOW_13);
+            rule__SignalDatainterchange__Group__2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__SignalDatainterchange__Group__3();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalDatainterchange__Group__2"
+
+
+    // $ANTLR start "rule__SignalDatainterchange__Group__2__Impl"
+    // InternalSignalDSL.g:4604:1: rule__SignalDatainterchange__Group__2__Impl : ( 'fileName' ) ;
+    public final void rule__SignalDatainterchange__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:4608:1: ( ( 'fileName' ) )
+            // InternalSignalDSL.g:4609:1: ( 'fileName' )
+            {
+            // InternalSignalDSL.g:4609:1: ( 'fileName' )
+            // InternalSignalDSL.g:4610:2: 'fileName'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2()); 
+            }
+            match(input,68,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalDatainterchange__Group__2__Impl"
+
+
+    // $ANTLR start "rule__SignalDatainterchange__Group__3"
+    // InternalSignalDSL.g:4619:1: rule__SignalDatainterchange__Group__3 : rule__SignalDatainterchange__Group__3__Impl ;
+    public final void rule__SignalDatainterchange__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:4623:1: ( rule__SignalDatainterchange__Group__3__Impl )
+            // InternalSignalDSL.g:4624:2: rule__SignalDatainterchange__Group__3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__SignalDatainterchange__Group__3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalDatainterchange__Group__3"
+
+
+    // $ANTLR start "rule__SignalDatainterchange__Group__3__Impl"
+    // InternalSignalDSL.g:4630:1: rule__SignalDatainterchange__Group__3__Impl : ( ( rule__SignalDatainterchange__FileNameAssignment_3 ) ) ;
+    public final void rule__SignalDatainterchange__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:4634:1: ( ( ( rule__SignalDatainterchange__FileNameAssignment_3 ) ) )
+            // InternalSignalDSL.g:4635:1: ( ( rule__SignalDatainterchange__FileNameAssignment_3 ) )
+            {
+            // InternalSignalDSL.g:4635:1: ( ( rule__SignalDatainterchange__FileNameAssignment_3 ) )
+            // InternalSignalDSL.g:4636:2: ( rule__SignalDatainterchange__FileNameAssignment_3 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSignalDatainterchangeAccess().getFileNameAssignment_3()); 
+            }
+            // InternalSignalDSL.g:4637:2: ( rule__SignalDatainterchange__FileNameAssignment_3 )
+            // InternalSignalDSL.g:4637:3: rule__SignalDatainterchange__FileNameAssignment_3
+            {
+            pushFollow(FOLLOW_2);
+            rule__SignalDatainterchange__FileNameAssignment_3();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSignalDatainterchangeAccess().getFileNameAssignment_3()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalDatainterchange__Group__3__Impl"
+
+
     // $ANTLR start "rule__XImportDeclaration__Group__0"
-    // InternalSignalDSL.g:4618:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
+    // InternalSignalDSL.g:4646:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
     public final void rule__XImportDeclaration__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4622:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
-            // InternalSignalDSL.g:4623:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
+            // InternalSignalDSL.g:4650:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
+            // InternalSignalDSL.g:4651:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
             {
             pushFollow(FOLLOW_25);
             rule__XImportDeclaration__Group__0__Impl();
@@ -16717,23 +16761,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__0__Impl"
-    // InternalSignalDSL.g:4630:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:4658:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
     public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4634:1: ( ( () ) )
-            // InternalSignalDSL.g:4635:1: ( () )
+            // InternalSignalDSL.g:4662:1: ( ( () ) )
+            // InternalSignalDSL.g:4663:1: ( () )
             {
-            // InternalSignalDSL.g:4635:1: ( () )
-            // InternalSignalDSL.g:4636:2: ()
+            // InternalSignalDSL.g:4663:1: ( () )
+            // InternalSignalDSL.g:4664:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getOXImportDeclarationAction_0()); 
             }
-            // InternalSignalDSL.g:4637:2: ()
-            // InternalSignalDSL.g:4637:3: 
+            // InternalSignalDSL.g:4665:2: ()
+            // InternalSignalDSL.g:4665:3: 
             {
             }
 
@@ -16758,14 +16802,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__1"
-    // InternalSignalDSL.g:4645:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
+    // InternalSignalDSL.g:4673:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
     public final void rule__XImportDeclaration__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4649:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
-            // InternalSignalDSL.g:4650:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
+            // InternalSignalDSL.g:4677:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
+            // InternalSignalDSL.g:4678:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
             {
             pushFollow(FOLLOW_26);
             rule__XImportDeclaration__Group__1__Impl();
@@ -16796,17 +16840,17 @@
 
 
     // $ANTLR start "rule__XImportDeclara